Add tests of the new filter key
This commit is contained in:
@@ -4,6 +4,7 @@ import {
|
||||
defaultFilterSortState,
|
||||
filterAndSortRepositoriesWithResults,
|
||||
filterAndSortRepositoriesWithResultsByName,
|
||||
FilterKey,
|
||||
matchesFilter,
|
||||
SortKey,
|
||||
} from "../../src/pure/variant-analysis-filter-sort";
|
||||
@@ -42,6 +43,60 @@ describe(matchesFilter.name, () => {
|
||||
).toBe(matches);
|
||||
},
|
||||
);
|
||||
|
||||
it("returns true if filterKey is all and resultCount is positive", () => {
|
||||
expect(
|
||||
matchesFilter(
|
||||
{ repository, resultCount: 1 },
|
||||
{ ...defaultFilterSortState, filterKey: FilterKey.All },
|
||||
),
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
it("returns true if filterKey is all and resultCount is zero", () => {
|
||||
expect(
|
||||
matchesFilter(
|
||||
{ repository, resultCount: 0 },
|
||||
{ ...defaultFilterSortState, filterKey: FilterKey.All },
|
||||
),
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
it("returns true if filterKey is all and resultCount is undefined", () => {
|
||||
expect(
|
||||
matchesFilter(
|
||||
{ repository },
|
||||
{ ...defaultFilterSortState, filterKey: FilterKey.All },
|
||||
),
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
it("returns true if filterKey is withResults and resultCount is positive", () => {
|
||||
expect(
|
||||
matchesFilter(
|
||||
{ repository, resultCount: 1 },
|
||||
{ ...defaultFilterSortState, filterKey: FilterKey.WithResults },
|
||||
),
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
it("returns false if filterKey is withResults and resultCount is zero", () => {
|
||||
expect(
|
||||
matchesFilter(
|
||||
{ repository, resultCount: 0 },
|
||||
{ ...defaultFilterSortState, filterKey: FilterKey.WithResults },
|
||||
),
|
||||
).toBe(false);
|
||||
});
|
||||
|
||||
it("returns false if filterKey is withResults and resultCount is undefined", () => {
|
||||
expect(
|
||||
matchesFilter(
|
||||
{ repository },
|
||||
{ ...defaultFilterSortState, filterKey: FilterKey.WithResults },
|
||||
),
|
||||
).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe(compareRepository.name, () => {
|
||||
@@ -352,7 +407,7 @@ describe(filterAndSortRepositoriesWithResultsByName.name, () => {
|
||||
},
|
||||
];
|
||||
|
||||
describe("when sort key is given without filter", () => {
|
||||
describe("when sort key is given without search or filter", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResultsByName(repositories, {
|
||||
@@ -368,7 +423,7 @@ describe(filterAndSortRepositoriesWithResultsByName.name, () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("when sort key and search filter are given", () => {
|
||||
describe("when sort key and search are given without filter", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResultsByName(repositories, {
|
||||
@@ -379,6 +434,30 @@ describe(filterAndSortRepositoriesWithResultsByName.name, () => {
|
||||
).toEqual([repositories[2], repositories[0]]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("when sort key and filter withResults are given without search", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResultsByName(repositories, {
|
||||
...defaultFilterSortState,
|
||||
sortKey: SortKey.ResultsCount,
|
||||
filterKey: FilterKey.WithResults,
|
||||
}),
|
||||
).toEqual([repositories[3], repositories[2], repositories[0]]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("when sort key and search and filter withResults are given", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResultsByName(repositories, {
|
||||
sortKey: SortKey.ResultsCount,
|
||||
filterKey: FilterKey.WithResults,
|
||||
searchValue: "r",
|
||||
}),
|
||||
).toEqual([repositories[3]]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe(filterAndSortRepositoriesWithResults.name, () => {
|
||||
@@ -413,7 +492,7 @@ describe(filterAndSortRepositoriesWithResults.name, () => {
|
||||
},
|
||||
];
|
||||
|
||||
describe("when sort key is given without filter", () => {
|
||||
describe("when sort key is given", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResults(repositories, {
|
||||
@@ -429,7 +508,7 @@ describe(filterAndSortRepositoriesWithResults.name, () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("when sort key and search filter are given", () => {
|
||||
describe("when sort key and search are given", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResults(repositories, {
|
||||
@@ -441,12 +520,49 @@ describe(filterAndSortRepositoriesWithResults.name, () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("when sort key, search filter, and repository ids are given", () => {
|
||||
describe("when sort key and filter withResults are given", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResults(repositories, {
|
||||
...defaultFilterSortState,
|
||||
sortKey: SortKey.ResultsCount,
|
||||
filterKey: FilterKey.WithResults,
|
||||
}),
|
||||
).toEqual([repositories[3], repositories[2], repositories[0]]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("when sort key and filter withResults are given", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResults(repositories, {
|
||||
...defaultFilterSortState,
|
||||
sortKey: SortKey.ResultsCount,
|
||||
filterKey: FilterKey.WithResults,
|
||||
}),
|
||||
).toEqual([repositories[3], repositories[2], repositories[0]]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("when sort key and search and filter withResults are given", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResults(repositories, {
|
||||
...defaultFilterSortState,
|
||||
sortKey: SortKey.ResultsCount,
|
||||
filterKey: FilterKey.WithResults,
|
||||
searchValue: "r",
|
||||
}),
|
||||
).toEqual([repositories[3]]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("when sort key, search, filter withResults, and repository ids are given", () => {
|
||||
it("returns the correct results", () => {
|
||||
expect(
|
||||
filterAndSortRepositoriesWithResults(repositories, {
|
||||
sortKey: SortKey.ResultsCount,
|
||||
filterKey: FilterKey.WithResults,
|
||||
searchValue: "la",
|
||||
repositoryIds: [
|
||||
repositories[1].repository.id,
|
||||
|
||||
Reference in New Issue
Block a user