Skip to content

Commit e48b9f7

Browse files
Merge pull request #453 from stripe/jlomas-fix-usage-records
Fix UsageRecords so it passes through the rest of the arguments
2 parents 8b787b8 + f6abc86 commit e48b9f7

File tree

2 files changed

+48
-15
lines changed

2 files changed

+48
-15
lines changed

lib/resources/UsageRecords.js

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
'use strict';
22

3-
var stripeMethod = require('../StripeMethod');
3+
var StripeResource = require('../StripeResource');
4+
var stripeMethod = StripeResource.method;
45

5-
module.exports = require('../StripeResource').extend({
6+
module.exports = StripeResource.extend({
67
path: 'subscription_items',
7-
create: function(args) {
8-
var requestPath = args.subscription_item + '/usage_records';
9-
var reqArgs = Object.assign({}, args);
10-
delete reqArgs.subscription_item;
11-
return stripeMethod({
12-
method: 'POST',
13-
path: requestPath
14-
}).bind(this)(reqArgs);
15-
}
8+
9+
create: stripeMethod({
10+
method: 'POST',
11+
path: '{subscriptionItem}/usage_records',
12+
urlParams: ['subscriptionItem'],
13+
}),
1614
});

test/resources/UsageRecords.spec.js

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,57 @@ var expect = require('chai').expect;
66
describe('UsageRecords Resource', function() {
77
describe('create', function() {
88
it('Sends the correct request', function() {
9-
stripe.usageRecords.create({
10-
subscription_item: 'si_123',
9+
stripe.usageRecords.create('si_123', {
1110
quantity: 123,
12-
timestmap: 123321,
11+
timestamp: 123321,
1312
action: 'increment'
1413
});
14+
1515
expect(stripe.LAST_REQUEST).to.deep.equal({
1616
method: 'POST',
1717
url: '/v1/subscription_items/si_123/usage_records',
1818
headers: {},
1919
data: {
2020
quantity: 123,
21-
timestmap: 123321,
21+
timestamp: 123321,
2222
action: 'increment'
2323
}
2424
});
2525
});
26+
27+
it('Includes any options that were provided', function(done) {
28+
stripe.usageRecords.create('si_123', {
29+
quantity: 123,
30+
timestamp: 123321,
31+
action: 'increment'
32+
}, {
33+
stripe_account: 'acct_456',
34+
}).then(function(record) {
35+
expect(stripe.LAST_REQUEST).to.deep.equal({
36+
method: 'POST',
37+
url: '/v1/subscription_items/si_123/usage_records',
38+
headers: {
39+
'Stripe-Account': 'acct_456'
40+
},
41+
data: {
42+
quantity: 123,
43+
timestamp: 123321,
44+
action: 'increment'
45+
}
46+
});
47+
48+
done();
49+
});
50+
});
51+
52+
it('Calls a given callback', function(done) {
53+
stripe.usageRecords.create('si_123', {
54+
quantity: 123,
55+
timestamp: 123321,
56+
action: 'increment'
57+
}, function(error, record) {
58+
done(error);
59+
});
60+
});
2661
});
2762
});

0 commit comments

Comments
 (0)