This update required changing the configuration and test directory structure. Some tests needed to be amended as well to compensate for new Cypress APIs.
96 lines
3.4 KiB
JavaScript
96 lines
3.4 KiB
JavaScript
const clickTryItOutAndExecute = () => {
|
|
return cy
|
|
.get(".btn.try-out__btn") // expand "try it out"
|
|
.click()
|
|
.get(".btn.execute") // execute request
|
|
.click()
|
|
}
|
|
|
|
const fillInApiKeyAndAuthorise = apiKey => () => {
|
|
return cy
|
|
.get("section>input") // type api key into input
|
|
.type(apiKey)
|
|
.get(".auth-btn-wrapper > .authorize") // authorise button
|
|
.click()
|
|
}
|
|
|
|
const clickLogoutAndReauthorise = () => {
|
|
return cy
|
|
.get(".auth-btn-wrapper button:nth-child(1)") // logout button
|
|
.click()
|
|
.get(".auth-btn-wrapper > .authorize") // authorise button
|
|
.click()
|
|
}
|
|
|
|
describe("#4641: The Logout button in Authorize popup not clearing API Key", () => {
|
|
beforeEach(() => {
|
|
cy.intercept("GET", "/4641*", {
|
|
body: "OK",
|
|
}).as("request")
|
|
})
|
|
|
|
it("should include the given api key in requests", () => {
|
|
cy
|
|
.visit("/?url=/documents/bugs/4641.yaml")
|
|
.get("button.btn.authorize") // open authorize popup
|
|
.click()
|
|
.get(".modal-ux-content > :nth-child(1)") // only deal with api_key_1 for this test
|
|
.within(fillInApiKeyAndAuthorise("my_api_key"))
|
|
.get(".close-modal") // close authorise popup button
|
|
.click()
|
|
.get("#operations-default-get_4641_1") // expand the route details onClick
|
|
.click()
|
|
.within(clickTryItOutAndExecute)
|
|
.wait("@request")
|
|
.its("request")
|
|
.then((req) => {
|
|
expect(req.headers, "request headers").to.have.property("api_key_1", "my_api_key")
|
|
})
|
|
})
|
|
|
|
it("should not remember the previous auth value when you logout and reauthorise", () => {
|
|
cy
|
|
.visit("/?url=/documents/bugs/4641.yaml")
|
|
.get("button.btn.authorize") // open authorize popup
|
|
.click()
|
|
.get(".modal-ux-content > :nth-child(1)") // only deal with api_key_1 for this test
|
|
.within(fillInApiKeyAndAuthorise("my_api_key"))
|
|
.get(".modal-ux-content > :nth-child(1)") // only deal with api_key_1 for this test
|
|
.within(clickLogoutAndReauthorise)
|
|
.get(".close-modal") // close authorise popup button
|
|
.click()
|
|
.get("#operations-default-get_4641_1") // expand the route details onClick
|
|
.click()
|
|
.within(clickTryItOutAndExecute)
|
|
.wait("@request")
|
|
.its("request")
|
|
.then((req) => {
|
|
expect(req.headers, "request headers").not.to.have.property("api_key_1")
|
|
})
|
|
})
|
|
|
|
it("should only forget the value of the auth the user logged out from", () => {
|
|
cy
|
|
.visit("/?url=/documents/bugs/4641.yaml")
|
|
.get("button.btn.authorize") // open authorize popup
|
|
.click()
|
|
.get(".modal-ux-content > :nth-child(1)") // deal with api_key_1
|
|
.within(fillInApiKeyAndAuthorise("my_api_key"))
|
|
.get(".modal-ux-content > :nth-child(2)") // deal with api_key_2
|
|
.within(fillInApiKeyAndAuthorise("my_second_api_key"))
|
|
.get(".modal-ux-content > :nth-child(1)") // deal with api_key_1 again
|
|
.within(clickLogoutAndReauthorise)
|
|
.get(".close-modal") // close authorise popup button
|
|
.click()
|
|
.get("#operations-default-get_4641_2") // expand the route details onClick
|
|
.click()
|
|
.within(clickTryItOutAndExecute)
|
|
.wait("@request")
|
|
.its("request")
|
|
.then((req) => {
|
|
expect(req.headers, "request headers").not.to.have.property("api_key_1")
|
|
expect(req.headers, "request headers").to.have.property("api_key_2", "my_second_api_key")
|
|
})
|
|
})
|
|
})
|