Пример #1
0
        public void OrderShouldBeNullInCheckoutMethod()
        {
            //Arrange
            var handler = Fixture.GetOrderHandler();

            var command = GeneratedObjectsTests.GenerateCheckoutCommand();

            Fixture.OrderAdoRepositoryMock.Setup(r => r.GetLastCreatedOrderById(command.OrderId))
            .Returns((Order)null);

            //Act
            var result = handler.Handle(command);

            //Assert
            Fixture.OrderAdoRepositoryMock.Verify(r => r.GetLastCreatedOrderById(command.OrderId), Times.Once);

            result.Should().BeNull();
            handler.Notifications.Should().HaveCount(1);
            handler.Notifications.First().Message.Should().Be("Order isn't found.");
        }
Пример #2
0
        public void CheckoutShouldBeSucceed()
        {
            //Arrange
            var handler = Fixture.GetOrderHandler();

            var command = GeneratedObjectsTests.GenerateCheckoutCommand();
            var order   = Fixture.GetValidOrderWithOrderItems();

            Fixture.OrderAdoRepositoryMock.Setup(r => r.GetLastCreatedOrderById(command.OrderId))
            .Returns(order);

            //Act
            var result = handler.Handle(command);

            //Assert
            Fixture.OrderAdoRepositoryMock.Verify(r => r.GetLastCreatedOrderById(command.OrderId), Times.Once);
            Fixture.OrderAdoRepositoryMock.Verify(r => r.Update(order), Times.Once);

            result.Should().BeOfType <ReturnedItemCommandResult>();
        }
Пример #3
0
        public void CheckoutWithCreditCardInvalid()
        {
            //Arrange
            var handler = Fixture.GetOrderHandler();

            var command = GeneratedObjectsTests.GenerateCheckoutCommand();
            var order   = Fixture.GetValidOrderWithOrderItems();

            command.CreditCardNumber = string.Empty;

            Fixture.OrderAdoRepositoryMock.Setup(r => r.GetLastCreatedOrderById(command.OrderId))
            .Returns(order);

            //Act
            var result = handler.Handle(command);

            //Assert
            Fixture.OrderAdoRepositoryMock.Verify(r => r.GetLastCreatedOrderById(command.OrderId), Times.Once);

            result.Should().BeNull();
            handler.Notifications.Should().HaveCount(2);
            handler.Notifications.First().Message.Should().Be("Credit Card Number is required.");
            handler.Notifications.Last().Message.Should().Be("Credit Card Number is invalid.");
        }