示例#1
0
        public async Task Buy_PortfolioNotExists()
        {
            Func <HourlyShareRate> func = () =>
            {
                return(new HourlyShareRate
                {
                    Rate = 20.00M
                });
            };

            TradeModel model = new TradeModel
            {
                Action      = "BUY",
                NoOfShares  = 10,
                PortfolioId = 1,
                Symbol      = "SIM"
            };

            // Arrange

            _exchangeContext.Setup(p => p.Set <Trade>().Add(It.IsAny <Trade>()));
            _exchangeContext.Setup(p => p.SaveChangesAsync(It.IsAny <CancellationToken>())).ReturnsAsync(1);

            // Act
            Trade trade = await _tradeRepository.Buy(model, func);

            // Assert
            Assert.NotNull(trade);
            Assert.AreEqual(trade.Symbol, model.Symbol);
            Assert.AreEqual(trade.PortfolioId, model.PortfolioId);
            Assert.AreEqual(trade.NoOfShares, model.NoOfShares);
            Assert.AreEqual(trade.Price, 20.00M);
        }