diff --git a/packages/verify2/__tests__/__dataSets__/cancel.ts b/packages/verify2/__tests__/__dataSets__/cancel.ts new file mode 100644 index 00000000..71554617 --- /dev/null +++ b/packages/verify2/__tests__/__dataSets__/cancel.ts @@ -0,0 +1,28 @@ +export default [ + { + label: 'cancel request', + request: ['/v2/verify/091e717f-8715-41a0-a3f0-cc04912deaa1', 'DELETE'], + response: [204], + method: 'post', + clientMethod: 'cancel', + parameters: ['091e717f-8715-41a0-a3f0-cc04912deaa1'], + expected: true, + }, + { + label: 'error when request not found', + request: ['/v2/verify/091e717f-8715-41a0-a3f0-cc04912deaa1', 'DELETE'], + response: [ + 404, + { + title: 'Not Found', + type: 'https://developer.vonage.com/api-errors#not-found', + detail: 'Request was not found or it has been verified already.', + instance: 'bf0ca0bf927b3b52e3cb03217e1a1ddf', + }, + ], + method: 'delete', + clientMethod: 'cancel', + parameters: ['091e717f-8715-41a0-a3f0-cc04912deaa1'], + expected: false, + }, +]; diff --git a/packages/verify2/__tests__/__dataSets__/index.ts b/packages/verify2/__tests__/__dataSets__/index.ts index 3f669157..44901e4d 100644 --- a/packages/verify2/__tests__/__dataSets__/index.ts +++ b/packages/verify2/__tests__/__dataSets__/index.ts @@ -1,5 +1,6 @@ import requestTests from './verify'; import checkTests from './check'; +import cancelTests from './cancel'; export default [ { @@ -10,4 +11,8 @@ export default [ label: 'Check tests', tests: checkTests, }, + { + label: 'Cancel tests', + tests: cancelTests, + }, ]; diff --git a/packages/verify2/lib/verify2.ts b/packages/verify2/lib/verify2.ts index cc8a34d1..8665dc74 100644 --- a/packages/verify2/lib/verify2.ts +++ b/packages/verify2/lib/verify2.ts @@ -32,4 +32,15 @@ export class Verify2 extends Client { return resp.data.status; } + + public async cancel(requestId: string): Promise { + try { + await this.sendDeleteRequest( + `${this.config.apiHost}/v2/verify/${requestId}`, + ); + return true; + } catch (error) { + return false; + } + } }