public async Task SellPlayerCallsUrlBuilderThenRequestMakerReturns200ThenStatusCodeHandlerReturnsSellingAsync()
        {
            //Arrange

            A.CallTo(() => _urlBuilder.GetAuctionUrl()).Returns("Jeff");
            A.CallTo(() => _postRequestMaker.SellPlayer("Jeff", _token, A <SellPlayerModel> .Ignored)).Returns(HttpStatusCode.OK);
            A.CallTo(() => _statusCodeHandler.HandleSellingStatusCode(HttpStatusCode.OK)).Returns("Selling");

            //Act
            var actual = await _postRequestHandler.SellPlayer(_playerId, _token, _startPrice, _binPrice);

            //Assert
            Assert.AreEqual("Selling", actual);
            A.CallTo(() => _urlBuilder.GetAuctionUrl()).MustHaveHappenedOnceExactly();
            A.CallTo(() => _postRequestMaker.SellPlayer("Jeff", _token, A <SellPlayerModel> .Ignored)).MustHaveHappenedOnceExactly();
            A.CallTo(() => _statusCodeHandler.HandleSellingStatusCode(HttpStatusCode.OK)).MustHaveHappenedOnceExactly();
        }
Пример #2
0
        public async Task <string> SellPlayer(string playerId, string accessToken, int startPrice, int binPrice)
        {
            var url       = _urlBuilder.GetAuctionUrl();
            var sellModel = new SellPlayerModel
            {
                StartPrice = startPrice,
                BinPrice   = binPrice,
                Duration   = 3600,
                ItemData   = new SellItemDataModel
                {
                    playerId = playerId
                }
            };

            var statusCode = await _postRequestMaker.SellPlayer(url, accessToken, sellModel);

            var sellMessage = _statusCodeHandler.HandleSellingStatusCode(statusCode);

            return(sellMessage);
        }