/// <summary> /// Inserts a customer record in the merchCustomer table and returns an <see cref="ICustomer"/> object representation /// </summary> /// <returns></returns> public ICustomer MakeExistingCustomer() { var customer = MockCustomerDataMaker.CustomerForInserting(); ((CustomerService)CustomerService).Save(customer); return(customer); }
/// <summary> /// Inserts a customer record in the merchCustomer table and returns an <see cref="ICustomer"/> object representation /// </summary> /// <returns></returns> public ICustomer MakeExistingCustomer(string loginName = "") { var customer = MockCustomerDataMaker.CustomerForInserting(loginName); ((CustomerService)CustomerService).Save(customer); return(customer); }
public void Can_Create_A_Customer_With_Addresses() { //// Arrange var customer = MockCustomerDataMaker.CustomerForInserting(); _customerService.Save(customer); //// Act var customerAddresses = MockCustomerAddressDataMaker.AddressCollectionForInserting(customer, "addresses", 4).ToArray(); customerAddresses[0].AddressType = AddressType.Billing; customerAddresses[1].AddressType = AddressType.Billing; foreach (var address in customerAddresses) { address.IsDefault = true; } ((Core.Models.Customer)customer).Addresses = customerAddresses; _customerService.Save(customer); //// Assert Assert.AreEqual(4, customer.Addresses.Count()); var defaultBilling = customer.DefaultCustomerAddress(MerchelloContext.Current, AddressType.Billing); var defaultShipping = customer.DefaultCustomerAddress(MerchelloContext.Current, AddressType.Shipping); Assert.NotNull(defaultBilling); Assert.NotNull(defaultShipping); Assert.AreEqual(2, customer.Addresses.Count(x => x.AddressType == AddressType.Billing)); Assert.AreEqual(2, customer.Addresses.Count(x => x.AddressType == AddressType.Shipping)); Assert.AreEqual(1, customer.Addresses.Count(x => x.AddressType == AddressType.Billing && x.IsDefault)); Assert.AreEqual(1, customer.Addresses.Count(x => x.AddressType == AddressType.Shipping && x.IsDefault)); }
public void Save_Is_Committed() { var customer = MockCustomerDataMaker.CustomerForInserting(); _customerService.Save(customer); Assert.IsTrue(CommitCalled); }
/// <summary> /// Inserts a collection customer records in the merchCustomer table and returns a collection <see cref="ICustomer"/> object representation /// </summary> /// <param name="count">The number of customers to create in the collection</param> /// <returns></returns> public IEnumerable <ICustomer> CollectionExistingCustomers(int count) { var customers = new List <ICustomer>(); for (var i = 0; i < count; i++) { customers.Add(MockCustomerDataMaker.CustomerForInserting()); } ((CustomerService)CustomerService).Save(customers); return(customers); }
public void Delete_Is_Committed() { //// Arrange var customer = MockCustomerDataMaker.CustomerForInserting().MockSavedWithKey(Guid.NewGuid()); //// Act _customerService.Delete(customer); //// Assert Assert.IsTrue(CommitCalled); }
public void Save_Triggers_Events_And_Customer_Is_Passed() { var customer = MockCustomerDataMaker.CustomerForInserting(); _customerService.Save(customer); Assert.IsTrue(BeforeTriggered); Assert.AreEqual(customer.FirstName, Before.FirstName); Assert.IsTrue(AfterTriggered); Assert.AreEqual(customer.LastName, After.LastName); }
public void Delete_Triggers_Events_And_Customer_Is_Passed() { //// Arrange var customer = MockCustomerDataMaker .CustomerForInserting() .MockSavedWithKey(Guid.NewGuid()); //// Act _customerService.Delete(customer); Assert.IsTrue(BeforeTriggered); Assert.AreEqual(customer, Before); Assert.IsTrue(AfterTriggered); Assert.AreEqual(customer, After); }
public void Can_Add_New_Address_To_Customer_Add_Save_It_As_Default() { //// Arrange var customer = MockCustomerDataMaker.CustomerForInserting(); _customerService.Save(customer); var customerAddresses = MockCustomerAddressDataMaker.AddressCollectionForInserting(customer, "addresses", 4).ToArray(); customerAddresses[0].AddressType = AddressType.Billing; customerAddresses[1].AddressType = AddressType.Billing; foreach (var address in customerAddresses) { address.IsDefault = true; } ((Core.Models.Customer)customer).Addresses = customerAddresses; _customerService.Save(customer); var oldDefaultKey = customer.DefaultCustomerAddress(MerchelloContext.Current, AddressType.Billing).Key; //// Act var addresses = customer.Addresses.ToList(); var newAddress = MockCustomerAddressDataMaker.CustomerAddressForInserting(customer.Key); newAddress.AddressType = AddressType.Billing; newAddress.IsDefault = true; addresses.Add(newAddress); ((Core.Models.Customer)customer).Addresses = addresses; _customerService.Save(customer); //// Assert Assert.AreEqual(5, customer.Addresses.Count()); var newDefaultKey = customer.DefaultCustomerAddress(MerchelloContext.Current, AddressType.Billing).Key; Assert.AreNotEqual(oldDefaultKey, newDefaultKey); Assert.AreEqual(3, customer.Addresses.Count(x => x.AddressType == AddressType.Billing)); Assert.AreEqual(2, customer.Addresses.Count(x => x.AddressType == AddressType.Shipping)); Assert.AreEqual(1, customer.Addresses.Count(x => x.AddressType == AddressType.Billing && x.IsDefault)); Assert.AreEqual(1, customer.Addresses.Count(x => x.AddressType == AddressType.Shipping && x.IsDefault)); }
protected override void Initialize() { _invoiceService = new InvoiceService(new MockUnitOfWorkProvider(), new RepositoryFactory()); _invoice = _invoiceService.CreateInvoice(_customer, _invoiceStatus, "test111", "name", "address1", "address2", "city", "state", "98225", "US", "*****@*****.**", string.Empty, string.Empty); Before = null; After = null; _beforeInvoice = null; _afterInvoice = null; _statusBefore = false; _statusAfter = false; _customer = MockCustomerDataMaker.CustomerForInserting().MockSavedWithKey(111); _invoiceStatus = MockInvoiceStatusDataMaker.InvoiceStatusUnpaidMock(); _anonymous = MockAnonymousCustomerDataMaker.AnonymousCustomerForInserting().MockSavedWithKey(Guid.NewGuid()); InvoiceService.Saving += delegate(IInvoiceService sender, SaveEventArgs <IInvoice> args) { BeforeTriggered = true; Before = args.SavedEntities.FirstOrDefault(); }; InvoiceService.Saved += delegate(IInvoiceService sender, SaveEventArgs <IInvoice> args) { AfterTriggered = true; After = args.SavedEntities.FirstOrDefault(); }; InvoiceService.Created += delegate(IInvoiceService sender, Core.Events.NewEventArgs <IInvoice> args) { AfterTriggered = true; After = args.Entity; }; InvoiceService.Deleting += delegate(IInvoiceService sender, DeleteEventArgs <IInvoice> args) { BeforeTriggered = true; Before = args.DeletedEntities.FirstOrDefault(); }; InvoiceService.Deleted += delegate(IInvoiceService sender, DeleteEventArgs <IInvoice> args) { AfterTriggered = true; After = args.DeletedEntities.FirstOrDefault(); }; InvoiceService.StatusChanging += delegate(IInvoiceService sender, StatusChangeEventArgs <IInvoice> args) { _statusBefore = true; _beforeInvoice = args.StatusChangedEntities; }; InvoiceService.StatusChanged += delegate(IInvoiceService sender, StatusChangeEventArgs <IInvoice> args) { _statusAfter = true; _afterInvoice = args.StatusChangedEntities; }; // General tests MockDatabaseUnitOfWork.Committed += delegate { CommitCalled = true; }; }