directus
1import { expect, test } from 'vitest';
2import { parseFilterKey } from './parse-filter-key.js';
3
4const testCases = [
5{ key: 'test', expected: { fieldName: 'test' } },
6{ key: ' ', expected: { fieldName: '' } },
7// should only treat as function when field available
8{ key: 'fn( )', expected: { fieldName: 'fn( )' } },
9{ key: 'year(date_created)', expected: { fieldName: 'date_created', functionName: 'year' } },
10{ key: ' example ( field )', expected: { fieldName: 'field', functionName: 'example' } },
11];
12
13test.each(testCases)('should return "$expected" for "$key"', ({ key, expected }) => {
14const { fieldName, functionName } = parseFilterKey(key);
15
16expect(fieldName).toBe(expected.fieldName);
17expect(functionName).toBe(expected.functionName);
18});
19