Esempio n. 1
0
        public async Task Should_Return200_When_CorrectDataProvided()
        {
            // Arrange
            Fixture.Customize <Cart>().Set(x => x.IsCheckedOut, false);

            var body = Fixture.Generate <AddCartItemDto>(constraints: new { Quantity = 10 });
            var cart = Fixture.Generate <Cart>();

            CartReposioryMock
            .Setup(m => m.AddItemToCartAsync(cart.Name, It.IsAny <Func <long, Task <Product> > >(), It.IsAny <CartItem>()))
            .Callback <string, Func <long, Task <Product> >, CartItem>((n, f, i) => cart.Items.Add(i))
            .Returns(Task.CompletedTask);

            AddCartItemMapperProviderMock.Setup(x => x.Provide())
            .Returns(new MapperConfiguration(cfg => cfg.CreateMap <AddCartItemDto, CartItem>()).CreateMapper());

            var controller = InitController();

            // Act
            var response = await controller.PutAsync(cart.Name, body);

            // Assert
            var cartResponse = response.AssertResponseType <OkObjectResult>(200)
                               .AssertMessage("Product added");

            cart.Items.Should().Contain(x => x.ProductId == body.ProductId && x.Quantity == body.Quantity);
        }
Esempio n. 2
0
        private void InitMocks(Exception cartReposioryMockExpectedException)
        {
            CartReposioryMock
            .Setup(m => m.AddItemToCartAsync(It.IsAny <string>(), It.IsAny <Func <long, Task <Product> > >(), It.IsAny <CartItem>()))
            .Throws(cartReposioryMockExpectedException);

            AddCartItemMapperProviderMock.Setup(x => x.Provide())
            .Returns(new MapperConfiguration(cfg => cfg.CreateMap <AddCartItemDto, CartItem>()).CreateMapper());
        }