/// <summary> /// Inserts a collection of address records into the database and returns a collection of <see cref="ICustomerAddress"/> objects representation /// </summary> public IEnumerable <ICustomerAddress> MakeExistingAddressCollection(ICustomer customer, string label, int count) { var addresses = MockCustomerAddressDataMaker.AddressCollectionForInserting(customer, label, count); //AddressService.Save(addresses); return(addresses); }
/// <summary> /// Inserts an address record in the merchAddress table and returns an <see cref="ICustomerAddress"/> object representation /// </summary> public ICustomerAddress MakeExistingAddress(ICustomer customer, string label) { var address = MockCustomerAddressDataMaker.RandomAddress(customer, label); //AddressService.Save(address); return(address); }
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 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)); }