From 5ec9ab301dbdcdaab33e84456e55ea25252cece1 Mon Sep 17 00:00:00 2001 From: Remi Jannel Date: Wed, 17 Oct 2018 14:32:47 -0700 Subject: [PATCH] Add support for the Webhook Endpoint resource --- lib/resources/WebhookEndpoints.js | 7 +++ lib/stripe.js | 1 + test/resources/WebhookEndpoints.spec.js | 77 +++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 lib/resources/WebhookEndpoints.js create mode 100644 test/resources/WebhookEndpoints.spec.js diff --git a/lib/resources/WebhookEndpoints.js b/lib/resources/WebhookEndpoints.js new file mode 100644 index 0000000000..149d4cd888 --- /dev/null +++ b/lib/resources/WebhookEndpoints.js @@ -0,0 +1,7 @@ +'use strict'; + +module.exports = require('../StripeResource').extend({ + path: 'webhook_endpoints', + includeBasic: ['create', 'list', 'update', 'retrieve', 'del'], +}); + diff --git a/lib/stripe.js b/lib/stripe.js index 30460f91ec..ac4b972de8 100644 --- a/lib/stripe.js +++ b/lib/stripe.js @@ -69,6 +69,7 @@ var resources = { Transfers: require('./resources/Transfers'), UsageRecords: require('./resources/UsageRecords'), UsageRecordSummaries: require('./resources/UsageRecordSummaries'), + WebhookEndpoints: require('./resources/WebhookEndpoints'), // The following rely on pre-filled IDs: ApplicationFeeRefunds: require('./resources/ApplicationFeeRefunds'), diff --git a/test/resources/WebhookEndpoints.spec.js b/test/resources/WebhookEndpoints.spec.js new file mode 100644 index 0000000000..b9541f237f --- /dev/null +++ b/test/resources/WebhookEndpoints.spec.js @@ -0,0 +1,77 @@ +'use strict'; + +var stripe = require('../../testUtils').getSpyableStripe(); +var expect = require('chai').expect; + +describe('WebhookEndpoints Resource', function() { + describe('retrieve', function() { + it('Sends the correct request', function() { + stripe.webhookEndpoints.retrieve('we_123'); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'GET', + url: '/v1/webhook_endpoints/we_123', + headers: {}, + data: {}, + }); + }); + }); + + describe('del', function() { + it('Sends the correct request', function() { + stripe.webhookEndpoints.del('we_123'); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'DELETE', + url: '/v1/webhook_endpoints/we_123', + headers: {}, + data: {}, + }); + }); + }); + + describe('update', function() { + it('Sends the correct request', function() { + stripe.webhookEndpoints.update('we_123', { + enabled_events: ['*'], + }); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'POST', + url: '/v1/webhook_endpoints/we_123', + headers: {}, + data: { + enabled_events: ['*'], + }, + }); + }); + }); + + describe('create', function() { + it('Sends the correct request', function() { + stripe.webhookEndpoints.create({ + enabled_events: ['*'], + url: 'https://stripe.com', + }); + + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'POST', + url: '/v1/webhook_endpoints', + headers: {}, + data: { + enabled_events: ['*'], + url: 'https://stripe.com', + }, + }); + }); + }); + + describe('list', function() { + it('Sends the correct request', function() { + stripe.webhookEndpoints.list(); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'GET', + url: '/v1/webhook_endpoints', + headers: {}, + data: {}, + }); + }); + }); +});