diff --git a/src/utils/__tests__/index.ts b/src/utils/__tests__/index.ts index f0b6c156d3..b9457c4766 100644 --- a/src/utils/__tests__/index.ts +++ b/src/utils/__tests__/index.ts @@ -2302,8 +2302,8 @@ describe('assetComplianceResultToRequirementCompliance', () => { Identity: dsMockUtils.createMockIdentityId(tokenDid), }); const issuers = issuerDids.map(dsMockUtils.createMockIdentityId); + /* eslint-disable @typescript-eslint/camelcase */ const rawConditions = [ - /* eslint-disable @typescript-eslint/camelcase */ dsMockUtils.createMockCondition({ condition_type: dsMockUtils.createMockConditionType({ IsPresent: dsMockUtils.createMockClaim({ KnowYourCustomer: scope }), @@ -2337,24 +2337,35 @@ describe('assetComplianceResultToRequirementCompliance', () => { issuers, }), ]; - const assetComplianceResult = dsMockUtils.createMockAssetComplianceResult({ - paused: dsMockUtils.createMockBool(false), - requirements: [ - dsMockUtils.createMockComplianceRequirementResult({ - sender_conditions: [rawConditions[0], rawConditions[2], rawConditions[3]], - receiver_conditions: [rawConditions[0], rawConditions[1], rawConditions[3]], - id: dsMockUtils.createMockU32(1), - result: dsMockUtils.createMockBool(false), - }), - ], + + const rawRequirements = dsMockUtils.createMockComplianceRequirementResult({ + sender_conditions: [rawConditions[0], rawConditions[2], rawConditions[3]], + receiver_conditions: [rawConditions[0], rawConditions[1], rawConditions[3]], + id: dsMockUtils.createMockU32(1), result: dsMockUtils.createMockBool(false), }); /* eslint-enable @typescript-eslint/camelcase */ - const result = assetComplianceResultToRequirementCompliance(assetComplianceResult); + let assetComplianceResult = dsMockUtils.createMockAssetComplianceResult({ + paused: dsMockUtils.createMockBool(true), + requirements: [rawRequirements], + result: dsMockUtils.createMockBool(true), + }); + + let result = assetComplianceResultToRequirementCompliance(assetComplianceResult); expect(result.requirements[0].conditions).toEqual( expect.arrayContaining(fakeResult.conditions) ); + expect(result.complies).toBeTruthy(); + + assetComplianceResult = dsMockUtils.createMockAssetComplianceResult({ + paused: dsMockUtils.createMockBool(false), + requirements: [rawRequirements], + result: dsMockUtils.createMockBool(true), + }); + + result = assetComplianceResultToRequirementCompliance(assetComplianceResult); + expect(result.complies).toBeTruthy(); }); }); diff --git a/src/utils/index.ts b/src/utils/index.ts index 3a61a641ea..0cb2ffdb17 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1407,7 +1407,7 @@ export function portfolioIdToMeshPortfolioId( export function assetComplianceResultToRequirementCompliance( assetComplianceResult: AssetComplianceResult ): RequirementCompliance { - const { requirements: rawRequirements, result } = assetComplianceResult; + const { requirements: rawRequirements, result, paused } = assetComplianceResult; const requirements = rawRequirements.map(requirement => ({ ...complianceRequirementToRequirement(requirement), complies: boolToBoolean(requirement.result), @@ -1415,7 +1415,7 @@ export function assetComplianceResultToRequirementCompliance( return { requirements, - complies: boolToBoolean(result), + complies: boolToBoolean(paused) || boolToBoolean(result), }; }