[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]) => {
const filters = getInitialResourceTypeFilters();
const serializedFilters = serializeResourceTypeFilters(filters);
expect(serializedFilters)
- .toEqual(`["uuid","is_a",["${ResourceKind.PROJECT}","${ResourceKind.COLLECTION}","${ResourceKind.WORKFLOW}","${ResourceKind.PROCESS}"]],["container_requests.requesting_container_uuid","=",null]`);
+ .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 filters = deselectNode(ObjectTypeFilter.COLLECTION, true)(getInitialResourceTypeFilters());
const serializedFilters = serializeResourceTypeFilters(filters);
expect(serializedFilters)
.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.DEFINITION),
- deselectNode(ProcessTypeFilter.MAIN_PROCESS),
- deselectNode(CollectionTypeFilter.GENERAL_COLLECTION),
- deselectNode(CollectionTypeFilter.LOG_COLLECTION),
- deselectNode(CollectionTypeFilter.INTERMEDIATE_COLLECTION),
+ deselectNode(ObjectTypeFilter.DEFINITION, true),
+ deselectNode(ProcessTypeFilter.MAIN_PROCESS, true),
+ deselectNode(CollectionTypeFilter.GENERAL_COLLECTION, true),
+ deselectNode(CollectionTypeFilter.LOG_COLLECTION, true),
+ deselectNode(CollectionTypeFilter.INTERMEDIATE_COLLECTION, true),
)();
const serializedFilters = serializeResourceTypeFilters(filters);
.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.DEFINITION),
- deselectNode(ProcessTypeFilter.MAIN_PROCESS),
- deselectNode(CollectionTypeFilter.GENERAL_COLLECTION),
- deselectNode(CollectionTypeFilter.LOG_COLLECTION),
- deselectNode(CollectionTypeFilter.OUTPUT_COLLECTION),
+ deselectNode(ObjectTypeFilter.DEFINITION, true),
+ deselectNode(ProcessTypeFilter.MAIN_PROCESS, true),
+ deselectNode(CollectionTypeFilter.GENERAL_COLLECTION, true),
+ deselectNode(CollectionTypeFilter.LOG_COLLECTION, true),
+ deselectNode(CollectionTypeFilter.INTERMEDIATE_COLLECTION, true),
)();
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.DEFINITION),
- deselectNode(ProcessTypeFilter.MAIN_PROCESS),
- deselectNode(CollectionTypeFilter.OUTPUT_COLLECTION)
+ deselectNode(ObjectTypeFilter.PROJECT, true),
+ deselectNode(ObjectTypeFilter.DEFINITION, true),
+ deselectNode(ProcessTypeFilter.MAIN_PROCESS, true),
+ deselectNode(CollectionTypeFilter.OUTPUT_COLLECTION, true)
)();
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", () => {
const filters = pipe(
() => getInitialResourceTypeFilters(),
- deselectNode(ObjectTypeFilter.PROJECT),
- deselectNode(ProcessTypeFilter.CHILD_PROCESS),
- deselectNode(ObjectTypeFilter.COLLECTION),
- deselectNode(ObjectTypeFilter.DEFINITION),
+ deselectNode(ObjectTypeFilter.PROJECT, true),
+ deselectNode(ProcessTypeFilter.CHILD_PROCESS, true),
+ deselectNode(ObjectTypeFilter.COLLECTION, true),
+ deselectNode(ObjectTypeFilter.DEFINITION, true),
)();
const serializedFilters = serializeResourceTypeFilters(filters);
it("should serialize only child processes", () => {
const filters = pipe(
() => getInitialResourceTypeFilters(),
- deselectNode(ObjectTypeFilter.PROJECT),
- deselectNode(ProcessTypeFilter.MAIN_PROCESS),
- deselectNode(ObjectTypeFilter.DEFINITION),
- deselectNode(ObjectTypeFilter.COLLECTION),
+ deselectNode(ObjectTypeFilter.PROJECT, true),
+ deselectNode(ProcessTypeFilter.MAIN_PROCESS, true),
+ deselectNode(ObjectTypeFilter.DEFINITION, true),
+ deselectNode(ObjectTypeFilter.COLLECTION, true),
- selectNode(ProcessTypeFilter.CHILD_PROCESS),
+ selectNode(ProcessTypeFilter.CHILD_PROCESS, true),
)();
const serializedFilters = serializeResourceTypeFilters(filters);
it("should serialize all project types", () => {
const filters = pipe(
() => getInitialResourceTypeFilters(),
- deselectNode(ObjectTypeFilter.COLLECTION),
- deselectNode(ObjectTypeFilter.DEFINITION),
- deselectNode(ProcessTypeFilter.MAIN_PROCESS),
+ deselectNode(ObjectTypeFilter.COLLECTION, true),
+ deselectNode(ObjectTypeFilter.DEFINITION, true),
+ deselectNode(ProcessTypeFilter.MAIN_PROCESS, true),
)();
const serializedFilters = serializeResourceTypeFilters(filters);
it("should serialize filter groups", () => {
const filters = pipe(
() => getInitialResourceTypeFilters(),
- deselectNode(GroupTypeFilter.PROJECT),
- deselectNode(ObjectTypeFilter.DEFINITION),
- deselectNode(ProcessTypeFilter.MAIN_PROCESS),
- deselectNode(ObjectTypeFilter.COLLECTION),
+ deselectNode(GroupTypeFilter.PROJECT, true),
+ deselectNode(ObjectTypeFilter.DEFINITION, true),
+ deselectNode(ProcessTypeFilter.MAIN_PROCESS, true),
+ deselectNode(ObjectTypeFilter.COLLECTION, true),
)();
const serializedFilters = serializeResourceTypeFilters(filters);
it("should serialize projects (normal)", () => {
const filters = pipe(
() => getInitialResourceTypeFilters(),
- deselectNode(GroupTypeFilter.FILTER_GROUP),
- deselectNode(ObjectTypeFilter.DEFINITION),
- deselectNode(ProcessTypeFilter.MAIN_PROCESS),
- deselectNode(ObjectTypeFilter.COLLECTION),
+ deselectNode(GroupTypeFilter.FILTER_GROUP, true),
+ deselectNode(ObjectTypeFilter.DEFINITION, true),
+ deselectNode(ProcessTypeFilter.MAIN_PROCESS, true),
+ deselectNode(ObjectTypeFilter.COLLECTION, true),
)();
const serializedFilters = serializeResourceTypeFilters(filters);