fix(filter): avoid filtering by the strings "true/false" when enabled (#6477)
This commit is contained in:
@@ -48,7 +48,7 @@ export default class Operations extends React.Component {
|
|||||||
let filter = layoutSelectors.currentFilter()
|
let filter = layoutSelectors.currentFilter()
|
||||||
|
|
||||||
if (filter) {
|
if (filter) {
|
||||||
if (filter !== true) {
|
if (filter !== true && filter !== "true" && filter !== "false") {
|
||||||
taggedOps = fn.opsFilter(taggedOps, filter)
|
taggedOps = fn.opsFilter(taggedOps, filter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export default class FilterContainer extends React.Component {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{filter === null || filter === false ? null :
|
{filter === null || filter === false || filter === "false" ? null :
|
||||||
<div className="filter-container">
|
<div className="filter-container">
|
||||||
<Col className="filter wrapper" mobile={12}>
|
<Col className="filter wrapper" mobile={12}>
|
||||||
<input className={classNames.join(" ")} placeholder="Filter by tag" type="text"
|
<input className={classNames.join(" ")} placeholder="Filter by tag" type="text"
|
||||||
|
|||||||
43
test/e2e-cypress/tests/bugs/6276.js
Normal file
43
test/e2e-cypress/tests/bugs/6276.js
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
describe("#6276: Query parameter filter=true is filtering by the value 'true'", () => {
|
||||||
|
describe("With filter=true", () => {
|
||||||
|
it("should display the filter bar", () => {
|
||||||
|
cy.visit("/?url=/documents/petstore.swagger.yaml&filter=true")
|
||||||
|
.get(".operation-filter-input")
|
||||||
|
.should("exist")
|
||||||
|
.should("be.empty")
|
||||||
|
.get(".opblock-tag[data-tag='pet']")
|
||||||
|
.should("exist")
|
||||||
|
.get(".opblock-tag[data-tag='store']")
|
||||||
|
.should("exist")
|
||||||
|
.get(".opblock-tag[data-tag='user']")
|
||||||
|
.should("exist")
|
||||||
|
})
|
||||||
|
})
|
||||||
|
describe("With filter=false", () => {
|
||||||
|
it("should not display the filter bar", () => {
|
||||||
|
cy.visit("/?url=/documents/petstore.swagger.yaml&filter=false")
|
||||||
|
.get(".operation-filter-input")
|
||||||
|
.should("not.exist")
|
||||||
|
.get(".opblock-tag[data-tag='pet']")
|
||||||
|
.should("exist")
|
||||||
|
.get(".opblock-tag[data-tag='store']")
|
||||||
|
.should("exist")
|
||||||
|
.get(".opblock-tag[data-tag='user']")
|
||||||
|
.should("exist")
|
||||||
|
})
|
||||||
|
})
|
||||||
|
describe("With filter=pet", () => {
|
||||||
|
it("should display the filter bar and only show the operations tagged with pet", () => {
|
||||||
|
cy.visit("/?url=/documents/petstore.swagger.yaml&filter=pet")
|
||||||
|
.get(".operation-filter-input")
|
||||||
|
.should("exist")
|
||||||
|
.should("have.value", "pet")
|
||||||
|
.get(".opblock-tag[data-tag='pet']")
|
||||||
|
.should("exist")
|
||||||
|
.get(".opblock-tag[data-tag='store']")
|
||||||
|
.should("not.exist")
|
||||||
|
.get(".opblock-tag[data-tag='user']")
|
||||||
|
.should("not.exist")
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user