-
Notifications
You must be signed in to change notification settings - Fork 347
/
account_test.exs
51 lines (40 loc) · 1.71 KB
/
account_test.exs
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
defmodule Stripe.AccountTest do
use Stripe.StripeCase, async: true
test "is retrievable using singular endpoint" do
assert {:ok, %Stripe.Account{}} = Stripe.Account.retrieve()
assert_stripe_requested(:get, "/v1/account")
end
# ellided by build_modules.ex > Enum.uniq_by(& &1["method_name"])
# test "is retrievable using plural endpoint" do
# assert {:ok, %Stripe.Account{}} = Stripe.Account.retrieve("acct_123")
# assert_stripe_requested(:get, "/v1/accounts/acct_123")
# end
test "is creatable" do
assert {:ok, %Stripe.Account{}} = Stripe.Account.create(%{metadata: %{}, type: "standard"})
assert_stripe_requested(:post, "/v1/accounts")
end
test "is updateable" do
assert {:ok, %Stripe.Account{id: id}} =
Stripe.Account.update("acct_123", %{metadata: %{foo: "bar"}})
assert_stripe_requested(:post, "/v1/accounts/#{id}")
end
test "is deletable" do
assert {:ok, %Stripe.Account{}} = Stripe.Account.delete("acct_123")
assert_stripe_requested(:delete, "/v1/accounts/acct_123")
end
test "is listable" do
assert {:ok, %Stripe.List{data: accounts}} = Stripe.Account.list()
assert_stripe_requested(:get, "/v1/accounts")
assert is_list(accounts)
assert %Stripe.Account{} = hd(accounts)
end
test "is rejectable" do
{:ok, account} = Stripe.Account.create(%{metadata: %{}, type: "standard"})
assert_stripe_requested(:post, "/v1/accounts")
assert {:ok, %Stripe.Account{} = rejected_account} =
Stripe.Account.reject(account.id, %{reason: "terms_of_service"})
assert_stripe_requested(:post, "/v1/accounts/#{account.id}/reject")
assert account.id == rejected_account.id
refute rejected_account.charges_enabled
end
end