Пример #1
0
        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);
        }
Пример #15
0
        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();
        }