Skip to content

Commit

Permalink
fix: exchange credential tests grouping
Browse files Browse the repository at this point in the history
  • Loading branch information
JGiter committed May 27, 2022
1 parent 2a1680c commit 2b1e674
Showing 1 changed file with 44 additions and 42 deletions.
86 changes: 44 additions & 42 deletions e2e/verifiable-credentials.service.e2e.ts
Expand Up @@ -381,56 +381,58 @@ describe('Verifiable credentials tests', () => {

beforeEach(async () => {
requiredCredentials = await createExampleSignedCredential([]);
const vp =
await verifiableCredentialsService.createVerifiablePresentation([
requiredCredentials,
]);
(axios as jest.Mocked<typeof axios>).post.mockImplementation((url) => {
return Promise.resolve({
data: url === exchangeUrl ? vpRequest : '',
});
});
getClaimsBySubject.mockResolvedValue([requiredCredentials]);

test('initiateExchange() should return presentation matching presentation request', async () => {
const vc = await createExampleSignedCredential([]);
vc;
(axios as jest.Mocked<typeof axios>).post.mockImplementationOnce(
(url) => {
return Promise.resolve({
data: url === exchangeUrl ? vpRequest : '',
});
}
);

const [{ selectResults }] =
await verifiableCredentialsService.initiateExchange({
type: VC_API_EXCHANGE,
url: exchangeUrl,
});
expect(selectResults.verifiableCredential).toHaveLength(1);
});
getClaimsBySubject.mockResolvedValue([{ vp }]);
});

test('continueExchange() should return issued credentials', async () => {
const [{ selectResults }] =
await verifiableCredentialsService.initiateExchange({
type: VC_API_EXCHANGE,
url: exchangeUrl,
test('initiateExchange() should return presentation matching presentation request', async () => {
(axios as jest.Mocked<typeof axios>).post.mockImplementationOnce(
(url) => {
return Promise.resolve({
data: url === exchangeUrl ? vpRequest : '',
});
}
);

(axios as jest.Mocked<typeof axios>).put.mockImplementationOnce((url) =>
Promise.resolve({
data:
url === vpRequest.interact.service[0].serviceEndpoint
? { errors: [], vp: issuedPresentation, vpRequest: undefined }
: null,
})
);

expect(
await verifiableCredentialsService.continueExchange({
vpRequest,
credentials:
selectResults.verifiableCredential as VerifiableCredential<RoleCredentialSubject>[],
})
).toEqual(issuedPresentation);
});
const [{ selectResults }] =
await verifiableCredentialsService.initiateExchange({
type: VC_API_EXCHANGE,
url: exchangeUrl,
});
expect(selectResults.verifiableCredential).toHaveLength(1);
});

test('continueExchange() should return issued credentials', async () => {
const [{ selectResults }] =
await verifiableCredentialsService.initiateExchange({
type: VC_API_EXCHANGE,
url: exchangeUrl,
});

(axios as jest.Mocked<typeof axios>).put.mockImplementationOnce((url) =>
Promise.resolve({
data:
url === vpRequest.interact.service[0].serviceEndpoint
? { errors: [], vp: issuedPresentation, vpRequest: undefined }
: null,
})
);

expect(
await verifiableCredentialsService.continueExchange({
vpRequest,
credentials:
selectResults.verifiableCredential as VerifiableCredential<RoleCredentialSubject>[],
})
).toEqual(issuedPresentation);
});
});
});

0 comments on commit 2b1e674

Please sign in to comment.