public override void Init()
        {
            base.Init();

            PreTestDataWorker.DeleteAllOrders();
            PreTestDataWorker.DeleteAllShipments();
            var invoice = SalePreparationMock.PrepareInvoice();

            PreTestDataWorker.InvoiceService.Save(invoice);
            _order = invoice.PrepareOrder(MerchelloContext);
            PreTestDataWorker.OrderService.Save(_order);
        }
Example #2
0
        public void Can_Create_An_Order_With_By_The_Extension()
        {
            //// Arrange
            var invoice = SalePreparationMock.PrepareInvoice();

            invoice.VersionKey = new Guid();

            //// Act
            var order = invoice.PrepareOrder(MerchelloContext.Current);

            //// Assert
            Assert.IsTrue(invoice.HasIdentity);
            Assert.NotNull(order);
        }
Example #3
0
        public void Can_Create_The_Default_Order_Builder_With_Tasks()
        {
            //// Arrange
            const int taskCount = 1;
            var       invoice   = SalePreparationMock.PrepareInvoice();

            PreTestDataWorker.InvoiceService.Save(invoice);

            //// Act
            var orderBuilder = new OrderBuilderChain(MockOrderStatusMaker.OrderStatusNotFulfilledMock(), invoice);

            //// Assert
            Assert.NotNull(orderBuilder);
            Assert.AreEqual(taskCount, orderBuilder.TaskCount);
        }
        public override void Init()
        {
            base.Init();

            PreTestDataWorker.DeleteAllOrders();
            PreTestDataWorker.DeleteAllShipments();
            var invoice = SalePreparationMock.PrepareInvoice();

            PreTestDataWorker.InvoiceService.Save(invoice);
            _order = invoice.PrepareOrder(MerchelloContext.Current);
            PreTestDataWorker.OrderService.Save(_order);

            _shipMethodKey =
                invoice.ShippingLineItems().FirstOrDefault().ExtendedData.GetShipment <InvoiceLineItem>().ShipMethodKey;
        }
Example #5
0
        public void Can_Save_An_Order()
        {
            //// Arrange
            var invoice = SalePreparationMock.PrepareInvoice();

            invoice.VersionKey = new Guid();
            PreTestDataWorker.InvoiceService.Save(invoice);

            //// Act
            var orderBuilder = new OrderBuilderChain(MockOrderStatusMaker.OrderStatusNotFulfilledMock(), invoice);
            var attempt      = orderBuilder.Build();

            Assert.IsTrue(attempt.Success, "The order builder failed to create an order");
            var order = attempt.Result;

            MerchelloContext.Current.Services.OrderService.Save(order);

            //// Assert
            Assert.IsTrue(order.HasIdentity);
        }
Example #6
0
        public void Can_Retrieve_An_Order()
        {
            //// Arrange
            var invoice = SalePreparationMock.PrepareInvoice();

            invoice.VersionKey = new Guid();
            PreTestDataWorker.InvoiceService.Save(invoice);
            var orderBuilder = new OrderBuilderChain(MockOrderStatusMaker.OrderStatusNotFulfilledMock(), invoice);
            var attempt      = orderBuilder.Build();

            Assert.IsTrue(attempt.Success, "The order builder failed to create an order");
            MerchelloContext.Current.Services.OrderService.Save(attempt.Result);
            var key = attempt.Result.Key;

            //// Act
            var order = MerchelloContext.Current.Services.OrderService.GetByKey(key);

            //// Assert
            Assert.NotNull(order);
            Assert.AreEqual(key, order.Key);
            Assert.IsTrue(order.Items.Any());
        }
Example #7
0
        public void Can_Transfer_InvoiceItems_To_OrderItems()
        {
            //// Arrange
            var invoice = SalePreparationMock.PrepareInvoice();

            invoice.VersionKey = new Guid();
            PreTestDataWorker.InvoiceService.Save(invoice);

            //// Act
            var orderBuilder = new OrderBuilderChain(MockOrderStatusMaker.OrderStatusNotFulfilledMock(), invoice);
            var attempt      = orderBuilder.Build();

            Assert.IsTrue(attempt.Success, "The order builder failed to create an order");
            var order = attempt.Result;

            //// Assert
            Assert.IsTrue(order.Items.Any(), "The order does not contain any items");

            foreach (var item in order.Items)
            {
                Console.WriteLine("Product: {0} - Quantity: {1}", item.Name, item.Quantity);
            }
        }