-
Notifications
You must be signed in to change notification settings - Fork 744
/
charges.js
63 lines (59 loc) · 1.98 KB
/
charges.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
var vows = require('vows'),
assert = require('assert'),
sys = require('sys');
var api_key = process.env.STRIPE_API;
if (!api_key) {
sys.puts('To run vows, you must have a STRIPE_API environment variable with a test api key');
process.exit(2)
}
var stripe = require('./../lib/main.js')(api_key);
vows.describe("Charges API").addBatch({
'Create charge' : {
topic: function() {
stripe.charges.create({
amount: "50",
currency: "usd",
card: { number: "4242424242424242",
exp_month: 12,
exp_year: 2020,
name: "T. Ester",
}
}, this.callback);
},
'returns a charge' : function(err, response) {
assert.isNull(err);
assert.isDefined(response);
assert.equal(response.object, 'charge');
assert.isDefined(response.id);
},
'Retrieve a charge' : {
topic: function(create_err, charge) {
stripe.charges.retrieve(charge.id, this.callback);
},
'Got a charge' : function(err, response) {
assert.isNull(err);
assert.isDefined(response);
assert.equal(response.object, 'charge');
assert.isDefined(response.id);
},
},
'Refund a charge' : {
topic: function(create_err, charge) {
stripe.charges.refund(charge.id, 50, this.callback);
},
'Got a refund' : function(err, response) {
assert.isNull(err);
assert.isDefined(response);
assert.isTrue(response.refunded);
},
},
},
'Charge list' : {
topic: function() {
stripe.charges.list({}, this.callback);
},
'Got count': function(err, response) {
assert.isNumber(response.count);
},
}
}).export(module, {error: false});