-
-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathWithdrawlsTest.cs
116 lines (90 loc) · 2.91 KB
/
WithdrawlsTest.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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System.Net.Http;
using System.Threading.Tasks;
using FluentAssertions;
using NUnit.Framework;
using VerifyNUnit;
namespace Coinbase.Tests.EndpointTests
{
public class WithdrawlsTest : TestWithAuth
{
[Test]
public async Task withdraw_via_paymethod()
{
server.RespondWithJsonTestFile();
var r = await client.Withdrawals.WithdrawFundsToPaymentMethodAsync("fff", 33, "USD");
var expectedBody =
@"{
""amount"": 33.0,
""currency"": ""USD"",
""payment_method_id"": ""fff""
}";
server.ShouldHaveCalledSomePathAndQuery("/withdrawals/payment-method")
.WithSomeRequestBody(expectedBody)
.WithVerb(HttpMethod.Post);
await Verifier.Verify(r);
}
[Test]
public async Task withdraw_via_coinbase()
{
server.RespondWithJsonTestFile();
var r = await client.Withdrawals.WithdrawFundsToCoinbaseAsync("fff", 33, "BTC");
var expectedBody =
@"{
""amount"": 33.0,
""currency"": ""BTC"",
""coinbase_account_id"": ""fff""
}";
server.ShouldHaveCalledSomePathAndQuery("/withdrawals/coinbase-account")
.WithSomeRequestBody(expectedBody)
.WithVerb(HttpMethod.Post);
await Verifier.Verify(r);
}
[Test]
public async Task withdraw_via_crypto()
{
server.RespondWithJsonTestFile();
var r = await client.Withdrawals.WithdrawFundsToCryptoAddressAsync("fff", 33, "ETH");
var expectedBody =
@"{
""amount"": 33.0,
""currency"": ""ETH"",
""crypto_address"": ""fff""
}";
server.ShouldHaveCalledSomePathAndQuery("/withdrawals/crypto")
.WithSomeRequestBody(expectedBody)
.WithVerb(HttpMethod.Post);
await Verifier.Verify(r);
}
[Test]
public async Task get_fees_estimate()
{
server.RespondWithJsonTestFile();
var r = await client.Withdrawals.GetFeeEstimate("BTC", "fff");
server.ShouldHaveCalledSomePath("/withdrawals/fee-estimate")
.WithQueryParam("currency", "BTC")
.WithQueryParam("crypto_address", "fff")
.WithVerb(HttpMethod.Get);
await Verifier.Verify(r);
}
[Test]
public async Task list_withdrawals()
{
server.RespondWithJsonTestFile();
var r = await client.Withdrawals.ListWithdrawals();
server.ShouldHaveCalledSomePath("/transfers")
.WithQueryParam("type", "withdraw")
.WithVerb(HttpMethod.Get);
r.Should().HaveCount(2);
await Verifier.Verify(r);
}
[Test]
public async Task get_single_withdrawal()
{
server.RespondWithJsonTestFile();
var r = await client.Withdrawals.GetWithdrawal("fff");
server.ShouldHaveCalledSomePath("/transfers/fff")
.WithVerb(HttpMethod.Get);
await Verifier.Verify(r);
}
}
}