fix(filters): make sure the same filter attribute is transformed in all instances
Resolves https://community.vikunja.io/t/filter-setting-s/1791/13
This commit is contained in:
parent
30c1a46ed4
commit
1ebb551864
@ -117,6 +117,16 @@ describe('Filter Transformation', () => {
|
||||
|
||||
expect(transformed).toBe('project = 1 && labels = 2')
|
||||
})
|
||||
|
||||
it('should transform the same attribute multiple times', () => {
|
||||
const transformed = transformFilterStringForApi(
|
||||
'dueDate = now/d || dueDate > now/w+1w',
|
||||
nullTitleToIdResolver,
|
||||
nullTitleToIdResolver,
|
||||
)
|
||||
|
||||
expect(transformed).toBe('due_date = now/d || due_date > now/w+1w')
|
||||
})
|
||||
})
|
||||
|
||||
describe('To API', () => {
|
||||
@ -198,5 +208,15 @@ describe('Filter Transformation', () => {
|
||||
|
||||
expect(transformed).toBe('project in lorem, ipsum')
|
||||
})
|
||||
|
||||
it('should transform the same attribute multiple times', () => {
|
||||
const transformed = transformFilterStringFromApi(
|
||||
'due_date = now/d || due_date > now/w+1w',
|
||||
nullIdToTitleResolver,
|
||||
nullIdToTitleResolver,
|
||||
)
|
||||
|
||||
expect(transformed).toBe('dueDate = now/d || dueDate > now/w+1w')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
@ -127,7 +127,7 @@ export function transformFilterStringForApi(
|
||||
|
||||
// Transform all attributes to snake case
|
||||
AVAILABLE_FILTER_FIELDS.forEach(f => {
|
||||
filter = filter.replace(f, snakeCase(f))
|
||||
filter = filter.replaceAll(f, snakeCase(f))
|
||||
})
|
||||
|
||||
return filter
|
||||
@ -145,7 +145,7 @@ export function transformFilterStringFromApi(
|
||||
|
||||
// Transform all attributes from snake case
|
||||
AVAILABLE_FILTER_FIELDS.forEach(f => {
|
||||
filter = filter.replace(snakeCase(f), f)
|
||||
filter = filter.replaceAll(snakeCase(f), f)
|
||||
})
|
||||
|
||||
// Transform labels to their titles
|
||||
|
Loading…
x
Reference in New Issue
Block a user