fix(deeplinking): expand containing tag when expanding an operation (#4837)
* fix(deeplinking): expand containing tag when expanding an operation * linter fixes * tighten up test cases
This commit is contained in:
@@ -77,6 +77,13 @@ export const parseDeepLinkHash = (rawHash) => ({ layoutActions, layoutSelectors,
|
||||
|
||||
const isShownKey = layoutSelectors.isShownKeyFromUrlHashArray(hashArray)
|
||||
|
||||
const [type, tagId] = isShownKey
|
||||
|
||||
if(type === "operations") {
|
||||
// we're going to show an operation, so we need to expand the tag as well
|
||||
layoutActions.show(layoutSelectors.isShownKeyFromUrlHashArray([tagId]))
|
||||
}
|
||||
|
||||
layoutActions.show(isShownKey, true) // TODO: 'show' operation tag
|
||||
layoutActions.scrollTo(isShownKey)
|
||||
}
|
||||
|
||||
@@ -71,6 +71,19 @@ describe("Deep linking feature", () => {
|
||||
.should("exist")
|
||||
})
|
||||
})
|
||||
|
||||
describe("regular Operation with `docExpansion: none` enabled", function() {
|
||||
it("should expand a tag", () => {
|
||||
cy.visit(`${baseUrl}&docExpansion=none#/myTag`)
|
||||
.get(`.opblock-tag-section.is-open`)
|
||||
.should("have.length", 1)
|
||||
})
|
||||
it("should expand an operation", () => {
|
||||
cy.visit(`${baseUrl}&docExpansion=none#/myTag/myOperation`)
|
||||
.get(`.opblock.is-open`)
|
||||
.should("have.length", 1)
|
||||
})
|
||||
})
|
||||
})
|
||||
describe("in OpenAPI 3", () => {
|
||||
const baseUrl = "/?deepLinking=true&url=/documents/features/deep-linking.swagger.yaml"
|
||||
@@ -144,5 +157,18 @@ describe("Deep linking feature", () => {
|
||||
.should("exist")
|
||||
})
|
||||
})
|
||||
|
||||
describe("regular Operation with `docExpansion: none` enabled", function () {
|
||||
it("should expand a tag", () => {
|
||||
cy.visit(`${baseUrl}&docExpansion=none#/myTag`)
|
||||
.get(`.opblock-tag-section.is-open`)
|
||||
.should("have.length", 1)
|
||||
})
|
||||
it("should expand an operation", () => {
|
||||
cy.visit(`${baseUrl}&docExpansion=none#/myTag/myOperation`)
|
||||
.get(`.opblock.is-open`)
|
||||
.should("have.length", 1)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user