X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/c324b64f3b26e79b4640b6f0cf55671f1a261bca..6a66e260c343d4943a68e5ca5ce205e83ba039c6:/src/services/api/filter-builder.test.ts diff --git a/src/services/api/filter-builder.test.ts b/src/services/api/filter-builder.test.ts index 5f646de5..a4e2b229 100644 --- a/src/services/api/filter-builder.test.ts +++ b/src/services/api/filter-builder.test.ts @@ -36,6 +36,12 @@ describe("FilterBuilder", () => { ).toEqual(`["etag","ilike","%etagValue%"]`); }); + it("should add 'contains' rule", () => { + expect( + filters.addContains("properties.someProp", "someValue").getFilters() + ).toEqual(`["properties.someProp","contains","someValue"]`); + }); + it("should add 'is_a' rule", () => { expect( filters.addIsA("etag", "etagValue").getFilters() @@ -60,6 +66,12 @@ describe("FilterBuilder", () => { ).toEqual(`["etag","in",["etagValue1","etagValue2"]]`); }); + it("should add 'not in' rule for set", () => { + expect( + filters.addNotIn("etag", ["etagValue1", "etagValue2"]).getFilters() + ).toEqual(`["etag","not in",["etagValue1","etagValue2"]]`); + }); + it("should add multiple rules", () => { expect( filters @@ -73,6 +85,14 @@ describe("FilterBuilder", () => { expect(new FilterBuilder() .addIn("etag", ["etagValue1", "etagValue2"], "myPrefix") .getFilters()) - .toEqual(`["my_prefix.etag","in",["etagValue1","etagValue2"]]`); + .toEqual(`["myPrefix.etag","in",["etagValue1","etagValue2"]]`); + }); + + it('should add full text search', () => { + expect( + new FilterBuilder() + .addFullTextSearch('my custom search') + .getFilters() + ).toEqual(`["any","ilike","%my%"],["any","ilike","%custom%"],["any","ilike","%search%"]`); }); });