public void CalculateTrolleyTotal_WhenInputIsNull_ThrowsBadRequestException() { // Arrange var sutFactory = new SutTrolleyTotalControllerFactory(); TrolleyInfoModel trolleyInfoModel = null; var sutTrolleyTotalController = sutFactory.Create(); // Act Func <Task> action = async() => await sutTrolleyTotalController.CalculateTrolleyTotal(trolleyInfoModel); // Assert action.Should() .ThrowExactly <BadApiRequestException>() .WithMessage("trolleyInfoModel is required."); }
public async void CalculateTrolleyTotal_WhenInputIsValid_ReturnsCorrectResultFromService() { // Arrange var sutFactory = new SutTrolleyTotalControllerFactory(); var valueReturnedFromService = 12.3m; var trolleyInfoModel = new TrolleyInfoModel(); var trolleyInfo = new TrolleyInfo(); sutFactory.MockMapper .Setup(o => o.Map <TrolleyInfoModel, TrolleyInfo>(trolleyInfoModel)) .Returns(trolleyInfo); sutFactory.MockTrolleyCalculator .Setup(o => o.CalculateTrolley(trolleyInfo)) .Returns(Task.FromResult(valueReturnedFromService)); var sutTrolleyTotalController = sutFactory.Create(); // Act var result = await sutTrolleyTotalController.CalculateTrolleyTotal(trolleyInfoModel); // Assert result.Should().Be(valueReturnedFromService); }