Пример #1
0
        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);
        }
Пример #2
0
        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.");
        }
Пример #3
0
        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.");
        }