-
-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathDepositsTest.cs
99 lines (75 loc) · 2.42 KB
/
DepositsTest.cs
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
using System.Net.Http;
using System.Threading.Tasks;
using FluentAssertions;
using NUnit.Framework;
using VerifyNUnit;
namespace Coinbase.Tests.EndpointTests
{
public class DepositsTest : TestWithAuth
{
[Test]
public async Task deposit_via_paymethod()
{
server.RespondWithJsonTestFile();
var r = await client.Deposits.DepositFundsFromPaymentMethodAsync("fff", 33, "USD");
var expectedBody =
@"{
""amount"": 33.0,
""currency"": ""USD"",
""payment_method_id"": ""fff""
}";
server.ShouldHaveCalledSomePathAndQuery("/deposits/payment-method")
.WithSomeRequestBody(expectedBody)
.WithVerb(HttpMethod.Post);
r.Amount.Should().Be(10.00m);
r.Currency.Should().Be("USD");
await Verifier.Verify(r);
}
[Test]
public async Task deposit_via_coinbase()
{
server.RespondWithJsonTestFile();
var r = await client.Deposits.DepositFundsFromCoinbaseAccountAsync("fff", 33, "USD");
var expectedBody =
@"{
""amount"": 33.0,
""currency"": ""USD"",
""coinbase_account_id"": ""fff""
}";
server.ShouldHaveCalledSomePathAndQuery("/deposits/coinbase-account")
.WithSomeRequestBody(expectedBody)
.WithVerb(HttpMethod.Post);
r.Amount.Should().Be(10.00m);
r.Currency.Should().Be("BTC");
await Verifier.Verify(r);
}
[Test]
public async Task can_get_deposit()
{
server.RespondWithJsonTestFile();
var r = await client.Deposits.GetDeposit("fefe");
server.ShouldHaveCalledSomePathAndQuery("/transfers/fefe")
.WithVerb(HttpMethod.Get);
await Verifier.Verify(r);
}
[Test]
public async Task can_list_deposits()
{
server.RespondWithJsonTestFile();
var r = await client.Deposits.ListDeposits();
server.ShouldHaveCalledSomePath("/transfers")
.WithQueryParam("type", "deposit")
.WithVerb(HttpMethod.Get);
await Verifier.Verify(r);
}
[Test]
public async Task generate_crypto_address()
{
server.RespondWithJsonTestFile();
var r = await client.Deposits.GenerateCryptoDepositAddress("ffff");
server.ShouldHaveCalledSomePath("/coinbase-accounts/ffff/addresses")
.WithVerb(HttpMethod.Post);
await Verifier.Verify(r);
}
}
}