From b07068c89fc7f469aa502eabce406e928c499878 Mon Sep 17 00:00:00 2001 From: anandtiwary <52081890+anandtiwary@users.noreply.github.com> Date: Thu, 24 Mar 2022 11:05:43 -0700 Subject: [PATCH 1/2] fix: in filter parser should support string array --- .../src/filtering/filter/parser/types/in-filter-parser.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/components/src/filtering/filter/parser/types/in-filter-parser.ts b/projects/components/src/filtering/filter/parser/types/in-filter-parser.ts index b97575d5c..d1026014c 100644 --- a/projects/components/src/filtering/filter/parser/types/in-filter-parser.ts +++ b/projects/components/src/filtering/filter/parser/types/in-filter-parser.ts @@ -22,7 +22,8 @@ export class InFilterParser extends AbstractFilterParser { case FilterAttributeType.Number: return this.parseNumberArrayValue(splitFilter.rhs); case FilterAttributeType.Boolean: // Unsupported - case FilterAttributeType.StringArray: // Unsupported + case FilterAttributeType.StringArray: + return this.parseStringArrayValue(splitFilter.rhs); case FilterAttributeType.Timestamp: // Unsupported return undefined; default: From 460b651832708e1e9531d2a15d253d228e8970b4 Mon Sep 17 00:00:00 2001 From: anandtiwary <52081890+anandtiwary@users.noreply.github.com> Date: Thu, 24 Mar 2022 11:18:31 -0700 Subject: [PATCH 2/2] refactor: fix tests --- .../parser/filter-parser-lookup.service.test.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/projects/components/src/filtering/filter/parser/filter-parser-lookup.service.test.ts b/projects/components/src/filtering/filter/parser/filter-parser-lookup.service.test.ts index d2cf065e9..143286fff 100644 --- a/projects/components/src/filtering/filter/parser/filter-parser-lookup.service.test.ts +++ b/projects/components/src/filtering/filter/parser/filter-parser-lookup.service.test.ts @@ -180,6 +180,18 @@ describe('Filter Parser Lookup service', () => { value: 'myString' }); + expect( + spectator.service.lookup(FilterOperator.In).parseSplitFilter({ + attribute: getTestFilterAttribute(FilterAttributeType.StringArray), + operator: FilterOperator.In, + rhs: 'myStr, myString' + }) + ).toEqual({ + field: 'stringArrayAttribute', + operator: FilterOperator.In, + value: ['myStr', 'myString'] + }); + expect( spectator.service.lookup(FilterOperator.In).parseSplitFilter({ attribute: getTestFilterAttribute(FilterAttributeType.String),