From e2fbf50c96b240e2b7f4d453ec53e3ab2349de91 Mon Sep 17 00:00:00 2001 From: RVKen Date: Fri, 23 Jun 2017 00:57:53 -0700 Subject: [PATCH] write schemeContainer tests --- test/e2e/pages/main.js | 35 ++++++++++++++++++ test/e2e/scenarios/initial-render/test.js | 43 +++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/test/e2e/pages/main.js b/test/e2e/pages/main.js index 773ea3ce..62e576d1 100644 --- a/test/e2e/pages/main.js +++ b/test/e2e/pages/main.js @@ -51,6 +51,41 @@ module.exports = { selector: ".info > a" } } + }, + schemeContainer: { + selector: ".scheme-container", + elements: { + schemeTitle: { + selector: ".schemes-title" + }, + httpOption: { + selector: "select option" + }, + btnAuthorize: { + selector: "button" + }, + authorizationModal: { + selector: ".dialog-ux" + }, + appName: { + selector: ".auth-container h5" + }, + authorizationUrl: { + selector: ".auth-container code" + }, + flow: { + selector: ".flow code" + }, + inputClientID: { + selector: "#client_id" + }, + checkWritePetStoreAuth: { + selector: "#write:pets-checkbox-petstore_auth" + }, + checkReadPetStoreAuth: { + selector: "#read:pets-checkbox-petstore_auth" + } + } } } } diff --git a/test/e2e/scenarios/initial-render/test.js b/test/e2e/scenarios/initial-render/test.js index fdc8ef7b..5fbea302 100644 --- a/test/e2e/scenarios/initial-render/test.js +++ b/test/e2e/scenarios/initial-render/test.js @@ -125,4 +125,47 @@ describe("initial render", function () { client.end() }) }) + + describe("for scheme", function () { + let schemeContainer + beforeEach(function (client, done) { + + mainPage = client + .url("localhost:3200") + .page.main() + schemeContainer = mainPage.section.schemeContainer + done() + }) + + it("render section", function (client) { + mainPage.expect.section("@schemeContainer").to.be.visible.before(5000) + + client.end() + }) + it("render scheme option", function (client) { + schemeContainer.waitForElementVisible("@schemeTitle", 5000) + .assert.containsText("@schemeTitle", "Schemes") + .expect.element("@httpOption").to.be.selected + + client.end() + }) + + it("render authorized button", function (client) { + schemeContainer.waitForElementVisible("@btnAuthorize", 5000) + .expect.element("@btnAuthorize").to.be.visible + + client.end() + }) + it("render click event", function(client) { + schemeContainer.waitForElementVisible("@btnAuthorize", 5000) + .click("@btnAuthorize") + .assert.visible("@authorizationModal") + .assert.containsText("@appName", "Application: your-app-name") + .assert.containsText("@authorizationUrl", "http://petstore.swagger.io/oauth/dialog") + .assert.containsText("@flow", "implicit") + .assert.value("@inputClientID", "your-client-id") + + client.end() + }) + }) })