Ejemplo n.º 1
0
        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);
        }