public async void GetSortedShopperHistory_WhenSortOptionsIsValid_ReturnResultFromService(SortType sortOption) { // Arrange var sutFactory = new SutSortControllerFactory(); var productList = new List <Product>() { new Product() }; var productModelList = new List <ProductModel>() { new ProductModel() }; sutFactory .MockMapper .Setup(o => o.Map <List <Product>, List <ProductModel> >(productList)) .Returns(productModelList); sutFactory .MockProductService .Setup(o => o.GetSortedProducts(sortOption)) .ReturnsAsync(productList); var sutSortController = sutFactory.Create(); // Act var result = await sutSortController.GetSortedShopperHistory(sortOption.ToString()); // Assert result.Should().BeEquivalentTo(productModelList); }
public void GetSortedShopperHistory_WhenSortOptionsInvalid_ThrowsBadApiRequestException(string sortOption) { // Arrange var sutFactory = new SutSortControllerFactory(); var sutSortController = sutFactory.Create(); // Act Func <Task> action = async() => await sutSortController.GetSortedShopperHistory(sortOption); // Assert action.Should().ThrowExactlyAsync <BadApiRequestException>() .WithMessage($"SortOption '{sortOption}' is not supported."); }
public void GetSortedShopperHistory_WhenSortOptionsIsNull_ThrowsBadApiRequestException() { // Arrange var sutFactory = new SutSortControllerFactory(); var sutSortController = sutFactory.Create(); // Act Func <Task> action = async() => await sutSortController.GetSortedShopperHistory(null); // Assert action.Should().ThrowExactlyAsync <BadApiRequestException>() .WithMessage("SortOption query parameter is required."); }