diff --git a/src/Claims.ts b/src/Claims.ts index cddac8e406..f93f7ca5f8 100644 --- a/src/Claims.ts +++ b/src/Claims.ts @@ -312,7 +312,7 @@ export class Claims { const result = await context.getIdentityClaimsFromChain({ targets: [did], - claimTypes: [ClaimType.CustomerDueDiligence], + claimTypes: [ClaimType.InvestorUniqueness], includeExpired, }); diff --git a/src/__tests__/Claims.ts b/src/__tests__/Claims.ts index 8c8961a444..c9325d9957 100644 --- a/src/__tests__/Claims.ts +++ b/src/__tests__/Claims.ts @@ -608,6 +608,44 @@ describe('Claims Class', () => { }); }); + describe('method: getInvestorUniquenessClaims', () => { + test('should return a list of claim data', async () => { + const target = 'someTarget'; + + const scope = { + type: ScopeType.Identity, + value: 'someIdentityScope', + }; + + const getIdentityClaimsFromChain: ClaimData[] = [ + { + target: entityMockUtils.getIdentityInstance({ did: target }), + issuer: entityMockUtils.getIdentityInstance({ did: 'otherDid' }), + issuedAt: new Date(), + expiry: null, + claim: { + type: ClaimType.InvestorUniqueness, + scope, + cddId: 'someCddId', + scopeId: 'someScopeId', + }, + }, + ]; + + dsMockUtils.configureMocks({ + contextOptions: { + getIdentityClaimsFromChain, + }, + }); + + let result = await claims.getInvestorUniquenessClaims({ target }); + expect(result).toEqual(getIdentityClaimsFromChain); + + result = await claims.getInvestorUniquenessClaims(); + expect(result).toEqual(getIdentityClaimsFromChain); + }); + }); + test('should return a list of claims issued with an Identity as target and a given Scope', async () => { const did = 'someDid'; const issuerDid = 'someIssuerDid'; diff --git a/src/base/Context.ts b/src/base/Context.ts index a02daadd56..71f663d230 100644 --- a/src/base/Context.ts +++ b/src/base/Context.ts @@ -594,7 +594,7 @@ export class Context { /** * @hidden */ - private async getIdentityClaimsFromChain(args: { + public async getIdentityClaimsFromChain(args: { targets: (string | Identity)[]; claimTypes: ClaimType[]; trustedClaimIssuers?: (string | Identity)[]; diff --git a/src/testUtils/mocks/dataSources.ts b/src/testUtils/mocks/dataSources.ts index 2b8906d69e..7caf7a25e5 100644 --- a/src/testUtils/mocks/dataSources.ts +++ b/src/testUtils/mocks/dataSources.ts @@ -215,6 +215,7 @@ interface ContextOptions { currentPairAddress?: string; currentPairIsLocked?: boolean; issuedClaims?: ResultSet; + getIdentityClaimsFromChain?: ClaimData[]; primaryKey?: string; secondaryKeys?: SecondaryKey[]; transactionHistory?: ResultSet; @@ -451,6 +452,15 @@ const defaultContextOptions: ContextOptions = { next: 1, count: 1, }, + getIdentityClaimsFromChain: [ + { + target: ('targetIdentity' as unknown) as Identity, + issuer: ('issuerIdentity' as unknown) as Identity, + issuedAt: new Date(), + expiry: null, + claim: { type: ClaimType.NoData }, + }, + ], primaryKey: 'primaryKey', secondaryKeys: [], transactionHistory: { @@ -542,6 +552,7 @@ function configureContext(opts: ContextOptions): void { getTransactionArguments: sinon.stub().returns([]), getSecondaryKeys: sinon.stub().returns(opts.secondaryKeys), issuedClaims: sinon.stub().resolves(opts.issuedClaims), + getIdentityClaimsFromChain: sinon.stub().resolves(opts.getIdentityClaimsFromChain), getLatestBlock: sinon.stub().resolves(opts.latestBlock), isMiddlewareEnabled: sinon.stub().returns(opts.middlewareEnabled), isMiddlewareAvailable: sinon.stub().resolves(opts.middlewareAvailable),