public async Task GetUserTrades()
        {
            _fakeHttpMessageHandler.HandleRequestAsync = TestHelper.HandleContent(form =>
            {
                Assert.Equal("BTC_USD", form["pair"]);
                Assert.Equal("100", form["limit"]);
                Assert.Equal("0", form["offset"]);
            });
            _fakeHttpMessageHandler.ResponseMessage = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent("{\"BTC_USD\":[{\"trade_id\":148003689,\"date\":1581882677,\"type\":\"buy\",\"pair\":\"BTC_USD\",\"order_id\":1234567890,\"quantity\":\"0.001\",\"price\":\"9750\",\"amount\":\"9.75\",\"exec_type\":\"\",\"commission_amount\":\"\",\"commission_currency\":\"\",\"commission_percent\":\"\"},{\"trade_id\":165608613,\"date\":1587673041,\"type\":\"sell\",\"pair\":\"BTC_USD\",\"order_id\":6245847935,\"quantity\":\"0.001321\",\"price\":\"7568.78\",\"amount\":\"9.99835839\",\"parent_order_id\":507061382318915832,\"exec_type\":\"taker\",\"commission_amount\":\"0.01999671\",\"commission_currency\":\"USD\",\"commission_percent\":\"0.2\"}]}")
            };

            var request = new UserTradesRequest
            {
                Pairs = new CurrencyPairCollection("BTC_USD")
            };
            var userTrades = await _authenticatedApi.GetUserTradesAsync(request);

            var btcUsd = userTrades["BTC_USD"];

            Assert.Equal(2, btcUsd.Length);
            Assert.Equal(148003689, btcUsd[0].TradeId);
            Assert.Equal(1581882677, btcUsd[0].Date.ToUnixTimeSeconds());
            Assert.Equal(TradeType.Buy, btcUsd[0].Type);
            Assert.Equal(1234567890, btcUsd[0].OrderId);
            Assert.Equal(0.001m, btcUsd[0].Quantity);
            Assert.Equal(9750m, btcUsd[0].Price);
            Assert.Equal(9.75m, btcUsd[0].Amount);
            Assert.Null(btcUsd[0].ParentOrderId);
            Assert.Null(btcUsd[0].ExecutionType);
            Assert.Null(btcUsd[0].CommissionAmount);
            Assert.Null(btcUsd[0].CommissionPercent);
            Assert.Empty(btcUsd[0].CommissionCurrency);

            Assert.Equal(165608613, btcUsd[1].TradeId);
            Assert.Equal(1587673041, btcUsd[1].Date.ToUnixTimeSeconds());
            Assert.Equal(TradeType.Sell, btcUsd[1].Type);
            Assert.Equal(6245847935, btcUsd[1].OrderId);
            Assert.Equal(0.001321m, btcUsd[1].Quantity);
            Assert.Equal(7568.78m, btcUsd[1].Price);
            Assert.Equal(9.99835839m, btcUsd[1].Amount);
            Assert.Equal(507061382318915832, btcUsd[1].ParentOrderId);
            Assert.Equal(ExecutionType.Taker, btcUsd[1].ExecutionType);
            Assert.Equal(0.01999671m, btcUsd[1].CommissionAmount);
            Assert.Equal(0.2m, btcUsd[1].CommissionPercent);
            Assert.Equal("USD", btcUsd[1].CommissionCurrency);
        }
Exemple #2
0
 public Task <CurrencyPairDictionary <OrderTrade[]> > GetUserTradesAsync(UserTradesRequest request, CancellationToken cancellationToken = default)
 {
     return(_client.PostAsync <CurrencyPairDictionary <OrderTrade[]> >("user_trades", request, cancellationToken));
 }