Exemplo n.º 1
0
 public void MakeProducts()
 {
     for (var i = 0; i < ProductCount; i++)
     {
         DbPreTestDataWorker.MakeExistingProduct(
             true,
             MockDataMakerBase.GetWeight(),
             MockDataMakerBase.GetAmount());
     }
 }
Exemplo n.º 2
0
        public void Can_Create_A_Product()
        {
            //// Arrage
            var sku      = MockDataMakerBase.MockSku();
            var expected = MockProductDataMaker.MockProductForInserting("fake product", sku, 15.00m);

            //// Act
            var product = _productService.CreateProduct("fake product", sku, 15.00m);

            //// Assert
            Assert.AreEqual(expected.Name, product.Name);
        }
Exemplo n.º 3
0
        public void BuildOrders()
        {
            var products  = DbPreTestDataWorker.ProductService.GetAll().ToArray();
            var addresses = MockDataMakerBase.FakeAddresses().Where(x => x.CountryCode == "US").ToArray();

            var maxProductIndex = products.Count() - 1;
            var maxAddressIndex = addresses.Count();

            var itemCount = MockDataMakerBase.NoWhammyStop.Next(11);

            var invoiceDate = DateTime.Today.AddDays(-1 * InvoiceCount);

            for (var j = 0; j < InvoiceCount; j++)
            {
                if (j % 2 == 0)
                {
                    CurrentCustomer = DbPreTestDataWorker.MakeExistingAnonymousCustomer();
                }

                for (var i = 0; i < itemCount; i++)
                {
                    CurrentCustomer.Basket().AddItem(products[MockDataMakerBase.NoWhammyStop.Next(maxProductIndex)], MockDataMakerBase.NoWhammyStop.Next(5));
                }
                CurrentCustomer.Basket().Save();



                // Customer enters the destination shipping address
                var destination = addresses[MockDataMakerBase.NoWhammyStop.Next(maxAddressIndex)];

                // Assume customer selects billing address is same as shipping address
                CurrentCustomer.Basket().SalePreparation().SaveBillToAddress(destination);

                // --------------- ShipMethod Selection ----------------------------------

                // Package the shipments
                //
                // This should return a collection containing a single shipment
                //
                var shipments = CurrentCustomer.Basket().PackageBasket(destination).ToArray();

                var shipment = shipments.FirstOrDefault();

                if (shipment != null)
                {
                    var shipRateQuotes = shipment.ShipmentRateQuotes().ToArray();

                    CurrentCustomer.Basket().SalePreparation().SaveShipmentRateQuote(shipRateQuotes.First());
                }

                var paymentMethods = CurrentCustomer.Basket().SalePreparation().GetPaymentGatewayMethods();


                IPaymentResult paymentResult;
                paymentResult = invoiceDate.Month < DateTime.Now.AddDays(-30).Month
                    ?
                                CurrentCustomer.Basket()
                                .SalePreparation()
                                .AuthorizeCapturePayment(paymentMethods.FirstOrDefault())
                    :
                                CurrentCustomer.Basket()
                                .SalePreparation()
                                .AuthorizePayment(paymentMethods.FirstOrDefault());

                var invoice = paymentResult.Invoice;

                invoice.InvoiceDate = invoiceDate;

                invoiceDate = invoiceDate.AddDays(1);

                DbPreTestDataWorker.InvoiceService.Save(invoice);
            }
        }