public void OrderSystem_UnitTest_Payments_Invoice_SaveAndRetrieveSucceed() { Cart cart; Cart cartVerify; InvoicePayment payment; InvoicePayment paymentVerify; string invoiceNumber = "3511122A"; //A cart has to exist for a payment instance to be created cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); //create invoice payment to test payment = (InvoicePayment)OrderHelper.CreateInvoicePayment(); payment.InvoiceNumber = invoiceNumber; //save the cart and then retrieve the cart from the database cartVerify = SaveAndRetrieveCart(cart, payment); //confirm the payment is retrieved Assert.AreNotEqual(cartVerify.OrderForms[0].Payments.Count, 0, "Invoice Payment not saved to the database"); //confirm the correct type returned Assert.AreEqual(cartVerify.OrderForms[0].Payments[0].GetType(), typeof(InvoicePayment), "InvoicePayment type not saved properly."); //verify properties set and returned correctly paymentVerify = (InvoicePayment)cartVerify.OrderForms[0].Payments[0]; Assert.AreEqual(paymentVerify.InvoiceNumber, invoiceNumber, "InvoicePayment fields not saved to the database."); }
public void OrderSystem_PaymentPlan_CreateFromOrder_FirstPurchaseOrder() { Cart cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); cart.OrderForms[0].Payments.Add(OrderHelper.CreateCreditCardPayment()); cart.AcceptChanges(); cart.RunWorkflow("CartValidate"); cart.RunWorkflow("CartPrepare"); cart.OrderForms[0].Payments[0].Amount = cart.Total; //cart.RunWorkflow("CartCheckout"); cart.AcceptChanges(); // Create payment plan PaymentPlan plan = cart.SaveAsPaymentPlan(); // Set some payment plan values // Monthly subscription for a year plan.CycleMode = PaymentPlanCycle.Months; plan.CycleLength = 1; plan.MaxCyclesCount = 12; plan.StartDate = DateTime.UtcNow; plan.EndDate = DateTime.UtcNow.AddMonths(13); plan.LastTransactionDate = DateTime.UtcNow; // Send emails OrderHelper.SendEmail(plan, "order-paymentplan-confirm"); OrderHelper.SendEmail(plan, "order-paymentplan-notify"); // Now create first PO from the payment plan PurchaseOrder po = plan.SaveAsPurchaseOrder(); // Validate Assert.AreEqual(po.OrderForms[0].Payments.Count, 1); }
public void OrderSystem_UnitTest_Payments_CashCard_SaveAndRetrieveSucceed() { Cart cart; Cart cartVerify; CashCardPayment payment; CashCardPayment paymentVerify; string cashCardNumber = "111"; string securityCode = "2323"; string propertyMismatchError = "CashCardPayment fields not saved to the database."; //A cart has to exist for a payment instance to be created cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); //create cash card payment payment = (CashCardPayment)OrderHelper.CreateCashCardPayment(); payment.CashCardNumber = cashCardNumber; payment.CashCardSecurityCode = securityCode; //save the cart and then retrieve the cart from the database cartVerify = SaveAndRetrieveCart(cart, payment); //confirm the payment is retrieved correctly Assert.AreNotEqual(cartVerify.OrderForms[0].Payments.Count, 0, "Cash Card Payment not saved to the database"); //confirm the payment is of the right type Assert.AreEqual(cartVerify.OrderForms[0].Payments[0].GetType(), typeof(CashCardPayment), "CashCardPayment type not saved properly."); //confirm payment properties paymentVerify = (CashCardPayment)cartVerify.OrderForms[0].Payments[0]; Assert.AreEqual(paymentVerify.CashCardNumber, cashCardNumber, propertyMismatchError); Assert.AreEqual(paymentVerify.CashCardSecurityCode, securityCode, propertyMismatchError); }
public void OrderSystem_UnitTest_Payments_GiftCardSucceed() { // Creating cart fails Cart cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); cart.OrderForms[0].Payments.Add(OrderHelper.CreateGiftCardPayment()); cart.AcceptChanges(); cart.RunWorkflow("CartValidate"); cart.RunWorkflow("CartPrepare"); cart.OrderForms[0].Payments[0].Amount = cart.Total; cart.RunWorkflow("CartCheckout"); cart.AcceptChanges(); PurchaseOrder po = cart.SaveAsPurchaseOrder(); po = OrderContext.Current.GetPurchaseOrder(po.CustomerId, po.OrderGroupId); // Validate purchase order Assert.AreEqual(po.OrderForms[0].Payments.Count, 1); // Delete PO po.Delete(); po.AcceptChanges(); // Assert that PO is deleted Assert.IsTrue(po.ObjectState == MetaObjectState.Deleted); // Delete cart cart.Delete(); cart.AcceptChanges(); // Assert that cart is deleted Assert.IsTrue(cart.ObjectState == MetaObjectState.Deleted); }
private Cart CreateShoppingCart() { Cart cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); // No need to save cart before executing the workflows, they can be executed to the objects in memory // cart.AcceptChanges(); cart.RunWorkflow("CartValidate"); cart.RunWorkflow("CartPrepare"); cart.OrderForms[0].Payments[0].Amount = cart.Total; cart.RunWorkflow("CartCheckout"); return(cart); }
public void OrderSystem_UnitTest_CreateCartAndPurchaseOrderWithWorkflowSucceed() { Cart cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); // No need to save cart before executing the workflows, they can be executed to the objects in memory // cart.AcceptChanges(); cart.RunWorkflow("CartValidate"); cart.RunWorkflow("CartPrepare"); cart.OrderForms[0].Payments[0].Amount = cart.Total; cart.RunWorkflow("CartCheckout"); //cart.AcceptChanges(); PurchaseOrder po = cart.SaveAsPurchaseOrder(); // Delete original cart, no need since it was never saved // cart.Delete(); // cart.AcceptChanges(); }
private void cleanerTest() // I think { // Create cart Cart cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); getCustomerNames(); Random random = new Random((int)DateTime.Now.TimeOfDay.TotalMilliseconds); String customerFullName = _customerNames[random.Next(0, _customerNames.Length - 1)]; int space = customerFullName.IndexOf(' '); String customerFirstName = customerFullName.Substring(0, space); String customerLastName = customerFullName.Substring(space + 1); String customerHomeId = customerFullName + "\'s " + "Home"; cart.CustomerName = customerFullName; cart.OrderAddresses[0].Name = customerHomeId; cart.OrderAddresses[0].FirstName = customerFirstName; cart.OrderAddresses[0].LastName = customerLastName; #region Add items to cart // Random number of line items in an order int itemNum = random.Next(3, 10); // Add remaining items since default cart creates 3 line items for (int i = 3; i < itemNum; i++) { cart.OrderForms[0].LineItems.Add(OrderHelper.CreateLineItem()); } // Overwrite default line item info for (int i = 0; i < itemNum; i++) { int quantity = random.Next(1, 10); cart.OrderForms[0].LineItems[i].Quantity = quantity; //cart.OrderForms[0].LineItems[i].ListPrice = } cart.OrderForms[0].Payments.Add(OrderHelper.CreateCreditCardPayment()); cart.RunWorkflow("CartValidate"); cart.RunWorkflow("CartPrepare"); cart.OrderForms[0].Payments[0].Amount = cart.Total; cart.RunWorkflow("CartCheckout"); #endregion // Last step cart.SaveAsPurchaseOrder(); }
public void OrderSystem_UnitTest_Payments_CashCardSucceed() { Cart cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); cart.OrderForms[0].Payments.Add(OrderHelper.CreateCashCardPayment()); cart.AcceptChanges(); cart.RunWorkflow("CartValidate"); cart.RunWorkflow("CartPrepare"); cart.OrderForms[0].Payments[0].Amount = cart.Total; cart.RunWorkflow("CartCheckout"); cart.AcceptChanges(); PurchaseOrder po = cart.SaveAsPurchaseOrder(); po = OrderContext.Current.GetPurchaseOrder(po.CustomerId, po.OrderGroupId); // Validate Assert.AreEqual(po.OrderForms[0].Payments.Count, 1); }
public void OrderSystem_UnitTest_Payments_CreditCardSucceed() { Cart cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); cart.OrderForms[0].Payments.Add(OrderHelper.CreateCreditCardPayment()); cart.AcceptChanges(); cart.RunWorkflow("CartValidate"); cart.RunWorkflow("CartPrepare"); cart.OrderForms[0].Payments[0].Amount = cart.Total; // Following line throws exception: // "Authorize.NET payment gateway is not configured correctly. User is not set.." cart.RunWorkflow("CartCheckout"); cart.AcceptChanges(); PurchaseOrder po = cart.SaveAsPurchaseOrder(); po = OrderContext.Current.GetPurchaseOrder(po.CustomerId, po.OrderGroupId); // Validate Assert.AreEqual(po.OrderForms[0].Payments.Count, 1); }
public void OrderSystem_Notifications_CreditCard_CustomerEmail() { Cart cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); cart.OrderForms[0].Payments.Add(OrderHelper.CreateCreditCardPayment()); cart.AcceptChanges(); cart.RunWorkflow("CartValidate"); cart.RunWorkflow("CartPrepare"); //cart.RunWorkflow("CartCheckout"); cart.AcceptChanges(); PurchaseOrder po = cart.SaveAsPurchaseOrder(); po = OrderContext.Current.GetPurchaseOrder(po.CustomerId, po.OrderGroupId); // Send emails OrderHelper.SendEmail(po, "order-purchaseorder-confirm"); OrderHelper.SendEmail(po, "order-purchaseorder-notify"); // Validate Assert.AreEqual(po.OrderForms[0].Payments.Count, 1); }
public void OrderSystem_UnitTest_Payments_Other_SaveAndRetrieveSucceed() { Cart cart; Cart cartVerify; OtherPayment payment; //A cart has to exist for a payment instance to be created cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); //create other payment to validate test account payment = (OtherPayment)OrderHelper.CreateOtherPayment(); //save the cart and then retrieve the cart from the database cartVerify = SaveAndRetrieveCart(cart, payment); //confirm the payment is retrieved Assert.AreNotEqual(cartVerify.OrderForms[0].Payments.Count, 0, "OtherPayment not saved to the database"); //confirm the correct type is returned Assert.AreEqual(cartVerify.OrderForms[0].Payments[0].GetType(), typeof(OtherPayment), "OtherPayment type not saved properly."); }
public void OrderSystem_UnitTest_Payments_GiftCard_SaveAndRetrieveSucceed() { Cart cart; Cart cartVerify; GiftCardPayment payment; GiftCardPayment paymentVerify; string cardNumber = "315152C"; string securityNumber = "5112"; string cardType = "Mastercard"; int expMonth = 3; int expYear = 2009; string propertyMismatchError = "GiftCardPayment fields not saved to the database."; //A cart has to exist for a payment instance to be created cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); //create gift card payment to validate test account payment = (GiftCardPayment)OrderHelper.CreateGiftCardPayment(); payment.CardType = cardType; payment.GiftCardNumber = cardNumber; payment.GiftCardSecurityCode = securityNumber; payment.ExpirationMonth = expMonth; payment.ExpirationYear = expYear; //save the cart and then retrieve the cart from the database cartVerify = SaveAndRetrieveCart(cart, payment); //confirm the payment is retrieved Assert.AreNotEqual(cartVerify.OrderForms[0].Payments.Count, 0, "Gift Card Payment not saved to the database"); Assert.AreEqual(cartVerify.OrderForms[0].Payments[0].GetType(), typeof(GiftCardPayment), "GiftCardPayment type not saved properly."); paymentVerify = (GiftCardPayment)cartVerify.OrderForms[0].Payments[0]; Assert.AreEqual(paymentVerify.GiftCardNumber, cardNumber, propertyMismatchError); Assert.AreEqual(paymentVerify.GiftCardSecurityCode, securityNumber, propertyMismatchError); Assert.AreEqual(paymentVerify.CardType, cardType, propertyMismatchError); }
public void OrderSystem_UnitTest_Payments_CreditCard_SaveAndRetrieveSucceed() { Cart cart; Cart cartVerify; CreditCardPayment payment; CreditCardPayment paymentVerify; string cardType = "Visa"; int expMonth = 3; int expYear = DateTime.Now.AddYears(1).Year; string propertyMismatchError = "CreditCardPayment fields not saved to the database."; //A cart has to exist for a payment instance to be created cart = OrderHelper.CreateCartSimple(Guid.NewGuid()); cart.OrderForms[0].Payments.Clear(); //create cc payment to validate test account payment = (CreditCardPayment)OrderHelper.CreateCreditCardPayment(); payment.CardType = cardType; payment.ExpirationMonth = expMonth; payment.ExpirationYear = expYear; //save the cart and then retrieve the cart from the database cartVerify = SaveAndRetrieveCart(cart, payment); //confirm the payment is retrieved Assert.AreNotEqual(cartVerify.OrderForms[0].Payments.Count, 0, "Credit Card Payment not saved to the database"); //verify returned type is correct Assert.AreEqual(cartVerify.OrderForms[0].Payments[0].GetType(), typeof(CreditCardPayment), "CreditCardPayment type not saved properly."); //verify properties set and returned correctly paymentVerify = (CreditCardPayment)cartVerify.OrderForms[0].Payments[0]; Assert.AreEqual(paymentVerify.CardType, cardType, propertyMismatchError); Assert.AreEqual(paymentVerify.ExpirationMonth, expMonth, propertyMismatchError); Assert.AreEqual(paymentVerify.ExpirationYear, expYear, propertyMismatchError); }
public void OrderSystem_LineItemMetaDataSave() { bool metaFieldExists = false; MetaField brandField = null; string fieldName = "Brand"; bool metaFieldAdded = false; string testForValue = "Test"; string returnedValue = ""; Cart cart = null; Cart newCart = null; Cart retrieveTestCart = null; Guid customerId = Guid.NewGuid(); //Create cart. This cart is just used to get the lineitem meta class information try { cart = OrderHelper.CreateCartSimple(customerId); } catch (Exception exc) { if (exc.Message == "'maxValue' must be greater than zero.\r\nParameter name: maxValue") { Assert.Fail("Check your ApplicationId"); } else { throw exc; } } //first make sure the meta field exists in the collection for the LineItem collection MetaDataContext context = OrderContext.MetaDataContext; MetaClass mc = cart.OrderForms[0].LineItems[0].MetaClass; for (int i = 0; i < mc.MetaFields.Count; i++) { if (mc.MetaFields[i].Name.Equals(fieldName, StringComparison.OrdinalIgnoreCase)) { brandField = mc.MetaFields[i]; metaFieldExists = true; break; } } if (!metaFieldExists) { brandField = MetaField.Load(context, fieldName); if (brandField == null) { brandField = MetaField.Create(context, "Mediachase.Commerce.Orders.System", fieldName, fieldName, "", MetaDataType.ShortString, 100, true, false, false, false, false); metaFieldAdded = true; } mc.AddField(brandField); } //use a new customer id for the new cart customerId = Guid.NewGuid(); //Create a new cart that will be used to add meta data to and save newCart = OrderHelper.CreateRetrieveOneLineItemCart(customerId); //now add a value for this new metafield in the first lineitem in the cart newCart.OrderForms[0].LineItems[0][fieldName] = testForValue; newCart.AcceptChanges(); //now retrieve the cart anew and test retrieveTestCart = Cart.LoadByCustomerAndName(newCart.CustomerId, newCart.Name); //check for the value if (retrieveTestCart.OrderForms[0].LineItems[0][fieldName] != null) { returnedValue = retrieveTestCart.OrderForms[0].LineItems[0][fieldName].ToString(); } if (!metaFieldExists) { mc.DeleteField(brandField); } //delete the field if added if (metaFieldAdded) { MetaField.Delete(context, brandField.Id); } if (testForValue != returnedValue) { Assert.Fail("Value was not saved"); } }