Write test for UI
This commit is contained in:
@@ -1,5 +1,40 @@
|
|||||||
{
|
{
|
||||||
"pet": [
|
"pet": [
|
||||||
{"id":1,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"}
|
{
|
||||||
|
"id": 1,
|
||||||
|
"category": {
|
||||||
|
"id": 0,
|
||||||
|
"name": "string"
|
||||||
|
},
|
||||||
|
"name": "doggie",
|
||||||
|
"photoUrls": [
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
{
|
||||||
|
"id": 0,
|
||||||
|
"name": "string"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"status": "available"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"category": {
|
||||||
|
"id": 0,
|
||||||
|
"name": "string"
|
||||||
|
},
|
||||||
|
"name": "doggie",
|
||||||
|
"photoUrls": [
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
{
|
||||||
|
"id": 0,
|
||||||
|
"name": "string"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"status": "available"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
informationContainer: {
|
informationContainer: {
|
||||||
selector: ".information-container",
|
selector: ".information-container.wrapper",
|
||||||
elements: {
|
elements: {
|
||||||
title: {
|
title: {
|
||||||
selector: ".title"
|
selector: ".title"
|
||||||
@@ -55,9 +55,6 @@ module.exports = {
|
|||||||
schemeContainer: {
|
schemeContainer: {
|
||||||
selector: ".scheme-container",
|
selector: ".scheme-container",
|
||||||
elements: {
|
elements: {
|
||||||
schemeTitle: {
|
|
||||||
selector: ".schemes-title"
|
|
||||||
},
|
|
||||||
httpOption: {
|
httpOption: {
|
||||||
selector: "select option"
|
selector: "select option"
|
||||||
},
|
},
|
||||||
@@ -86,6 +83,284 @@ module.exports = {
|
|||||||
selector: "#read:pets-checkbox-petstore_auth"
|
selector: "#read:pets-checkbox-petstore_auth"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
apiWrapper: {
|
||||||
|
selector: ".swagger-ui .wrapper:nth-child(3)",
|
||||||
|
elements: {
|
||||||
|
petAPIWrapper: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1)"
|
||||||
|
},
|
||||||
|
petAPIWrapperBar: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-tag"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Post pet/ api
|
||||||
|
*/
|
||||||
|
petOperationPostContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-post:nth-of-type(1)"
|
||||||
|
},
|
||||||
|
petOperationPostTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-post:nth-of-type(1) .opblock-summary-post span.opblock-summary-path span"
|
||||||
|
},
|
||||||
|
petOperationPostCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-post:nth-of-type(1) .opblock-summary-post"
|
||||||
|
},
|
||||||
|
petOperationPostCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-post:nth-of-type(1) .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
petOperationPostTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-post:nth-of-type(1) button.try-out__btn"
|
||||||
|
},
|
||||||
|
petOperationPostTryText: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-post:nth-of-type(1) textarea.body-param__text"
|
||||||
|
},
|
||||||
|
petOperationPostExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-post:nth-of-type(1) button.execute"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Put pet/ api
|
||||||
|
*/
|
||||||
|
petOperationPutContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-put"
|
||||||
|
},
|
||||||
|
petOperationPutTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-put .opblock-summary-put span.opblock-summary-path span"
|
||||||
|
},
|
||||||
|
petOperationPutCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-put .opblock-summary-put"
|
||||||
|
},
|
||||||
|
petOperationPutCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-put .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
petOperationPutTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-put button.try-out__btn"
|
||||||
|
},
|
||||||
|
petOperationPutTryText: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-put textarea.body-param__text"
|
||||||
|
},
|
||||||
|
petOperationPutExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-put button.execute"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Get pet/
|
||||||
|
*/
|
||||||
|
petOperationGetByTagContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-deprecated"
|
||||||
|
},
|
||||||
|
petOperationGetByTagTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-deprecated .opblock-summary-get span.opblock-summary-path__deprecated span"
|
||||||
|
},
|
||||||
|
petOperationGetByTagCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-deprecated .opblock-summary-get"
|
||||||
|
},
|
||||||
|
petOperationGetByTagCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-deprecated .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
petOperationGetByTagTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-deprecated button.try-out__btn"
|
||||||
|
},
|
||||||
|
petOperationGetByTagTryAdded: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-deprecated button.json-schema-form-item-add"
|
||||||
|
},
|
||||||
|
petOperationGetByTagExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-deprecated button.execute"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Delete pet/
|
||||||
|
*/
|
||||||
|
petOperationDeleteContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-delete"
|
||||||
|
},
|
||||||
|
petOperationDeleteTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-delete .opblock-summary-delete span.opblock-summary-path span"
|
||||||
|
},
|
||||||
|
petOperationDeleteCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-delete .opblock-summary-delete"
|
||||||
|
},
|
||||||
|
petOperationDeleteCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-delete .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
petOperationDeleteTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-delete button.try-out__btn"
|
||||||
|
},
|
||||||
|
petOperationDeleteExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(1) .opblock-delete button.execute"
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ***********Store************
|
||||||
|
*/
|
||||||
|
storeAPIWrapper: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2)"
|
||||||
|
},
|
||||||
|
storeAPIWrapperBar: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-tag"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Get /store/inventory
|
||||||
|
*/
|
||||||
|
storeOperationGetContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-get:nth-of-type(1)"
|
||||||
|
},
|
||||||
|
storeOperationGetTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-get:nth-of-type(1) .opblock-summary-get span.opblock-summary-path span"
|
||||||
|
},
|
||||||
|
storeOperationGetCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-get:nth-of-type(1) .opblock-summary-get"
|
||||||
|
},
|
||||||
|
storeOperationGetCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-get:nth-of-type(1) .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
storeOperationGetTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-get:nth-of-type(1) button.try-out__btn"
|
||||||
|
},
|
||||||
|
storeOperationGetExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-get:nth-of-type(1) button.execute"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Post /store/order
|
||||||
|
*/
|
||||||
|
storeOperationPostContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-post"
|
||||||
|
},
|
||||||
|
storeOperationPostTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-post .opblock-summary-post span.opblock-summary-path span"
|
||||||
|
},
|
||||||
|
storeOperationPostCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-post .opblock-summary-post"
|
||||||
|
},
|
||||||
|
storeOperationPostCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-post .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
storeOperationPostTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-post button.try-out__btn"
|
||||||
|
},
|
||||||
|
storeOperationPostExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-post button.execute"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Delete /store/order/{orderId}
|
||||||
|
*/
|
||||||
|
storeOperationDeleteContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-delete"
|
||||||
|
},
|
||||||
|
storeOperationDeleteTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-delete .opblock-summary-delete span.opblock-summary-path span"
|
||||||
|
},
|
||||||
|
storeOperationDeleteCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-delete .opblock-summary-delete"
|
||||||
|
},
|
||||||
|
storeOperationDeleteCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-delete .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
storeOperationDeleteTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-delete button.try-out__btn"
|
||||||
|
},
|
||||||
|
storeOperationDeleteExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(2) .opblock-delete button.execute"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* *********User**************
|
||||||
|
*/
|
||||||
|
userAPIWrapper: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3)"
|
||||||
|
},
|
||||||
|
userAPIWrapperBar: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-tag"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Put /user/login
|
||||||
|
*/
|
||||||
|
userOperationPutContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-put"
|
||||||
|
},
|
||||||
|
userOperationPutTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-put .opblock-summary-put span.opblock-summary-path span"
|
||||||
|
},
|
||||||
|
userOperationPutCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-put .opblock-summary-put"
|
||||||
|
},
|
||||||
|
userOperationPutCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-put .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
userOperationPutTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-put button.try-out__btn"
|
||||||
|
},
|
||||||
|
userOperationPutExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-put button.execute"
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Delete /user
|
||||||
|
*/
|
||||||
|
userOperationDeleteContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-delete"
|
||||||
|
},
|
||||||
|
userOperationDeleteTitle: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-delete .opblock-summary-delete span.opblock-summary-path span"
|
||||||
|
},
|
||||||
|
userOperationDeleteCollpase: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-delete .opblock-summary-delete"
|
||||||
|
},
|
||||||
|
userOperationDeleteCollapseContainer: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-delete .ReactCollapse--collapse"
|
||||||
|
},
|
||||||
|
userOperationDeleteTryBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-delete button.try-out__btn"
|
||||||
|
},
|
||||||
|
userOperationDeleteExecuteBtn: {
|
||||||
|
selector: ".swagger-ui .opblock-tag-section:nth-child(3) .opblock-delete button.execute"
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/* Model Container */
|
||||||
|
modelWrapper: {
|
||||||
|
selector: ".swagger-ui .wrapper:nth-child(4)",
|
||||||
|
elements: {
|
||||||
|
modelContainer: {
|
||||||
|
selector: ".swagger-ui .models"
|
||||||
|
},
|
||||||
|
orderModel: {
|
||||||
|
selector: "section.models div.model-container:nth-child(1)"
|
||||||
|
},
|
||||||
|
orderModelCallapse: {
|
||||||
|
selector: "section.models div.model-container:nth-child(1) span.model-toggle"
|
||||||
|
},
|
||||||
|
categoryModel: {
|
||||||
|
selector: "section.models div.model-container:nth-child(2)"
|
||||||
|
},
|
||||||
|
categoryModelCallapse: {
|
||||||
|
selector: "section.models div.model-container:nth-child(2) span.model-toggle"
|
||||||
|
},
|
||||||
|
userModel: {
|
||||||
|
selector: "section.models div.model-container:nth-child(3)"
|
||||||
|
},
|
||||||
|
userModelCallapse: {
|
||||||
|
selector: "section.models div.model-container:nth-child(3) span.model-toggle"
|
||||||
|
},
|
||||||
|
tagModel: {
|
||||||
|
selector: "section.models div.model-container:nth-child(4)"
|
||||||
|
},
|
||||||
|
tagModelCallapse: {
|
||||||
|
selector: "section.models div.model-container:nth-child(4) span.model-toggle"
|
||||||
|
},
|
||||||
|
petModel: {
|
||||||
|
selector: "section.models div.model-container:nth-child(5)"
|
||||||
|
},
|
||||||
|
petModelCallapse: {
|
||||||
|
selector: "section.models div.model-container:nth-child(5) span.model-toggle"
|
||||||
|
},
|
||||||
|
apiResponseModel: {
|
||||||
|
selector: "section.models div.model-container:nth-child(6)"
|
||||||
|
},
|
||||||
|
apiResponseModelCallapse: {
|
||||||
|
selector: "section.models div.model-container:nth-child(6) span.model-toggle"
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,68 +1,17 @@
|
|||||||
describe("initial render", function () {
|
describe("render informationContainer", function () {
|
||||||
let mainPage
|
let mainPage
|
||||||
|
let informationContainer
|
||||||
|
|
||||||
describe("for topbar", function () {
|
|
||||||
let topbar
|
|
||||||
before(function (client, done) {
|
|
||||||
done()
|
|
||||||
})
|
|
||||||
|
|
||||||
after(function (client, done) {
|
|
||||||
client.end(function () {
|
|
||||||
done()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
afterEach(function (client, done) {
|
|
||||||
done()
|
|
||||||
})
|
|
||||||
|
|
||||||
beforeEach(function (client, done) {
|
|
||||||
mainPage = client
|
|
||||||
.url("localhost:3200")
|
|
||||||
.page.main()
|
|
||||||
|
|
||||||
topbar = mainPage.section.topbar
|
|
||||||
|
|
||||||
client.waitForElementVisible('.download-url-input', 5000)
|
|
||||||
.pause(1000)
|
|
||||||
.clearValue('.download-url-input')
|
|
||||||
.setValue('.download-url-input', 'http://localhost:3200/test-specs/1.json')
|
|
||||||
.click('button.download-url-button')
|
|
||||||
|
|
||||||
done()
|
|
||||||
})
|
|
||||||
|
|
||||||
it("renders section", function (client) {
|
|
||||||
mainPage.expect.section("@topbar").to.be.visible
|
|
||||||
client.end()
|
|
||||||
})
|
|
||||||
|
|
||||||
it("renders input box", function (client) {
|
|
||||||
topbar.expect.element("@inputBox").to.be.visible
|
|
||||||
client.end()
|
|
||||||
})
|
|
||||||
|
|
||||||
it("renders explore button", function (client) {
|
|
||||||
topbar.expect.element("@btnExplore").to.be.visible
|
|
||||||
|
|
||||||
client.end()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
describe("for information", function () {
|
|
||||||
let informationContainer, topbar
|
|
||||||
beforeEach(function (client, done) {
|
beforeEach(function (client, done) {
|
||||||
|
|
||||||
mainPage = client
|
mainPage = client
|
||||||
.url("localhost:3200")
|
.url("localhost:3200")
|
||||||
.page.main()
|
.page.main()
|
||||||
client.waitForElementVisible('.download-url-input', 5000)
|
client.waitForElementVisible(".download-url-input", 5000)
|
||||||
|
.pause(2000)
|
||||||
|
.clearValue(".download-url-input")
|
||||||
|
.setValue(".download-url-input", "http://localhost:3200/test-specs/1.json")
|
||||||
|
.click("button.download-url-button")
|
||||||
.pause(1000)
|
.pause(1000)
|
||||||
.clearValue('.download-url-input')
|
|
||||||
.setValue('.download-url-input', 'http://localhost:3200/test-specs/1.json')
|
|
||||||
.click('button.download-url-button')
|
|
||||||
|
|
||||||
informationContainer = mainPage.section.informationContainer
|
informationContainer = mainPage.section.informationContainer
|
||||||
|
|
||||||
@@ -70,7 +19,7 @@ describe("initial render", function () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it("renders section", function (client) {
|
it("renders section", function (client) {
|
||||||
mainPage.expect.section("@informationContainer").to.be.visible.before(5000)
|
mainPage.expect.section("@informationContainer").to.be.visible.before(8000)
|
||||||
|
|
||||||
client.end()
|
client.end()
|
||||||
})
|
})
|
||||||
@@ -138,47 +87,4 @@ describe("initial render", function () {
|
|||||||
|
|
||||||
client.end()
|
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()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
80
test/e2e/scenarios/initial-render/models.js
Normal file
80
test/e2e/scenarios/initial-render/models.js
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
describe("Render Model Wrapper", function () {
|
||||||
|
let mainPage
|
||||||
|
let modelWrapper
|
||||||
|
|
||||||
|
beforeEach(function (client, done) {
|
||||||
|
mainPage = client
|
||||||
|
.url("localhost:3200")
|
||||||
|
.page.main()
|
||||||
|
client.waitForElementVisible(".download-url-input", 5000)
|
||||||
|
.pause(2000)
|
||||||
|
.clearValue(".download-url-input")
|
||||||
|
.setValue(".download-url-input", "http://localhost:3200/test-specs/1.json")
|
||||||
|
.click("button.download-url-button")
|
||||||
|
.pause(1000)
|
||||||
|
|
||||||
|
modelWrapper = mainPage.section.modelWrapper
|
||||||
|
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
afterEach(function (client, done){
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
it("Render model wrapper", function(client){
|
||||||
|
mainPage.expect.section("@modelWrapper").to.be.visible.before(5000)
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("Testing model callapse", function(client){
|
||||||
|
modelWrapper.waitForElementVisible("@modelContainer")
|
||||||
|
.click("@modelContainer")
|
||||||
|
.assert.cssClassNotPresent("@modelContainer", "is-open")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("Testing order model", function(client){
|
||||||
|
modelWrapper.waitForElementVisible("@orderModel")
|
||||||
|
.click("@orderModelCallapse")
|
||||||
|
.assert.cssClassNotPresent("@orderModelCallapse", "callapsed")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("Testing category model", function(client){
|
||||||
|
modelWrapper.waitForElementVisible("@categoryModel")
|
||||||
|
.click("@categoryModelCallapse")
|
||||||
|
.assert.cssClassNotPresent("@categoryModelCallapse", "callapsed")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("Testing user model", function(client){
|
||||||
|
modelWrapper.waitForElementVisible("@userModel")
|
||||||
|
.click("@userModelCallapse")
|
||||||
|
.assert.cssClassNotPresent("@userModelCallapse", "callapsed")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("Testing tag model", function(client){
|
||||||
|
modelWrapper.waitForElementVisible("@tagModel")
|
||||||
|
.click("@tagModelCallapse")
|
||||||
|
.assert.cssClassNotPresent("@tagModelCallapse", "callapsed")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("Testing pet model", function(client){
|
||||||
|
modelWrapper.waitForElementVisible("@petModel")
|
||||||
|
.click("@petModelCallapse")
|
||||||
|
.assert.cssClassNotPresent("@petModelCallapse", "callapsed")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("Testing apiResponse model", function(client){
|
||||||
|
modelWrapper.waitForElementVisible("@apiResponseModel")
|
||||||
|
.click("@apiResponseModelCallapse")
|
||||||
|
.assert.cssClassNotPresent("@apiResponseModelCallapse", "callapsed")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
})
|
||||||
97
test/e2e/scenarios/initial-render/operations/pet.js
Normal file
97
test/e2e/scenarios/initial-render/operations/pet.js
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
|
||||||
|
describe("render pet api container", function () {
|
||||||
|
let mainPage
|
||||||
|
let apiWrapper
|
||||||
|
beforeEach(function (client, done) {
|
||||||
|
mainPage = client
|
||||||
|
.url("localhost:3200")
|
||||||
|
.page.main()
|
||||||
|
|
||||||
|
client.waitForElementVisible(".download-url-input", 5000)
|
||||||
|
.pause(2000)
|
||||||
|
.clearValue(".download-url-input")
|
||||||
|
.setValue(".download-url-input", "http://localhost:3200/test-specs/1.json")
|
||||||
|
.click("button.download-url-button")
|
||||||
|
.pause(1000)
|
||||||
|
|
||||||
|
apiWrapper = mainPage.section.apiWrapper
|
||||||
|
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
afterEach(function (client, done) {
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
it("render section", function (client) {
|
||||||
|
mainPage.expect.section("@apiWrapper").to.be.visible.before(5000)
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("test rendered pet container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@petAPIWrapper", 5000)
|
||||||
|
.expect.element("@petAPIWrapper").to.be.visible
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("collapse pet wrapper", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@petAPIWrapper", 5000)
|
||||||
|
.click("@petAPIWrapperBar")
|
||||||
|
.assert.cssClassNotPresent("@petAPIWrapper", "is-open")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("render post /pet api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@petOperationPostContainer", 5000)
|
||||||
|
.assert.containsText("@petOperationPostTitle", "/pet")
|
||||||
|
.click("@petOperationPostCollpase")
|
||||||
|
.waitForElementVisible("@petOperationPostCollapseContainer", 3000)
|
||||||
|
.click("@petOperationPostTryBtn")
|
||||||
|
.waitForElementVisible("@petOperationPostTryText", 1000)
|
||||||
|
.waitForElementVisible("@petOperationPostExecuteBtn", 1000)
|
||||||
|
.click("@petOperationPostTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@petOperationPostTryBtn", "cancel")
|
||||||
|
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("render put /pet api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@petOperationPutContainer", 5000)
|
||||||
|
.assert.containsText("@petOperationPutTitle", "/pet")
|
||||||
|
.click("@petOperationPutCollpase")
|
||||||
|
.waitForElementVisible("@petOperationPutCollapseContainer", 3000)
|
||||||
|
.click("@petOperationPutTryBtn")
|
||||||
|
.waitForElementVisible("@petOperationPutTryText", 1000)
|
||||||
|
.waitForElementVisible("@petOperationPutExecuteBtn", 1000)
|
||||||
|
.click("@petOperationPutTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@petOperationPutTryBtn", "cancel")
|
||||||
|
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("render get /pet api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@petOperationGetByTagContainer", 5000)
|
||||||
|
.assert.containsText("@petOperationGetByTagTitle", "/pet/findByTags")
|
||||||
|
.click("@petOperationGetByTagCollpase")
|
||||||
|
.waitForElementVisible("@petOperationGetByTagCollapseContainer", 3000)
|
||||||
|
.click("@petOperationGetByTagTryBtn")
|
||||||
|
.waitForElementVisible("@petOperationGetByTagTryAdded", 1000)
|
||||||
|
.waitForElementVisible("@petOperationGetByTagExecuteBtn", 1000)
|
||||||
|
.click("@petOperationGetByTagTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@petOperationGetByTagTryBtn", "cancel")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("render delete /pet api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@petOperationDeleteContainer", 5000)
|
||||||
|
.assert.containsText("@petOperationDeleteTitle", "/pet/{petId}")
|
||||||
|
.click("@petOperationDeleteCollpase")
|
||||||
|
.waitForElementVisible("@petOperationDeleteCollapseContainer", 3000)
|
||||||
|
.click("@petOperationDeleteTryBtn")
|
||||||
|
.waitForElementVisible("@petOperationDeleteExecuteBtn", 1000)
|
||||||
|
.click("@petOperationDeleteTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@petOperationDeleteTryBtn", "cancel")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
})
|
||||||
73
test/e2e/scenarios/initial-render/operations/store.js
Normal file
73
test/e2e/scenarios/initial-render/operations/store.js
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
describe("render store api container", function(){
|
||||||
|
let mainPage
|
||||||
|
let apiWrapper
|
||||||
|
beforeEach( function(client, done){
|
||||||
|
mainPage = client
|
||||||
|
.url("localhost:3200")
|
||||||
|
.page.main()
|
||||||
|
|
||||||
|
client.waitForElementVisible(".download-url-input", 5000)
|
||||||
|
.pause(2000)
|
||||||
|
.clearValue(".download-url-input")
|
||||||
|
.setValue(".download-url-input", "http://localhost:3200/test-specs/1.json")
|
||||||
|
.click("button.download-url-button")
|
||||||
|
.pause(1000)
|
||||||
|
|
||||||
|
apiWrapper = mainPage.section.apiWrapper
|
||||||
|
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
afterEach(function (client, done) {
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
it("test rendered store container", function(client){
|
||||||
|
apiWrapper.waitForElementVisible("@storeAPIWrapper", 5000)
|
||||||
|
.expect.element("@storeAPIWrapper").to.be.visible
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("callapse store wrapper", function(client){
|
||||||
|
apiWrapper.waitForElementVisible("@storeAPIWrapper", 5000)
|
||||||
|
.click("@storeAPIWrapperBar")
|
||||||
|
.assert.cssClassNotPresent("@storeAPIWrapper", "is-open")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("render get /store/inventory api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@storeOperationGetContainer", 5000)
|
||||||
|
.assert.containsText("@storeOperationGetTitle", "/store/inventory")
|
||||||
|
.click("@storeOperationGetCollpase")
|
||||||
|
.waitForElementVisible("@storeOperationGetCollapseContainer", 3000)
|
||||||
|
.click("@storeOperationGetTryBtn")
|
||||||
|
.waitForElementVisible("@storeOperationGetExecuteBtn", 1000)
|
||||||
|
.click("@storeOperationGetTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@storeOperationGetTryBtn", "cancel")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("render post /store/order api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@storeOperationPostContainer", 5000)
|
||||||
|
.assert.containsText("@storeOperationPostTitle", "/store/order")
|
||||||
|
.click("@storeOperationPostCollpase")
|
||||||
|
.waitForElementVisible("@storeOperationPostCollapseContainer", 3000)
|
||||||
|
.click("@storeOperationPostTryBtn")
|
||||||
|
.waitForElementVisible("@storeOperationPostExecuteBtn", 1000)
|
||||||
|
.click("@storeOperationPostTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@storeOperationPostTryBtn", "cancel")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("render delete /store/order/{orderId} api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@storeOperationDeleteContainer", 5000)
|
||||||
|
.assert.containsText("@storeOperationDeleteTitle", "/store/order/{orderId}")
|
||||||
|
.click("@storeOperationDeleteCollpase")
|
||||||
|
.waitForElementVisible("@storeOperationDeleteCollapseContainer", 3000)
|
||||||
|
.click("@storeOperationDeleteTryBtn")
|
||||||
|
.waitForElementVisible("@storeOperationDeleteExecuteBtn", 1000)
|
||||||
|
.click("@storeOperationDeleteTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@storeOperationDeleteTryBtn", "cancel")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
60
test/e2e/scenarios/initial-render/operations/user.js
Normal file
60
test/e2e/scenarios/initial-render/operations/user.js
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
describe("render user api container", function(){
|
||||||
|
let mainPage
|
||||||
|
let apiWrapper
|
||||||
|
beforeEach( function(client, done){
|
||||||
|
mainPage = client
|
||||||
|
.url("localhost:3200")
|
||||||
|
.page.main()
|
||||||
|
|
||||||
|
client.waitForElementVisible(".download-url-input", 5000)
|
||||||
|
.pause(2000)
|
||||||
|
.clearValue(".download-url-input")
|
||||||
|
.setValue(".download-url-input", "http://localhost:3200/test-specs/1.json")
|
||||||
|
.click("button.download-url-button")
|
||||||
|
.pause(1000)
|
||||||
|
|
||||||
|
apiWrapper = mainPage.section.apiWrapper
|
||||||
|
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
afterEach(function (client, done) {
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
it("test rendered user container", function(client){
|
||||||
|
apiWrapper.waitForElementVisible("@userAPIWrapper", 5000)
|
||||||
|
.expect.element("@userAPIWrapper").to.be.visible
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("callapse user wrapper", function(client){
|
||||||
|
apiWrapper.waitForElementVisible("@userAPIWrapper", 5000)
|
||||||
|
.click("@userAPIWrapperBar")
|
||||||
|
.assert.cssClassNotPresent("@userAPIWrapper", "is-open")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("render put /user/{username} api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@userOperationPutContainer", 5000)
|
||||||
|
.assert.containsText("@userOperationPutTitle", "/user/{username}")
|
||||||
|
.click("@userOperationPutCollpase")
|
||||||
|
.waitForElementVisible("@userOperationPutCollapseContainer", 3000)
|
||||||
|
.click("@userOperationPutTryBtn")
|
||||||
|
.waitForElementVisible("@userOperationPutExecuteBtn", 1000)
|
||||||
|
.click("@userOperationPutTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@userOperationPutTryBtn", "cancel")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
it("render delete /user/{username} api container", function (client) {
|
||||||
|
apiWrapper.waitForElementVisible("@userOperationDeleteContainer", 5000)
|
||||||
|
.assert.containsText("@userOperationDeleteTitle", "/user/{username}")
|
||||||
|
.click("@userOperationDeleteCollpase")
|
||||||
|
.waitForElementVisible("@userOperationDeleteCollapseContainer", 3000)
|
||||||
|
.click("@userOperationDeleteTryBtn")
|
||||||
|
.waitForElementVisible("@userOperationDeleteExecuteBtn", 1000)
|
||||||
|
.click("@userOperationDeleteTryBtn")
|
||||||
|
.assert.cssClassNotPresent("@userOperationDeleteTryBtn", "cancel")
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
})
|
||||||
50
test/e2e/scenarios/initial-render/schemes.js
Normal file
50
test/e2e/scenarios/initial-render/schemes.js
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
describe("Render scheme", function () {
|
||||||
|
let mainPage
|
||||||
|
let schemeContainer
|
||||||
|
beforeEach(function (client, done) {
|
||||||
|
|
||||||
|
mainPage = client
|
||||||
|
.url("localhost:3200")
|
||||||
|
.page.main()
|
||||||
|
|
||||||
|
client.waitForElementVisible(".download-url-input", 5000)
|
||||||
|
.pause(2000)
|
||||||
|
.clearValue(".download-url-input")
|
||||||
|
.setValue(".download-url-input", "http://localhost:3200/test-specs/1.json")
|
||||||
|
.click("button.download-url-button")
|
||||||
|
.pause(1000)
|
||||||
|
|
||||||
|
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("@httpOption", 5000)
|
||||||
|
.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()
|
||||||
|
})
|
||||||
|
})
|
||||||
52
test/e2e/scenarios/initial-render/topbar.js
Normal file
52
test/e2e/scenarios/initial-render/topbar.js
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
describe("initial render", function () {
|
||||||
|
let mainPage
|
||||||
|
describe("for topbar", function () {
|
||||||
|
let topbar
|
||||||
|
before(function (client, done) {
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
|
||||||
|
after(function (client, done) {
|
||||||
|
client.end(function () {
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
afterEach(function (client, done) {
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
|
||||||
|
beforeEach(function (client, done) {
|
||||||
|
mainPage = client
|
||||||
|
.url("localhost:3200")
|
||||||
|
.page.main()
|
||||||
|
|
||||||
|
topbar = mainPage.section.topbar
|
||||||
|
|
||||||
|
client.waitForElementVisible(".download-url-input", 10000)
|
||||||
|
.pause(2000)
|
||||||
|
.clearValue(".download-url-input")
|
||||||
|
.setValue(".download-url-input", "http://localhost:3200/test-specs/1.json")
|
||||||
|
.click("button.download-url-button")
|
||||||
|
.pause(1000)
|
||||||
|
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("renders section", function (client) {
|
||||||
|
mainPage.expect.section("@topbar").to.be.visible
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("renders input box", function (client) {
|
||||||
|
topbar.expect.element("@inputBox").to.be.visible
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
|
||||||
|
it("renders explore button", function (client) {
|
||||||
|
topbar.expect.element("@btnExplore").to.be.visible
|
||||||
|
|
||||||
|
client.end()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user