Пример #1
0
        public void When_add_new_item_of_already_present_product_sum_items()
        {
            // Given
            var product = new ProductSeed().GetSeedObject();

            product.Id = 1;
            product.UpdateStock(14, product);
            var posOrder   = new POSOrder();
            var repository = MockRepository((mock) => mock.Setup(m => m.GetBy(It.IsAny <int>()))
                                            .Returns(product));

            posOrder.AddItem(product.Id, 2, repository);
            var expectedOrderTotal = product.EndCustomerPrice * 6;

            // When
            posOrder.AddItem(product.Id, 4, repository);
            // Then
            Assert.Equal(1, posOrder.Items.Count);
            Assert.Equal(expectedOrderTotal, posOrder.OrderTotal);
        }
Пример #2
0
        public static POSOrder GetSeedTransaction()
        {
            var product = new Core.Entities.Catalog.Product {
                Id = 1,
            };
            var posOrder     = new POSOrder();
            var quantity     = 1;
            var posOrderItem = POSOrderItem.Create(product.Id, quantity, posOrder, GetMockProductRepository());

            posOrder.AddItem(posOrderItem.Value);
            return(posOrder);
        }
Пример #3
0
        private POSOrder GetBasicPOSOrder()
        {
            var product = new ProductSeed().GetSeedObject();

            product.Id = 1;
            product.UpdateStock(10, product);
            var repository = MockRepository((mock) => mock.Setup(m => m.GetBy(It.IsAny <int>()))
                                            .Returns(product));
            var posOrder = new POSOrder();

            posOrder.AddItem(product.Id, 1, repository);
            return(posOrder);
        }
Пример #4
0
        public void When_try_add_item_to_cancelled_item_shouldnt_update_object()
        {
            //Given
            var product = new ProductSeed().GetSeedObject();

            product.Id = 1;
            product.UpdateStock(3, product);

            var posOrder   = new POSOrder();
            var repository = MockRepository((mock) => mock.Setup(m => m.GetBy(It.IsAny <int>()))
                                            .Returns(product));
            var expectedQuantity = 1;

            posOrder.AddItem(product.Id, expectedQuantity, repository);
            posOrder.Cancel();

            //When
            posOrder.AddItem(product.Id, 1, repository);

            //Then
            var item = posOrder.Items.FirstOrDefault();

            Assert.Equal(expectedQuantity, item.Quantity);
        }