omise 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +56 -0
- data/Rakefile +8 -0
- data/data/ca_certificates.pem +105 -0
- data/lib/omise.rb +6 -0
- data/lib/omise/account.rb +8 -0
- data/lib/omise/all.rb +9 -0
- data/lib/omise/attributes.rb +63 -0
- data/lib/omise/balance.rb +8 -0
- data/lib/omise/card.rb +19 -0
- data/lib/omise/card_list.rb +22 -0
- data/lib/omise/charge.rb +55 -0
- data/lib/omise/config.rb +36 -0
- data/lib/omise/customer.rb +50 -0
- data/lib/omise/error.rb +12 -0
- data/lib/omise/list.rb +37 -0
- data/lib/omise/object.rb +60 -0
- data/lib/omise/refund.rb +32 -0
- data/lib/omise/refund_list.rb +19 -0
- data/lib/omise/resource.rb +43 -0
- data/lib/omise/singleton_resource.rb +21 -0
- data/lib/omise/testing/resource.rb +38 -0
- data/lib/omise/token.rb +26 -0
- data/lib/omise/transaction.rb +16 -0
- data/lib/omise/transfer.rb +32 -0
- data/lib/omise/util.rb +24 -0
- data/lib/omise/vault.rb +15 -0
- data/lib/omise/version.rb +3 -0
- data/omise.gemspec +25 -0
- data/test/fixtures/api.omise.co/account-get.json +6 -0
- data/test/fixtures/api.omise.co/balance-get.json +7 -0
- data/test/fixtures/api.omise.co/charges-get.json +59 -0
- data/test/fixtures/api.omise.co/charges-post.json +36 -0
- data/test/fixtures/api.omise.co/charges/404-get.json +6 -0
- data/test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq-get.json +58 -0
- data/test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq-patch.json +58 -0
- data/test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds-get.json +21 -0
- data/test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds-post.json +10 -0
- data/test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds/404-get.json +6 -0
- data/test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds/rfnd_test_4yqmv79ahghsiz23y3c-get.json +10 -0
- data/test/fixtures/api.omise.co/customers-get.json +49 -0
- data/test/fixtures/api.omise.co/customers-post.json +22 -0
- data/test/fixtures/api.omise.co/customers/404-get.json +6 -0
- data/test/fixtures/api.omise.co/customers/cust_test_4yq6txdpfadhbaqnwp3-delete.json +6 -0
- data/test/fixtures/api.omise.co/customers/cust_test_4yq6txdpfadhbaqnwp3-get.json +39 -0
- data/test/fixtures/api.omise.co/customers/cust_test_4yq6txdpfadhbaqnwp3-patch.json +39 -0
- data/test/fixtures/api.omise.co/customers/cust_test_4yq6txdpfadhbaqnwp3/cards/404-get.json +6 -0
- data/test/fixtures/api.omise.co/customers/cust_test_4yq6txdpfadhbaqnwp3/cards/card_test_4yq6tuucl9h4erukfl0-delete.json +6 -0
- data/test/fixtures/api.omise.co/customers/cust_test_4yq6txdpfadhbaqnwp3/cards/card_test_4yq6tuucl9h4erukfl0-get.json +18 -0
- data/test/fixtures/api.omise.co/customers/cust_test_4yq6txdpfadhbaqnwp3/cards/card_test_4yq6tuucl9h4erukfl0-patch.json +18 -0
- data/test/fixtures/api.omise.co/transactions-get.json +26 -0
- data/test/fixtures/api.omise.co/transactions/trxn_test_4yq7duwb9jts1vxgqua-get.json +8 -0
- data/test/fixtures/api.omise.co/transactions/trxn_test_4yqafnvlztbf3908vs1-get.json +8 -0
- data/test/fixtures/api.omise.co/transactions/trxn_test_4yqmv79fzpy0gmz5mmq-get.json +8 -0
- data/test/fixtures/api.omise.co/transfers-get.json +24 -0
- data/test/fixtures/api.omise.co/transfers-post.json +14 -0
- data/test/fixtures/api.omise.co/transfers/trsf_test_4yqacz8t3cbipcj766u-get.json +14 -0
- data/test/fixtures/vault.omise.co/tokens-post.json +25 -0
- data/test/fixtures/vault.omise.co/tokens/tokn_test_4yq8lbecl0q6dsjzxr5-get.json +25 -0
- data/test/omise/test_account.rb +19 -0
- data/test/omise/test_balance.rb +19 -0
- data/test/omise/test_card.rb +52 -0
- data/test/omise/test_charge.rb +56 -0
- data/test/omise/test_customer.rb +59 -0
- data/test/omise/test_refund.rb +41 -0
- data/test/omise/test_token.rb +31 -0
- data/test/omise/test_transaction.rb +18 -0
- data/test/omise/test_transfer.rb +24 -0
- data/test/support.rb +12 -0
- data/test/test_omise.rb +7 -0
- metadata +214 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
{
|
2
|
+
"object": "customer",
|
3
|
+
"id": "cust_test_4yq6txdpfadhbaqnwp3",
|
4
|
+
"livemode": false,
|
5
|
+
"location": "/customers/cust_test_4yq6txdpfadhbaqnwp3",
|
6
|
+
"default_card": "card_test_4yq6tuucl9h4erukfl0",
|
7
|
+
"email": "john.doe.the.second@example.com",
|
8
|
+
"description": "John Doe (id: 30)",
|
9
|
+
"created": "2015-01-15T04:03:52Z",
|
10
|
+
"cards": {
|
11
|
+
"object": "list",
|
12
|
+
"from": "1970-01-01T00:00:00+00:00",
|
13
|
+
"to": "2015-01-15T04:03:52+00:00",
|
14
|
+
"offset": 0,
|
15
|
+
"limit": 20,
|
16
|
+
"total": 1,
|
17
|
+
"data": [
|
18
|
+
{
|
19
|
+
"object": "card",
|
20
|
+
"id": "card_test_4yq6tuucl9h4erukfl0",
|
21
|
+
"livemode": false,
|
22
|
+
"location": "/customers/cust_test_4yq6txdpfadhbaqnwp3/cards/card_test_4yq6tuucl9h4erukfl0",
|
23
|
+
"country": "",
|
24
|
+
"city": "Bangkok",
|
25
|
+
"postal_code": "10320",
|
26
|
+
"financing": "",
|
27
|
+
"last_digits": "4242",
|
28
|
+
"brand": "Visa",
|
29
|
+
"expiration_month": 1,
|
30
|
+
"expiration_year": 2017,
|
31
|
+
"fingerprint": "sRF/oMw2UQJJp/WbU+2/ZbVzwROjpMf1lyhOHhOqziw=",
|
32
|
+
"name": "JOHN DOE",
|
33
|
+
"security_code_check": true,
|
34
|
+
"created": "2015-01-15T04:03:40Z"
|
35
|
+
}
|
36
|
+
],
|
37
|
+
"location": "/customers/cust_test_4yq6txdpfadhbaqnwp3/cards"
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{
|
2
|
+
"object": "card",
|
3
|
+
"id": "card_test_4yq6tuucl9h4erukfl0",
|
4
|
+
"livemode": false,
|
5
|
+
"location": "/customers/cust_test_4yq6txdpfadhbaqnwp3/cards/card_test_4yq6tuucl9h4erukfl0",
|
6
|
+
"country": "",
|
7
|
+
"city": "Bangkok",
|
8
|
+
"postal_code": "10320",
|
9
|
+
"financing": "",
|
10
|
+
"last_digits": "4242",
|
11
|
+
"brand": "Visa",
|
12
|
+
"expiration_month": 1,
|
13
|
+
"expiration_year": 2017,
|
14
|
+
"fingerprint": "sRF/oMw2UQJJp/WbU+2/ZbVzwROjpMf1lyhOHhOqziw=",
|
15
|
+
"name": "JOHN DOE",
|
16
|
+
"security_code_check": true,
|
17
|
+
"created": "2015-01-15T04:03:40Z"
|
18
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{
|
2
|
+
"object": "card",
|
3
|
+
"id": "card_test_4yq6tuucl9h4erukfl0",
|
4
|
+
"livemode": false,
|
5
|
+
"location": "/customers/cust_test_4yq6txdpfadhbaqnwp3/cards/card_test_4yq6tuucl9h4erukfl0",
|
6
|
+
"country": "",
|
7
|
+
"city": "Bangkok",
|
8
|
+
"postal_code": "10320",
|
9
|
+
"financing": "",
|
10
|
+
"last_digits": "4242",
|
11
|
+
"brand": "Visa",
|
12
|
+
"expiration_month": 1,
|
13
|
+
"expiration_year": 2017,
|
14
|
+
"fingerprint": "sRF/oMw2UQJJp/WbU+2/ZbVzwROjpMf1lyhOHhOqziw=",
|
15
|
+
"name": "JOHN W. DOE",
|
16
|
+
"security_code_check": true,
|
17
|
+
"created": "2015-01-15T04:03:40Z"
|
18
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"object": "list",
|
3
|
+
"from": "1970-01-01T00:00:00+00:00",
|
4
|
+
"to": "2015-01-15T10:14:58+00:00",
|
5
|
+
"offset": 0,
|
6
|
+
"limit": 20,
|
7
|
+
"total": 2,
|
8
|
+
"data": [
|
9
|
+
{
|
10
|
+
"object": "transaction",
|
11
|
+
"id": "trxn_test_4yq7duwb9jts1vxgqua",
|
12
|
+
"type": "credit",
|
13
|
+
"amount": 96094,
|
14
|
+
"currency": "THB",
|
15
|
+
"created": "2015-01-15T05:00:29Z"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"object": "transaction",
|
19
|
+
"id": "trxn_test_4yqafnvlztbf3908vs1",
|
20
|
+
"type": "debit",
|
21
|
+
"amount": 192188,
|
22
|
+
"currency": "THB",
|
23
|
+
"created": "2015-01-15T10:12:25Z"
|
24
|
+
}
|
25
|
+
]
|
26
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{
|
2
|
+
"object": "list",
|
3
|
+
"from": "1970-01-01T00:00:00+00:00",
|
4
|
+
"to": "2015-01-15T10:16:08+00:00",
|
5
|
+
"offset": 0,
|
6
|
+
"limit": 20,
|
7
|
+
"total": 1,
|
8
|
+
"data": [
|
9
|
+
{
|
10
|
+
"object": "transfer",
|
11
|
+
"id": "trsf_test_4yqacz8t3cbipcj766u",
|
12
|
+
"livemode": false,
|
13
|
+
"location": "/transfers/trsf_test_4yqacz8t3cbipcj766u",
|
14
|
+
"sent": true,
|
15
|
+
"paid": true,
|
16
|
+
"amount": 192188,
|
17
|
+
"currency": "thb",
|
18
|
+
"failure_code": null,
|
19
|
+
"failure_message": null,
|
20
|
+
"transaction": "trxn_test_4yqafnvlztbf3908vs1",
|
21
|
+
"created": "2015-01-15T10:04:47Z"
|
22
|
+
}
|
23
|
+
]
|
24
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"object": "transfer",
|
3
|
+
"id": "trsf_test_4yqacz8t3cbipcj766u",
|
4
|
+
"livemode": false,
|
5
|
+
"location": "/transfers/trsf_test_4yqacz8t3cbipcj766u",
|
6
|
+
"sent": true,
|
7
|
+
"paid": true,
|
8
|
+
"amount": 192188,
|
9
|
+
"currency": "thb",
|
10
|
+
"failure_code": null,
|
11
|
+
"failure_message": null,
|
12
|
+
"transaction": null,
|
13
|
+
"created": "2015-01-15T10:04:47Z"
|
14
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"object": "transfer",
|
3
|
+
"id": "trsf_test_4yqacz8t3cbipcj766u",
|
4
|
+
"livemode": false,
|
5
|
+
"location": "/transfers/trsf_test_4yqacz8t3cbipcj766u",
|
6
|
+
"sent": true,
|
7
|
+
"paid": true,
|
8
|
+
"amount": 192188,
|
9
|
+
"currency": "thb",
|
10
|
+
"failure_code": null,
|
11
|
+
"failure_message": null,
|
12
|
+
"transaction": "trxn_test_4yqafnvlztbf3908vs1",
|
13
|
+
"created": "2015-01-15T10:04:47Z"
|
14
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"object": "token",
|
3
|
+
"id": "tokn_test_4yq8lbecl0q6dsjzxr5",
|
4
|
+
"livemode": false,
|
5
|
+
"location": "/tokens/tokn_test_4yq8lbecl0q6dsjzxr5",
|
6
|
+
"used": false,
|
7
|
+
"card": {
|
8
|
+
"object": "card",
|
9
|
+
"id": "card_test_4yq6tuucl9h4erukfl0",
|
10
|
+
"livemode": false,
|
11
|
+
"country": "",
|
12
|
+
"city": "Bangkok",
|
13
|
+
"postal_code": "10320",
|
14
|
+
"financing": "",
|
15
|
+
"last_digits": "4242",
|
16
|
+
"brand": "Visa",
|
17
|
+
"expiration_month": 1,
|
18
|
+
"expiration_year": 2017,
|
19
|
+
"fingerprint": "sRF/oMw2UQJJp/WbU+2/ZbVzwROjpMf1lyhOHhOqziw=",
|
20
|
+
"name": "JOHN DOE",
|
21
|
+
"security_code_check": true,
|
22
|
+
"created": "2015-01-15T04:03:40Z"
|
23
|
+
},
|
24
|
+
"created": "2015-01-15T07:03:56Z"
|
25
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"object": "token",
|
3
|
+
"id": "tokn_test_4yq8lbecl0q6dsjzxr5",
|
4
|
+
"livemode": false,
|
5
|
+
"location": "/tokens/tokn_test_4yq8lbecl0q6dsjzxr5",
|
6
|
+
"used": false,
|
7
|
+
"card": {
|
8
|
+
"object": "card",
|
9
|
+
"id": "card_test_4yq6tuucl9h4erukfl0",
|
10
|
+
"livemode": false,
|
11
|
+
"country": "",
|
12
|
+
"city": "Bangkok",
|
13
|
+
"postal_code": "10320",
|
14
|
+
"financing": "",
|
15
|
+
"last_digits": "4242",
|
16
|
+
"brand": "Visa",
|
17
|
+
"expiration_month": 1,
|
18
|
+
"expiration_year": 2017,
|
19
|
+
"fingerprint": "sRF/oMw2UQJJp/WbU+2/ZbVzwROjpMf1lyhOHhOqziw=",
|
20
|
+
"name": "JOHN DOE",
|
21
|
+
"security_code_check": true,
|
22
|
+
"created": "2015-01-15T04:03:40Z"
|
23
|
+
},
|
24
|
+
"created": "2015-01-15T07:03:56Z"
|
25
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require "support"
|
2
|
+
|
3
|
+
class TestAccount < Minitest::Test
|
4
|
+
def setup
|
5
|
+
@account = Omise::Account.retrieve
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_that_we_can_retrieve_the_account
|
9
|
+
assert_instance_of Omise::Account, @account
|
10
|
+
assert_equal "/account", @account.location
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_that_we_can_reload_a_customer
|
14
|
+
@account.attributes.taint
|
15
|
+
@account.reload
|
16
|
+
|
17
|
+
refute @account.attributes.tainted?
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require "support"
|
2
|
+
|
3
|
+
class TestBalance < Minitest::Test
|
4
|
+
def setup
|
5
|
+
@balance = Omise::Balance.retrieve
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_that_we_can_retrieve_the_balance
|
9
|
+
assert_instance_of Omise::Balance, @balance
|
10
|
+
assert_equal "/balance", @balance.location
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_that_we_can_reload_a_customer
|
14
|
+
@balance.attributes.taint
|
15
|
+
@balance.reload
|
16
|
+
|
17
|
+
refute @balance.attributes.tainted?
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require "support"
|
2
|
+
|
3
|
+
class TestCard < Minitest::Test
|
4
|
+
def setup
|
5
|
+
@cards = Omise::Customer.retrieve("cust_test_4yq6txdpfadhbaqnwp3").cards
|
6
|
+
@card = @cards.retrieve("card_test_4yq6tuucl9h4erukfl0")
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_that_we_can_retrieve_a_card
|
10
|
+
assert_instance_of Omise::Card, @card
|
11
|
+
assert_equal "card_test_4yq6tuucl9h4erukfl0", @card.id
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_that_we_can_create_a_card
|
15
|
+
card = @cards.create({
|
16
|
+
name: "JOHN DOE",
|
17
|
+
number: "4242424242424242",
|
18
|
+
expiration_month: "1",
|
19
|
+
expiration_year: "2017",
|
20
|
+
security_code: "123"
|
21
|
+
})
|
22
|
+
|
23
|
+
assert_instance_of Omise::Card, card
|
24
|
+
assert_equal "card_test_4yq6tuucl9h4erukfl0", card.id
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_that_a_card_can_be_reloaded
|
28
|
+
@card.attributes.taint
|
29
|
+
@card.reload
|
30
|
+
|
31
|
+
refute @card.attributes.tainted?
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_that_retrieveing_a_non_existing_card_will_raise_an_error
|
35
|
+
assert_raises Omise::Error do
|
36
|
+
@cards.retrieve("404")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_that_a_card_can_be_updated
|
41
|
+
@card.update(name: "JOHN W. DOE")
|
42
|
+
|
43
|
+
assert_equal "JOHN W. DOE", @card.name
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_that_a_card_can_be_destroyed
|
47
|
+
@card.destroy
|
48
|
+
|
49
|
+
assert @card.destroyed?
|
50
|
+
assert @card.deleted
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require "support"
|
2
|
+
|
3
|
+
class TestCharge < Minitest::Test
|
4
|
+
def setup
|
5
|
+
@charge = Omise::Charge.retrieve("chrg_test_4yq7duw15p9hdrjp8oq")
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_that_we_can_create_a_charge
|
9
|
+
charge = Omise::Charge.create
|
10
|
+
|
11
|
+
assert_instance_of Omise::Charge, charge
|
12
|
+
assert_equal "chrg_test_4yq7duw15p9hdrjp8oq", charge.id
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_that_we_can_retrieve_a_charge
|
16
|
+
assert_instance_of Omise::Charge, @charge
|
17
|
+
assert_equal "chrg_test_4yq7duw15p9hdrjp8oq", @charge.id
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_that_we_can_list_all_charge
|
21
|
+
charges = Omise::Charge.list
|
22
|
+
|
23
|
+
assert_instance_of Omise::List, charges
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_that_we_can_update_a_charge
|
27
|
+
@charge.update(description: "Charge for order 3947 (XXL)")
|
28
|
+
|
29
|
+
assert_equal @charge.description, "Charge for order 3947 (XXL)"
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_that_we_can_reload_a_charge
|
33
|
+
@charge.attributes.taint
|
34
|
+
@charge.reload
|
35
|
+
|
36
|
+
refute @charge.attributes.tainted?
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_that_retrieveing_a_non_existing_charge_will_raise_an_error
|
40
|
+
assert_raises Omise::Error do
|
41
|
+
Omise::Charge.retrieve("404")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_that_a_customer_has_a_transaction
|
46
|
+
assert_instance_of Omise::Transaction, @charge.transaction
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_that_a_customer_has_a_default_card
|
50
|
+
assert_instance_of Omise::Customer, @charge.customer
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_that_we_can_retrieve_a_list_of_refunds
|
54
|
+
assert_instance_of Omise::RefundList, @charge.refunds
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require "support"
|
2
|
+
|
3
|
+
class TestCustomer < Minitest::Test
|
4
|
+
def setup
|
5
|
+
@customer = Omise::Customer.retrieve("cust_test_4yq6txdpfadhbaqnwp3")
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_that_we_can_create_a_customer
|
9
|
+
customer = Omise::Customer.create
|
10
|
+
|
11
|
+
assert_instance_of Omise::Customer, customer
|
12
|
+
assert_equal "cust_test_4yq6txdpfadhbaqnwp3", customer.id
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_that_we_can_retrieve_a_customer
|
16
|
+
assert_instance_of Omise::Customer, @customer
|
17
|
+
assert_equal "cust_test_4yq6txdpfadhbaqnwp3", @customer.id
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_that_we_can_list_all_customer
|
21
|
+
customers = Omise::Customer.list
|
22
|
+
|
23
|
+
assert_instance_of Omise::List, customers
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_that_we_can_update_a_customer
|
27
|
+
@customer.update(email: "john.doe.the.second@example.com")
|
28
|
+
|
29
|
+
assert_equal @customer.email, "john.doe.the.second@example.com"
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_that_we_can_destroy_a_customer
|
33
|
+
@customer.destroy
|
34
|
+
|
35
|
+
assert @customer.deleted
|
36
|
+
assert @customer.destroyed?
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_that_we_can_reload_a_customer
|
40
|
+
@customer.attributes.taint
|
41
|
+
@customer.reload
|
42
|
+
|
43
|
+
refute @customer.attributes.tainted?
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_that_retrieveing_a_non_existing_customer_will_raise_an_error
|
47
|
+
assert_raises Omise::Error do
|
48
|
+
Omise::Customer.retrieve("404")
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_that_a_customer_has_a_list_of_card
|
53
|
+
assert_instance_of Omise::CardList, @customer.cards
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_that_a_customer_has_a_default_card
|
57
|
+
assert_instance_of Omise::Card, @customer.default_card
|
58
|
+
end
|
59
|
+
end
|