Files
swagger-ui/test/e2e-selenium/scenarios/oas3/pet.js
kyle 1b2fbda646 meta: introduce Cypress end-to-end testing (via #4827)
* `test/e2e` -> `test/e2e-selenium`

* add Cypress

* ESLint fixes

* MOAR cypress

* `integration` -> `tests`

* wire Cypress up to a hot e2e server

* linter fixes

* don't run in CI
2018-08-23 15:10:00 -07:00

54 lines
2.8 KiB
JavaScript

describe("render pet api container", function () {
let mainPage
let apiWrapper
beforeEach(function (client, done) {
mainPage = client
.url("localhost:3230")
.page.main()
client.waitForElementVisible(".download-url-input:not([disabled])", 5000)
.pause(5000)
.clearValue(".download-url-input")
.setValue(".download-url-input", "http://localhost:3230/test-specs/petstore.openapi.yaml")
.click("button.download-url-button")
.pause(1000)
apiWrapper = mainPage.section.apiWrapper
done()
})
afterEach(function (client, done) {
done()
})
describe("GET /pet/{petId}", () => {
it("should render Try-It-Out flow correctly", function (client) {
apiWrapper.waitForElementVisible("#operations-pet-updatePetWithForm", 10000)
.assert.containsText("#operations-pet-updatePetWithForm > div > span.opblock-summary-path > a > span", "/pet")
.click("#operations-pet-updatePetWithForm")
.waitForElementVisible("#operations-pet-updatePetWithForm > div:nth-child(2) > div", 5000)
.click("#operations-pet-updatePetWithForm > div:nth-child(2) > div > div.opblock-section > div.opblock-section-header > div.try-out > button")
.waitForElementVisible("#operations-pet-updatePetWithForm > div:nth-child(2) > div > div.execute-wrapper > button", 1000)
.click("#operations-pet-updatePetWithForm > div:nth-child(2) > div > div.execute-wrapper > button")
.assert.cssClassNotPresent("#operations-pet-updatePetWithForm > div:nth-child(2) > div > div.execute-wrapper > button", "cancel")
client.end()
})
it("should have stable input values", function (client) {
client.waitForElementVisible("#operations-pet-updatePetWithForm", 10000)
.assert.containsText("#operations-pet-updatePetWithForm > div > span.opblock-summary-path > a > span", "/pet")
.click("#operations-pet-updatePetWithForm")
.waitForElementVisible("#operations-pet-updatePetWithForm > div:nth-child(2) > div", 5000)
.click("#operations-pet-updatePetWithForm > div:nth-child(2) > div > div.opblock-section > div.opblock-section-header > div.try-out > button")
.waitForElementVisible("#operations-pet-updatePetWithForm > div:nth-child(2) > div > div.execute-wrapper > button", 1000)
.setValue("#operations-pet-updatePetWithForm td.parameters-col_description > input", "12345")
.click("#operations-pet-updatePetWithForm > div:nth-child(2) > div > div.execute-wrapper > button")
.pause(800) // for swagger-api/swagger-ui#4269, which happens above 350ms
.assert.containsText("#operations-pet-updatePetWithForm div.responses-inner > div > div > div:nth-child(2) > div > pre", "http://localhost:3204/pet/12345")
.assert.value("#operations-pet-updatePetWithForm td.parameters-col_description > input", "12345")
client.end()
})
})
})