mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-11-05 16:07:52 +08:00
fix filtering jests
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import { HistoryFilters } from "components/History/HistoryFilters";
|
||||
import { PublishedWorkflowFilters } from "components/Workflow/WorkflowFilters";
|
||||
import { WorkflowFilters } from "components/Workflow/WorkflowFilters";
|
||||
|
||||
describe("test filtering helpers to convert filters to filter text", () => {
|
||||
const MyWorkflowFilters = WorkflowFilters("my");
|
||||
const PublishedWorkflowFilters = WorkflowFilters("published");
|
||||
it("conversion from filters to new filter text", async () => {
|
||||
const normalized = HistoryFilters.defaultFilters;
|
||||
expect(Object.keys(normalized).length).toBe(2);
|
||||
@@ -10,7 +12,7 @@ describe("test filtering helpers to convert filters to filter text", () => {
|
||||
});
|
||||
|
||||
it("verify the existence of defaults", async () => {
|
||||
let filters = {};
|
||||
const filters = {};
|
||||
Object.entries(HistoryFilters.defaultFilters).forEach(([key, value]) => {
|
||||
filters[key] = value;
|
||||
});
|
||||
@@ -22,13 +24,6 @@ describe("test filtering helpers to convert filters to filter text", () => {
|
||||
expect(HistoryFilters.containsDefaults(filters)).toBe(false);
|
||||
filters["visible"] = String(HistoryFilters.defaultFilters.visible).toUpperCase();
|
||||
expect(HistoryFilters.containsDefaults(filters)).toBe(true);
|
||||
filters = {};
|
||||
Object.entries(PublishedWorkflowFilters.defaultFilters).forEach(([key, value]) => {
|
||||
filters[key] = value;
|
||||
});
|
||||
expect(PublishedWorkflowFilters.containsDefaults(filters)).toBe(true);
|
||||
filters["published"] = !PublishedWorkflowFilters.defaultFilters.published;
|
||||
expect(PublishedWorkflowFilters.containsDefaults(filters)).toBe(false);
|
||||
});
|
||||
|
||||
it("verify correct conversion of filters", async () => {
|
||||
@@ -37,14 +32,16 @@ describe("test filtering helpers to convert filters to filter text", () => {
|
||||
visible: HistoryFilters.defaultFilters.visible,
|
||||
name: "name",
|
||||
other: "other",
|
||||
tag: ["tag1", "tag2"],
|
||||
tag: ["tag1", "'tag2'", "'#tag3'"],
|
||||
genome_build: "",
|
||||
published: PublishedWorkflowFilters.defaultFilters.published,
|
||||
published: true,
|
||||
};
|
||||
const validHistFilters = HistoryFilters.getValidFilters(filters);
|
||||
const validHistFilters = HistoryFilters.getValidFilters(filters).validFilters;
|
||||
expect(Object.keys(validHistFilters)).toEqual(["deleted", "visible", "name"]);
|
||||
const validWfFilters = PublishedWorkflowFilters.getValidFilters(filters);
|
||||
expect(Object.keys(validWfFilters)).toEqual(["deleted", "name", "tag", "published"]);
|
||||
const validMyWfFilters = MyWorkflowFilters.getValidFilters(filters).validFilters;
|
||||
expect(Object.keys(validMyWfFilters)).toEqual(["deleted", "name", "tag", "published"]);
|
||||
const validPubWfFilters = PublishedWorkflowFilters.getValidFilters(filters).validFilters;
|
||||
expect(Object.keys(validPubWfFilters)).toEqual(["name", "tag"]);
|
||||
|
||||
expect(HistoryFilters.getFilterText(filters)).toBe("name:name");
|
||||
filters["visible"] = !HistoryFilters.defaultFilters.visible;
|
||||
@@ -52,15 +49,27 @@ describe("test filtering helpers to convert filters to filter text", () => {
|
||||
filters["visible"] = HistoryFilters.defaultFilters.visible;
|
||||
expect(HistoryFilters.getFilterText(filters)).toBe("name:name");
|
||||
|
||||
expect(PublishedWorkflowFilters.getFilterText(filters, true)).toBe("name:name tag:tag1 tag:tag2 is:published");
|
||||
// non-backend filter text keeps filters as is
|
||||
expect(MyWorkflowFilters.getFilterText(filters)).toBe("name:name tag:tag1 tag:'tag2' tag:'#tag3' is:published");
|
||||
|
||||
// backend filter text adjusts name tag by replacing `#` with `name:`
|
||||
expect(MyWorkflowFilters.getFilterText(filters, true)).toBe(
|
||||
"name:name tag:tag1 tag:'tag2' tag:'name:tag3' is:published"
|
||||
);
|
||||
|
||||
expect(PublishedWorkflowFilters.getFilterText(filters, true)).toBe(
|
||||
"name:name tag:tag1 tag:'tag2' tag:'name:tag3'"
|
||||
);
|
||||
delete filters["published"];
|
||||
expect(PublishedWorkflowFilters.getFilterText(filters, true)).toBe("name:name tag:tag1 tag:tag2");
|
||||
expect(MyWorkflowFilters.getFilterText(filters, true)).toBe("name:name tag:tag1 tag:'tag2' tag:'name:tag3'");
|
||||
});
|
||||
});
|
||||
|
||||
describe("test filtering helpers to convert filter text to filters", () => {
|
||||
const PublishedWorkflowFilters = WorkflowFilters("published");
|
||||
function getFilters(filteringClass, filterText) {
|
||||
return filteringClass.getValidFilters(Object.fromEntries(filteringClass.getFiltersForText(filterText)));
|
||||
return filteringClass.getValidFilters(Object.fromEntries(filteringClass.getFiltersForText(filterText)))
|
||||
.validFilters;
|
||||
}
|
||||
|
||||
it("verify the existence of defaults", async () => {
|
||||
@@ -74,11 +83,6 @@ describe("test filtering helpers to convert filter text to filters", () => {
|
||||
expect(HistoryFilters.containsDefaults(getFilters(HistoryFilters, filterText))).toBe(false);
|
||||
filterText = "deleted:false visible:true";
|
||||
expect(HistoryFilters.containsDefaults(getFilters(HistoryFilters, filterText))).toBe(true);
|
||||
|
||||
filterText = "";
|
||||
expect(PublishedWorkflowFilters.containsDefaults(getFilters(PublishedWorkflowFilters, filterText))).toBe(true);
|
||||
filterText = "is:published is:deleted";
|
||||
expect(PublishedWorkflowFilters.containsDefaults(getFilters(PublishedWorkflowFilters, filterText))).toBe(true);
|
||||
});
|
||||
|
||||
it("verify correct conversion of filterText (HistoryFilters)", async () => {
|
||||
@@ -104,17 +108,14 @@ describe("test filtering helpers to convert filter text to filters", () => {
|
||||
|
||||
it("verify correct conversion of filterText (PublishedWorkflowFilters)", async () => {
|
||||
const filters = {
|
||||
published: PublishedWorkflowFilters.defaultFilters.published,
|
||||
name: "name",
|
||||
};
|
||||
let filterText = "name:name";
|
||||
let filterText = "name:name is:published";
|
||||
expect(getFilters(PublishedWorkflowFilters, filterText)).toEqual(filters);
|
||||
filterText = "published:false name:name";
|
||||
// filters["visible"] = !PublishedWorkflowFilters.defaultFilters.visible;
|
||||
// delete filters["deleted"];
|
||||
expect(getFilters(PublishedWorkflowFilters, filterText)).toEqual(filters);
|
||||
filterText = "name:name invalid:invalid is:deleted";
|
||||
filters["deleted"] = true;
|
||||
filterText = "name:name invalid:invalid user:testUser";
|
||||
filters["user"] = "testUser";
|
||||
expect(getFilters(PublishedWorkflowFilters, filterText)).toEqual(filters);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -14,6 +14,10 @@ const sampleFilters = [
|
||||
validFilters: {
|
||||
deleted: true,
|
||||
},
|
||||
invalidFilters: {
|
||||
invalid: "value",
|
||||
visible: null,
|
||||
},
|
||||
validText: "deleted:true visible:any",
|
||||
},
|
||||
{
|
||||
@@ -28,6 +32,9 @@ const sampleFilters = [
|
||||
related: 10,
|
||||
hid_gt: 5,
|
||||
},
|
||||
invalidFilters: {
|
||||
hid_less_than: 20,
|
||||
},
|
||||
validText: "deleted:any related:10 hid>5 visible:any",
|
||||
},
|
||||
];
|
||||
@@ -90,7 +97,9 @@ describe("filtering", () => {
|
||||
});
|
||||
test("parse get valid filters and settings", () => {
|
||||
sampleFilters.forEach((sample) => {
|
||||
expect(HistoryFilters.getValidFilters(sample.filters)).toEqual(sample.validFilters);
|
||||
const { validFilters, invalidFilters } = HistoryFilters.getValidFilters(sample.filters);
|
||||
expect(validFilters).toEqual(sample.validFilters);
|
||||
expect(invalidFilters).toEqual(sample.invalidFilters);
|
||||
expect(HistoryFilters.getFilterText(sample.filters)).toEqual(sample.validText);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user