fix(filter): avoid filtering by the strings "true/false" when enabled (#6477)

This commit is contained in:
Lucia Sarni
2020-10-08 22:52:56 +02:00
committed by GitHub
parent 1b11d5cfaa
commit aa53ec24b8
3 changed files with 45 additions and 2 deletions

View File

@@ -48,7 +48,7 @@ export default class Operations extends React.Component {
let filter = layoutSelectors.currentFilter()
if (filter) {
if (filter !== true) {
if (filter !== true && filter !== "true" && filter !== "false") {
taggedOps = fn.opsFilter(taggedOps, filter)
}
}

View File

@@ -29,7 +29,7 @@ export default class FilterContainer extends React.Component {
return (
<div>
{filter === null || filter === false ? null :
{filter === null || filter === false || filter === "false" ? null :
<div className="filter-container">
<Col className="filter wrapper" mobile={12}>
<input className={classNames.join(" ")} placeholder="Filter by tag" type="text"

View 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")
})
})
})