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."); }
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>(); }
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."); }