public async Task PortfolioCurrenciesTest() { const string response = "{\"trackingId\":\"QBASTAN\",\"status\":\"OK\",\"payload\":{\"currencies\":[{\"currency\":\"EUR\",\"balance\":200.7,\"blocked\":100}]}}"; var handler = new HttpMessageHandlerStub(HttpStatusCode.OK, response); var connection = new Connection(BaseUri, WebSocketBaseUri, Token, new HttpClient(handler)); var context = connection.Context; var portfolio = await context.PortfolioCurrenciesAsync(); Assert.NotNull(handler.RequestMessage); Assert.Equal(HttpMethod.Get, handler.RequestMessage.Method); Assert.Equal(new Uri($"{BaseUri}portfolio/currencies"), handler.RequestMessage.RequestUri); Assert.Null(handler.RequestMessage.Content); Assert.NotNull(portfolio); var expected = new PortfolioCurrencies(new List <PortfolioCurrencies.PortfolioCurrency> { new PortfolioCurrencies.PortfolioCurrency(Currency.Eur, 200.7m, 100m) }); Assert.Equal(expected.Currencies.Count, portfolio.Currencies.Count); for (var i = 0; i < expected.Currencies.Count; ++i) { var expectedPosition = expected.Currencies[i]; var actualPosition = portfolio.Currencies[i]; Assert.Equal(expectedPosition.Currency, actualPosition.Currency); Assert.Equal(expectedPosition.Balance, actualPosition.Balance); Assert.Equal(expectedPosition.Blocked, actualPosition.Blocked); } }
public async Task PortfolioCurrenciesTest() { _handler.Expect(HttpMethod.Get, $"{BaseUri}portfolio/currencies") .WithQueryString("brokerAccountId", BrokerAccountId) .WithoutContent() .RespondJsonFromFile("portfolio-currencies-response"); var currencies = await _context.PortfolioCurrenciesAsync(BrokerAccountId); var expected = new PortfolioCurrencies(new List <PortfolioCurrencies.PortfolioCurrency> { new PortfolioCurrencies.PortfolioCurrency(Currency.Eur, 200.7m, 100m), new PortfolioCurrencies.PortfolioCurrency(Currency.Jpy, 42.2m, 0m) }); currencies.Should().BeEquivalentTo(expected); }