15781: Uses 'contains' filter operator to search for properties.
[arvados-workbench2.git] / src / services / api / filter-builder.test.ts
index 2ddd6bf0d337a658019192d6f5878bd838a08e46..a4e2b2290cc368afa1209eeef2a2f5e65b3e15c3 100644 (file)
@@ -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()
@@ -81,4 +87,12 @@ describe("FilterBuilder", () => {
             .getFilters())
             .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%"]`);
+    });
 });