feature(plugins/home): Add support for the != operator

This patch adds support for the != operator on the VisitsApi filterBy
option.

Signed-off-by: Renan Mendes Carvalho <aitherios@gmail.com>
This commit is contained in:
Renan Mendes Carvalho
2023-09-19 11:10:11 +02:00
committed by Camila Belo
parent bc93253806
commit a1a7885ca4
4 changed files with 16 additions and 2 deletions
+1 -1
View File
@@ -296,7 +296,7 @@ export type VisitsApiQueryParams = {
}>;
filterBy?: Array<{
field: keyof Visit;
operator: '<' | '<=' | '==' | '>' | '>=' | 'contains';
operator: '<' | '<=' | '==' | '!=' | '>' | '>=' | 'contains';
value: string | number;
}>;
};
+1 -1
View File
@@ -84,7 +84,7 @@ export type VisitsApiQueryParams = {
*/
filterBy?: Array<{
field: keyof Visit;
operator: '<' | '<=' | '==' | '>' | '>=' | 'contains';
operator: '<' | '<=' | '==' | '!=' | '>' | '>=' | 'contains';
value: string | number;
}>;
};
@@ -299,6 +299,19 @@ describe('new MemoryVisitsApi()', () => {
expect(visits).toEqual([expect.objectContaining(visitsToSave[1])]);
});
it('filters by timestamp with !=', async () => {
const visits = await api.list({
filterBy: [
{ field: 'timestamp', operator: '!=', value: baseDate + 360_000 },
],
});
expect(visits).toHaveLength(2);
expect(visits).toEqual([
expect.objectContaining(visitsToSave[2]),
expect.objectContaining(visitsToSave[0]),
]);
});
it('filters by entityRef with contains', async () => {
const visits = await api.list({
filterBy: [
+1
View File
@@ -69,6 +69,7 @@ export class VisitsApiFactory implements VisitsApi {
if (filter.operator === '<') return field < filter.value;
if (filter.operator === '<=') return field <= filter.value;
if (filter.operator === '==') return field === filter.value;
if (filter.operator === '!=') return field !== filter.value;
if (filter.operator === 'contains')
return `${field}`.includes(`${filter.value}`);
return false;