public void ShouldBeSuccessToPaidOrder() { //Arrange var order = FakerOrder.GetSampleWithItems(3); order.Close(); var model = new PaidOrderModel() { Id = order.Id, TotalPaidInCents = order.TotalInCents }; _repositoryMock.Setup(r => r.Get(It.Is <Guid>(id => id == order.Id))).Returns(order); _repositoryMock.Setup(r => r.Update(It.Is <Order>(o => o.Id == order.Id))).Returns(order); //Act var response = _service.PaidOrder(model); //Assert var output = GlobalMapper.Map <Result <OrderModelOutput> >(response); var validateTest = response.Success && output.Data.Status == EOrderStatus.Paid; _repositoryMock.Verify(r => r.Get(It.Is <Guid>(id => id == order.Id)), Times.Once); _repositoryMock.Verify(r => r.Update(It.Is <Order>(o => o.Id == order.Id)), Times.Once); validateTest.Should().BeTrue(); }
public void ShouldBeAValidOrderWithItems(int quantityOfItems) { //Arrange var order = FakerOrder.GetSampleWithItems(quantityOfItems); //Act var orderTest = order.IsValid(); //Assert orderTest.Should().BeTrue(); order.Status.Should().Be(EOrderStatus.Pending); order.Items.Should().HaveCount(quantityOfItems); }
public void ShouldBeInvalidToRemoveItem() { //Arrange var order = FakerOrder.GetSampleWithItems(2); //Act order.RemoveItem(Guid.NewGuid()); var orderTest = order.IsValid(); //Assert orderTest.Should().BeFalse(); order.Items.Should().HaveCount(2); }
public void ShouldBeInvalidToAddItem(Item item) { //Arrange var order = FakerOrder.GetSample(); //Act order.AddItem(item); var orderTest = order.IsValid(); //Assert orderTest.Should().BeFalse(); order.Items.Should().BeEmpty(); }
public void ShouldBeAValidOrder() { //Arrange var order = FakerOrder.GetSample(); //Act var orderTest = order.IsValid(); //Assert orderTest.Should().BeTrue(); order.Status.Should().Be(EOrderStatus.Pending); order.Items.Should().BeEmpty(); }
public void ShouldBeInvalidToRemoveItemWithOrderNoPending(EOrderStatus status) { //Arrange var order = FakerOrder.GetSampleWithStatusEqualsTo(status); var item = order.Items.FirstOrDefault(); //Act order.RemoveItem(item.Id); var orderTest = order.IsValid(); //Assert orderTest.Should().BeFalse(); order.Items.Should().NotBeEmpty(); }
public void ShouldBeSuccessToAddItem() { //Arrange var order = FakerOrder.GetSample(); var item = FakerItem.GetSample(); //Act order.AddItem(item); var orderTest = order.IsValid(); //Assert orderTest.Should().BeTrue(); order.Items.Should().HaveCount(1); }
public void ShouldBeInvalidToCloseOrderNoPendingWithItems(EOrderStatus status) { //Arrange var order = FakerOrder.GetSampleWithStatusEqualsTo(status); //Act order.Close(); var orderTest = order.IsValid(); //Assert orderTest.Should().BeFalse(); order.Status.Should().Be(status); order.Items.Should().NotBeEmpty(); }
public void ShouldBeSuccessToCloseOrderWithItems() { //Arrange var order = FakerOrder.GetSampleWithItems(1); //Act order.Close(); var orderTest = order.IsValid(); //Assert orderTest.Should().BeTrue(); order.Status.Should().Be(EOrderStatus.WaitingPayment); order.Items.Should().HaveCount(1); }
public void ShouldBeErrorToCloseOrderWithoutItems() { //Arrange var order = FakerOrder.GetSample(); //Act order.Close(); var orderTest = order.IsValid(); //Assert orderTest.Should().BeFalse(); order.Status.Should().Be(EOrderStatus.Pending); order.Items.Should().BeEmpty(); }
public void ShouldInvalidToAddItemWithOrderNoPending(EOrderStatus status) { //Arrange var order = FakerOrder.GetSampleWithStatusEqualsTo(status); var countItems = order.Items.Count(); var item = FakerItem.GetSample(); //Act order.AddItem(item); var orderTest = order.IsValid(); //Assert orderTest.Should().BeFalse(); order.Items.Should().HaveCount(countItems); }
public void ShouldBeInvalidToOrderWithStatusDifferentOfWaitingPayment(EOrderStatus status) { //Arrange var order = FakerOrder.GetSampleWithStatusEqualsTo(status); //Act var totalPaid = order.TotalInCents; order.Paid(totalPaid); var orderTest = order.IsValid(); //Assert orderTest.Should().BeFalse(); order.TotalPaidInCents.Should().Be(0); order.Status.Should().Be(status); }
public void ShouldBeInvalidToOrderCanceled() { //Arrange var order = FakerOrder.GetSampleWithItems(3); order.Cancel(); //Act var totalPaid = order.TotalInCents; order.Paid(totalPaid); var orderTest = order.IsValid(); //Assert orderTest.Should().BeFalse(); order.TotalPaidInCents.Should().Be(0); order.Status.Should().Be(EOrderStatus.Canceled); }
public void ShouldBeSuccessToUnderpaidOrder() { //Arrange var order = FakerOrder.GetSampleWithItems(3); order.Close(); //Act var totalPaid = order.TotalInCents - 100; order.Paid(totalPaid); var orderTest = order.IsValid(); //Assert orderTest.Should().BeTrue(); order.TotalPaidInCents.Should().Be(totalPaid); order.Status.Should().Be(EOrderStatus.Underpaid); }
public void ShouldBeSuccessToBeginOrder() { //Arrange _repositoryMock.Setup(r => r.Insert(It.IsAny <Order>())).Returns(FakerOrder.GetSample()); //Act var response = _service.BeginOrder(); //Assert var output = GlobalMapper.Map <Result <OrderModelOutput> >(response); var validateTest = response.Success && output.Data.Status == EOrderStatus.Pending; _repositoryMock.Verify(r => r.Insert(It.IsAny <Order>()), Times.Once); validateTest.Should().BeTrue(); }