feat(core): filter category (#10212)

This commit is contained in:
Tony
2022-07-14 00:42:38 +08:00
committed by GitHub
parent 967492dcaa
commit 03117f4c50
5 changed files with 69 additions and 4 deletions
+49
View File
@@ -83,6 +83,28 @@ describe('filter', () => {
expect(parsed.items[1].title).toBe('Title5');
});
it(`filter_category`, async () => {
const response = await request.get('/test/filter?filter_category=Category0|Category1');
const parsed = await parser.parseString(response.text);
expect(parsed.items.length).toBe(2);
expect(parsed.items[0].title).toBe('Filter Title1');
expect(parsed.items[1].title).toBe('Filter Title2');
});
it(`filter_category filter_case_sensitive default`, async () => {
const response = await request.get('/test/filter?filter_category=category0|category1');
const parsed = await parser.parseString(response.text);
expect(parsed.items.length).toBe(0);
});
it(`filter_category filter_case_sensitive=false`, async () => {
const response = await request.get('/test/filter?filter_category=category0|category1&filter_case_sensitive=false');
const parsed = await parser.parseString(response.text);
expect(parsed.items.length).toBe(2);
expect(parsed.items[0].title).toBe('Filter Title1');
expect(parsed.items[1].title).toBe('Filter Title2');
});
it(`filter_time`, async () => {
const response = await request.get('/test/current_time?filter_time=25');
const parsed = await parser.parseString(response.text);
@@ -185,6 +207,33 @@ describe('filter', () => {
expect(parsed.items[2].title).toBe('Title3');
});
it(`filterout_category`, async () => {
const response = await request.get('/test/filter?filterout_category=Category0|Category1');
const parsed = await parser.parseString(response.text);
expect(parsed.items.length).toBe(5);
expect(parsed.items[0].title).toBe('Title1');
expect(parsed.items[1].title).toBe('Title2');
expect(parsed.items[2].title).toBe('Title3');
});
it(`filterout_category filter_case_sensitive default`, async () => {
const response = await request.get('/test/filter?filterout_category=category0|category1');
const parsed = await parser.parseString(response.text);
expect(parsed.items.length).toBe(7);
expect(parsed.items[0].title).toBe('Filter Title1');
expect(parsed.items[1].title).toBe('Filter Title2');
expect(parsed.items[2].title).toBe('Title1');
});
it(`filterout_category filter_case_sensitive=false`, async () => {
const response = await request.get('/test/filter?filterout_category=category0|category1&filter_case_sensitive=false');
const parsed = await parser.parseString(response.text);
expect(parsed.items.length).toBe(5);
expect(parsed.items[0].title).toBe('Title1');
expect(parsed.items[1].title).toBe('Title2');
expect(parsed.items[2].title).toBe('Title3');
});
it(`filter combination`, async () => {
const response = await request.get('/test/filter?filter_title=Filter&filter_description=Description1');
const parsed = await parser.parseString(response.text);