2023-10-06 12:16:28 +00:00
|
|
|
import { expandFilter } from "../src/query-optimizer/request-expander";
|
2023-06-01 21:03:28 +00:00
|
|
|
|
|
|
|
describe("RequestExpander", () => {
|
|
|
|
test("expand filter", () => {
|
|
|
|
const a = {
|
|
|
|
authors: ["a", "b", "c"],
|
|
|
|
kinds: [1, 2, 3],
|
|
|
|
ids: ["x", "y"],
|
|
|
|
"#p": ["a"],
|
|
|
|
since: 99,
|
|
|
|
limit: 10,
|
|
|
|
};
|
2023-12-20 14:07:51 +00:00
|
|
|
expect(expandFilter(a)).toMatchObject([
|
|
|
|
{ authors: "a", kinds: 1, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "a", kinds: 1, ids: "y", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "a", kinds: 2, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "a", kinds: 2, ids: "y", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "a", kinds: 3, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "a", kinds: 3, ids: "y", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "b", kinds: 1, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "b", kinds: 1, ids: "y", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "b", kinds: 2, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "b", kinds: 2, ids: "y", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "b", kinds: 3, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "b", kinds: 3, ids: "y", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "c", kinds: 1, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "c", kinds: 1, ids: "y", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "c", kinds: 2, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "c", kinds: 2, ids: "y", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "c", kinds: 3, ids: "x", "#p": "a", since: 99, limit: 10 },
|
|
|
|
{ authors: "c", kinds: 3, ids: "y", "#p": "a", since: 99, limit: 10 },
|
2023-06-01 21:03:28 +00:00
|
|
|
]);
|
|
|
|
});
|
|
|
|
});
|