X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/d416c9aa7b70da4f8998792a42616b991d882f26..bc80b56b75691f7571e3b86f3bb50cc26ce9d5b0:/src/store/resource-type-filters/resource-type-filters.test.ts diff --git a/src/store/resource-type-filters/resource-type-filters.test.ts b/src/store/resource-type-filters/resource-type-filters.test.ts index a3684507..de231d66 100644 --- a/src/store/resource-type-filters/resource-type-filters.test.ts +++ b/src/store/resource-type-filters/resource-type-filters.test.ts @@ -4,7 +4,7 @@ import { getInitialResourceTypeFilters, serializeResourceTypeFilters, ObjectTypeFilter, CollectionTypeFilter, ProcessTypeFilter, GroupTypeFilter, buildProcessStatusFilters, ProcessStatusFilter } from './resource-type-filters'; import { ResourceKind } from 'models/resource'; -import { deselectNode } from 'models/tree'; +import { selectNode, deselectNode } from 'models/tree'; import { pipe } from 'lodash/fp'; import { FilterBuilder } from 'services/api/filter-builder'; @@ -14,7 +14,7 @@ describe("buildProcessStatusFilters", () => { [ProcessStatusFilter.ONHOLD, `["state","!=","Final"],["priority","=","0"],["container.state","in",["Queued","Locked"]]`], [ProcessStatusFilter.COMPLETED, `["container.state","=","Complete"],["container.exit_code","=","0"]`], [ProcessStatusFilter.FAILED, `["container.state","=","Complete"],["container.exit_code","!=","0"]`], - [ProcessStatusFilter.QUEUED, `["container.state","=","Queued"],["priority","!=","0"]`], + [ProcessStatusFilter.QUEUED, `["container.state","in",["Queued","Locked"]],["priority","!=","0"]`], [ProcessStatusFilter.CANCELLED, `["container.state","=","Cancelled"]`], [ProcessStatusFilter.RUNNING, `["container.state","=","Running"]`], ].forEach(([status, expected]) => { @@ -31,20 +31,21 @@ describe("serializeResourceTypeFilters", () => { const filters = getInitialResourceTypeFilters(); const serializedFilters = serializeResourceTypeFilters(filters); expect(serializedFilters) - .toEqual(`["uuid","is_a",["${ResourceKind.PROJECT}","${ResourceKind.PROCESS}","${ResourceKind.COLLECTION}"]]`); + .toEqual(`["uuid","is_a",["${ResourceKind.PROJECT}","${ResourceKind.COLLECTION}","${ResourceKind.WORKFLOW}","${ResourceKind.PROCESS}"]],["collections.properties.type","not in",["log","intermediate"]],["container_requests.requesting_container_uuid","=",null]`); }); it("should serialize all but collection filters", () => { const filters = deselectNode(ObjectTypeFilter.COLLECTION)(getInitialResourceTypeFilters()); const serializedFilters = serializeResourceTypeFilters(filters); expect(serializedFilters) - .toEqual(`["uuid","is_a",["${ResourceKind.PROJECT}","${ResourceKind.PROCESS}"]]`); + .toEqual(`["uuid","is_a",["${ResourceKind.PROJECT}","${ResourceKind.WORKFLOW}","${ResourceKind.PROCESS}"]],["container_requests.requesting_container_uuid","=",null]`); }); it("should serialize output collections and projects", () => { const filters = pipe( () => getInitialResourceTypeFilters(), - deselectNode(ObjectTypeFilter.PROCESS), + deselectNode(ObjectTypeFilter.DEFINITION), + deselectNode(ProcessTypeFilter.MAIN_PROCESS), deselectNode(CollectionTypeFilter.GENERAL_COLLECTION), deselectNode(CollectionTypeFilter.LOG_COLLECTION), deselectNode(CollectionTypeFilter.INTERMEDIATE_COLLECTION), @@ -55,31 +56,33 @@ describe("serializeResourceTypeFilters", () => { .toEqual(`["uuid","is_a",["${ResourceKind.PROJECT}","${ResourceKind.COLLECTION}"]],["collections.properties.type","in",["output"]]`); }); - it("should serialize intermediate collections and projects", () => { + it("should serialize output collections and projects", () => { const filters = pipe( () => getInitialResourceTypeFilters(), - deselectNode(ObjectTypeFilter.PROCESS), + deselectNode(ObjectTypeFilter.DEFINITION), + deselectNode(ProcessTypeFilter.MAIN_PROCESS), deselectNode(CollectionTypeFilter.GENERAL_COLLECTION), deselectNode(CollectionTypeFilter.LOG_COLLECTION), - deselectNode(CollectionTypeFilter.OUTPUT_COLLECTION), + deselectNode(CollectionTypeFilter.INTERMEDIATE_COLLECTION), )(); const serializedFilters = serializeResourceTypeFilters(filters); expect(serializedFilters) - .toEqual(`["uuid","is_a",["${ResourceKind.PROJECT}","${ResourceKind.COLLECTION}"]],["collections.properties.type","in",["intermediate"]]`); + .toEqual(`["uuid","is_a",["${ResourceKind.PROJECT}","${ResourceKind.COLLECTION}"]],["collections.properties.type","in",["output"]]`); }); - it("should serialize general and log collections", () => { + it("should serialize general collections", () => { const filters = pipe( () => getInitialResourceTypeFilters(), deselectNode(ObjectTypeFilter.PROJECT), - deselectNode(ObjectTypeFilter.PROCESS), + deselectNode(ObjectTypeFilter.DEFINITION), + deselectNode(ProcessTypeFilter.MAIN_PROCESS), deselectNode(CollectionTypeFilter.OUTPUT_COLLECTION) )(); const serializedFilters = serializeResourceTypeFilters(filters); expect(serializedFilters) - .toEqual(`["uuid","is_a",["${ResourceKind.COLLECTION}"]],["collections.properties.type","not in",["output"]]`); + .toEqual(`["uuid","is_a",["${ResourceKind.COLLECTION}"]],["collections.properties.type","not in",["output","log","intermediate"]]`); }); it("should serialize only main processes", () => { @@ -87,7 +90,8 @@ describe("serializeResourceTypeFilters", () => { () => getInitialResourceTypeFilters(), deselectNode(ObjectTypeFilter.PROJECT), deselectNode(ProcessTypeFilter.CHILD_PROCESS), - deselectNode(ObjectTypeFilter.COLLECTION) + deselectNode(ObjectTypeFilter.COLLECTION), + deselectNode(ObjectTypeFilter.DEFINITION), )(); const serializedFilters = serializeResourceTypeFilters(filters); @@ -100,7 +104,10 @@ describe("serializeResourceTypeFilters", () => { () => getInitialResourceTypeFilters(), deselectNode(ObjectTypeFilter.PROJECT), deselectNode(ProcessTypeFilter.MAIN_PROCESS), - deselectNode(ObjectTypeFilter.COLLECTION) + deselectNode(ObjectTypeFilter.DEFINITION), + deselectNode(ObjectTypeFilter.COLLECTION), + + selectNode(ProcessTypeFilter.CHILD_PROCESS), )(); const serializedFilters = serializeResourceTypeFilters(filters); @@ -111,8 +118,9 @@ describe("serializeResourceTypeFilters", () => { it("should serialize all project types", () => { const filters = pipe( () => getInitialResourceTypeFilters(), - deselectNode(ObjectTypeFilter.PROCESS), deselectNode(ObjectTypeFilter.COLLECTION), + deselectNode(ObjectTypeFilter.DEFINITION), + deselectNode(ProcessTypeFilter.MAIN_PROCESS), )(); const serializedFilters = serializeResourceTypeFilters(filters); @@ -124,7 +132,8 @@ describe("serializeResourceTypeFilters", () => { const filters = pipe( () => getInitialResourceTypeFilters(), deselectNode(GroupTypeFilter.PROJECT), - deselectNode(ObjectTypeFilter.PROCESS), + deselectNode(ObjectTypeFilter.DEFINITION), + deselectNode(ProcessTypeFilter.MAIN_PROCESS), deselectNode(ObjectTypeFilter.COLLECTION), )(); @@ -137,7 +146,8 @@ describe("serializeResourceTypeFilters", () => { const filters = pipe( () => getInitialResourceTypeFilters(), deselectNode(GroupTypeFilter.FILTER_GROUP), - deselectNode(ObjectTypeFilter.PROCESS), + deselectNode(ObjectTypeFilter.DEFINITION), + deselectNode(ProcessTypeFilter.MAIN_PROCESS), deselectNode(ObjectTypeFilter.COLLECTION), )();