From 6cc3f2f7f0557ef427e6ff45dc65032f23d10d87 Mon Sep 17 00:00:00 2001 From: David Zhu Date: Mon, 17 Sep 2018 14:34:51 -0700 Subject: [PATCH 1/2] Terminal Bindings --- lib/resources/Terminal/ConnectionTokens.js | 9 +++ lib/resources/Terminal/Locations.js | 9 +++ lib/resources/Terminal/Readers.js | 9 +++ lib/stripe.js | 5 ++ .../Terminal/ConnectionTokens.spec.js | 21 +++++ test/resources/Terminal/Locations.spec.js | 80 +++++++++++++++++++ test/resources/Terminal/Readers.spec.js | 68 ++++++++++++++++ 7 files changed, 201 insertions(+) create mode 100644 lib/resources/Terminal/ConnectionTokens.js create mode 100644 lib/resources/Terminal/Locations.js create mode 100644 lib/resources/Terminal/Readers.js create mode 100644 test/resources/Terminal/ConnectionTokens.spec.js create mode 100644 test/resources/Terminal/Locations.spec.js create mode 100644 test/resources/Terminal/Readers.spec.js diff --git a/lib/resources/Terminal/ConnectionTokens.js b/lib/resources/Terminal/ConnectionTokens.js new file mode 100644 index 0000000000..23757e3aa0 --- /dev/null +++ b/lib/resources/Terminal/ConnectionTokens.js @@ -0,0 +1,9 @@ +'use strict'; + +var StripeResource = require('../../StripeResource'); +var stripeMethod = StripeResource.method; + +module.exports = StripeResource.extend({ + path: 'terminal/connection_tokens', + includeBasic: ['create'], +}) diff --git a/lib/resources/Terminal/Locations.js b/lib/resources/Terminal/Locations.js new file mode 100644 index 0000000000..8d29d16ad8 --- /dev/null +++ b/lib/resources/Terminal/Locations.js @@ -0,0 +1,9 @@ +'use strict'; + +var StripeResource = require('../../StripeResource'); +var stripeMethod = StripeResource.method; + +module.exports = StripeResource.extend({ + path: 'terminal/locations', + includeBasic: ['create', 'list', 'retrieve', 'update'], +}) diff --git a/lib/resources/Terminal/Readers.js b/lib/resources/Terminal/Readers.js new file mode 100644 index 0000000000..ea60fb1f1c --- /dev/null +++ b/lib/resources/Terminal/Readers.js @@ -0,0 +1,9 @@ +'use strict'; + +var StripeResource = require('../../StripeResource'); +var stripeMethod = StripeResource.method; + +module.exports = StripeResource.extend({ + path: 'terminal/readers', + includeBasic: ['create', 'list', 'retrieve', 'update'], +}) diff --git a/lib/stripe.js b/lib/stripe.js index 4ff5720f31..ed0b510e58 100644 --- a/lib/stripe.js +++ b/lib/stripe.js @@ -92,6 +92,11 @@ var resources = { Sigma: resourceNamespace('sigma', { ScheduledQueryRuns: require('./resources/Sigma/ScheduledQueryRuns'), }), + Terminal: resourceNamespace('terminal', { + ConnectionTokens: require('./resources/Terminal/ConnectionTokens'), + Locations: require('./resources/Terminal/Locations'), + Readers: require('./resources/Terminal/Readers'), + }), }; Stripe.StripeResource = require('./StripeResource'); diff --git a/test/resources/Terminal/ConnectionTokens.spec.js b/test/resources/Terminal/ConnectionTokens.spec.js new file mode 100644 index 0000000000..3a025bfb86 --- /dev/null +++ b/test/resources/Terminal/ConnectionTokens.spec.js @@ -0,0 +1,21 @@ +'use strict'; + +var stripe = require('../../testUtils').getSpyableStripe(); + +var expect = require('chai').expect; + +describe('Terminal', function() { + describe('ConnectionToken Resource', function () { + describe('create', function() { + it('Sends the correct request', function () { + stripe.terminal.connectionTokens.create({}); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'POST', + url: '/v1/terminal/connection_tokens', + headers: {}, + data: {}, + }); + }); + }); + }); +}); diff --git a/test/resources/Terminal/Locations.spec.js b/test/resources/Terminal/Locations.spec.js new file mode 100644 index 0000000000..0b1e4e5216 --- /dev/null +++ b/test/resources/Terminal/Locations.spec.js @@ -0,0 +1,80 @@ +'use strict'; + +var stripe = require('../../testUtils').getSpyableStripe(); + +var expect = require('chai').expect; + +describe('Terminal', function () { + describe('Locations Resource', function () { + describe('retrieve', function () { + it('Sends the correct request', function () { + stripe.terminal.locations.retrieve('loc_123'); + + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'GET', + url: '/v1/terminal/locations/loc_123', + headers: {}, + data: {}, + }); + }); + }); + + describe('create', function () { + it('Sends the correct request', function () { + stripe.terminal.locations.create({ + display_name: 'name', + address: { + line1: 'line1', + country: 'US', + postal_code: '12345', + state: 'CA', + city: 'San Francisco', + }, + }); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'POST', + url: '/v1/terminal/locations', + headers: {}, + data: { + display_name: 'name', + address: { + line1: 'line1', + country: 'US', + postal_code: '12345', + state: 'CA', + city: 'San Francisco', + }, + }, + }); + }); + }); + + describe('update', function () { + it('Sends the correct request', function () { + stripe.terminal.locations.update('loc_123', { + display_name: 'name' + }); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'POST', + url: '/v1/terminal/locations/loc_123', + headers: {}, + data: { + display_name: 'name', + }, + }); + }); + }); + + describe('list', function () { + it('Sends the correct request', function () { + stripe.terminal.locations.list(); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'GET', + url: '/v1/terminal/locations', + headers: {}, + data: {}, + }); + }); + }); + }); +}); diff --git a/test/resources/Terminal/Readers.spec.js b/test/resources/Terminal/Readers.spec.js new file mode 100644 index 0000000000..7b4e185db0 --- /dev/null +++ b/test/resources/Terminal/Readers.spec.js @@ -0,0 +1,68 @@ +'use strict'; + +var stripe = require('../../testUtils').getSpyableStripe(); + +var expect = require('chai').expect; + +describe('Terminal', function () { + describe('Readers Resource', function () { + describe('retrieve', function () { + it('Sends the correct request', function () { + stripe.terminal.readers.retrieve('rdr_123'); + + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'GET', + url: '/v1/terminal/readers/rdr_123', + headers: {}, + data: {}, + }); + }); + }); + + describe('create', function () { + it('Sends the correct request', function () { + stripe.terminal.readers.create({ + registration_code: 'a-b-c', + label: 'name', + }); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'POST', + url: '/v1/terminal/readers', + headers: {}, + data: { + registration_code: 'a-b-c', + label: 'name', + }, + }); + }); + }); + + describe('update', function () { + it('Sends the correct request', function () { + stripe.terminal.readers.update('rdr_123', { + label: 'name' + }); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'POST', + url: '/v1/terminal/readers/rdr_123', + headers: {}, + data: { + label: 'name', + }, + }); + }); + }); + + describe('list', function () { + it('Sends the correct request', function () { + stripe.terminal.readers.list(); + expect(stripe.LAST_REQUEST).to.deep.equal({ + method: 'GET', + url: '/v1/terminal/readers', + headers: {}, + data: {}, + }); + }); + }); + }); +}); From cf456261c1ef388aada34fd988645632e5e8a1af Mon Sep 17 00:00:00 2001 From: David Zhu Date: Tue, 18 Sep 2018 10:57:19 -0700 Subject: [PATCH 2/2] Linting fixes --- lib/resources/Terminal/ConnectionTokens.js | 1 - lib/resources/Terminal/Locations.js | 1 - lib/resources/Terminal/Readers.js | 1 - 3 files changed, 3 deletions(-) diff --git a/lib/resources/Terminal/ConnectionTokens.js b/lib/resources/Terminal/ConnectionTokens.js index 23757e3aa0..a7c4d68f3b 100644 --- a/lib/resources/Terminal/ConnectionTokens.js +++ b/lib/resources/Terminal/ConnectionTokens.js @@ -1,7 +1,6 @@ 'use strict'; var StripeResource = require('../../StripeResource'); -var stripeMethod = StripeResource.method; module.exports = StripeResource.extend({ path: 'terminal/connection_tokens', diff --git a/lib/resources/Terminal/Locations.js b/lib/resources/Terminal/Locations.js index 8d29d16ad8..14b18d6e61 100644 --- a/lib/resources/Terminal/Locations.js +++ b/lib/resources/Terminal/Locations.js @@ -1,7 +1,6 @@ 'use strict'; var StripeResource = require('../../StripeResource'); -var stripeMethod = StripeResource.method; module.exports = StripeResource.extend({ path: 'terminal/locations', diff --git a/lib/resources/Terminal/Readers.js b/lib/resources/Terminal/Readers.js index ea60fb1f1c..153794f6ea 100644 --- a/lib/resources/Terminal/Readers.js +++ b/lib/resources/Terminal/Readers.js @@ -1,7 +1,6 @@ 'use strict'; var StripeResource = require('../../StripeResource'); -var stripeMethod = StripeResource.method; module.exports = StripeResource.extend({ path: 'terminal/readers',