Пример #1
0
        public async Task SellPlayerCallsPutHandlerReturns200ThenCallsPostHandlerAndReturnsSellingAsync()
        {
            //Arrange
            var token      = "ABC";
            var startPrice = 1100;
            var binPrice   = 1200;
            var playerId   = "12345";
            var tradeId    = "54321";

            A.CallTo(() => _putRequestHandler.MovePlayerToTradePile(tradeId, playerId, token))
            .Returns(HttpStatusCode.OK);
            A.CallTo(() => _postRequestHandler.SellPlayer(playerId, token, startPrice, binPrice))
            .Returns("Selling");

            //Act
            var actual = await _ApiGateway.SellPlayer(tradeId, playerId, token, startPrice, binPrice);

            //Assert
            Assert.AreEqual("Selling", actual);
            A.CallTo(() => _putRequestHandler.MovePlayerToTradePile(tradeId, playerId, token)).MustHaveHappenedOnceExactly();
            A.CallTo(() => _postRequestHandler.SellPlayer(playerId, token, startPrice, binPrice)).MustHaveHappenedOnceExactly();
        }