diff --git a/modules/@ergonode/core/src/models/mappers/__tests__/gridDataMapper.test.js b/modules/@ergonode/core/src/models/mappers/__tests__/gridDataMapper.test.js index bfff687d3..f2ddcbb58 100644 --- a/modules/@ergonode/core/src/models/mappers/__tests__/gridDataMapper.test.js +++ b/modules/@ergonode/core/src/models/mappers/__tests__/gridDataMapper.test.js @@ -241,6 +241,33 @@ describe('gridDataMapper/getParsedFiltersList', () => { expect(getParsedFiltersList(filters)).toStrictEqual(result); }); + + it('Validate filters with empty records', () => { + const filters = { + 'code_2:en_GB': { + isEmptyRecord: true, + }, + code_3: { + isEmptyRecord: true, + }, + }; + + const result = [ + { + column: 'code_2', + operator: '=', + value: null, + language: 'en_GB', + }, + { + column: 'code_3', + operator: '=', + value: null, + }, + ]; + + expect(getParsedFiltersList(filters)).toStrictEqual(result); + }); }); describe('gridDataMapper/getDraftsBasedOnCellValues', () => { diff --git a/modules/@ergonode/core/src/models/mappers/gridDataMapper.js b/modules/@ergonode/core/src/models/mappers/gridDataMapper.js index ed6278e14..ae17ccaa6 100644 --- a/modules/@ergonode/core/src/models/mappers/gridDataMapper.js +++ b/modules/@ergonode/core/src/models/mappers/gridDataMapper.js @@ -60,8 +60,8 @@ export function getParsedFiltersList(filters) { && (value || value === 0))) { const parsedFilter = { column: code, - operator, - value, + operator: operator === 'isEmptyRecord' ? '=' : operator, + value: operator === 'isEmptyRecord' ? null : value, }; if (language) {