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 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.show(isShownKey, true) // TODO: 'show' operation tag
|
||||||
layoutActions.scrollTo(isShownKey)
|
layoutActions.scrollTo(isShownKey)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,6 +71,19 @@ describe("Deep linking feature", () => {
|
|||||||
.should("exist")
|
.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", () => {
|
describe("in OpenAPI 3", () => {
|
||||||
const baseUrl = "/?deepLinking=true&url=/documents/features/deep-linking.swagger.yaml"
|
const baseUrl = "/?deepLinking=true&url=/documents/features/deep-linking.swagger.yaml"
|
||||||
@@ -144,5 +157,18 @@ describe("Deep linking feature", () => {
|
|||||||
.should("exist")
|
.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