diff --git a/e2e/verifiable-credentials.service.e2e.ts b/e2e/verifiable-credentials.service.e2e.ts index 11bf38ca..4daf8ab2 100644 --- a/e2e/verifiable-credentials.service.e2e.ts +++ b/e2e/verifiable-credentials.service.e2e.ts @@ -409,21 +409,13 @@ describe('Verifiable credentials tests', () => { ]); (axios as jest.Mocked).post.mockImplementation((url) => { return Promise.resolve({ - data: url === exchangeUrl ? vpRequest : '', + data: url === exchangeUrl ? { errors: [], vpRequest } : '', }); }); getClaimsBySubject.mockResolvedValue([{ vp }]); }); test('initiateExchange() should return presentation matching presentation request', async () => { - (axios as jest.Mocked).post.mockImplementationOnce( - (url) => { - return Promise.resolve({ - data: url === exchangeUrl ? vpRequest : '', - }); - } - ); - const { selections: [{ selectResults }], } = await verifiableCredentialsService.initiateExchange({ diff --git a/src/modules/verifiable-credentials/verifiable-credentials-base.service.ts b/src/modules/verifiable-credentials/verifiable-credentials-base.service.ts index 9e4146c4..ef8fe808 100644 --- a/src/modules/verifiable-credentials/verifiable-credentials-base.service.ts +++ b/src/modules/verifiable-credentials/verifiable-credentials-base.service.ts @@ -157,7 +157,12 @@ export abstract class VerifiableCredentialsServiceBase { throw new Error('Only VC-API exchange is supported'); } - const { data: vpRequest } = await axios.post(url); + const { + data: { errors, vpRequest }, + } = await axios.post<{ errors: string[]; vpRequest: VpRequest }>(url); + if (errors.length > 0) { + throw new Error(`Error initiating exchange: ${JSON.stringify(errors)}`); + } const credentialQuery = vpRequest.query.find( (q) => q.type === VpRequestQueryType.presentationDefinition )?.credentialQuery as VpRequestPresentationDefinitionQuery[];