public void UpdateCustomerMergePersistentAndCurrent() { //Arrange var country = new Country("spain", "es-ES"); country.GenerateNewIdentity(); var customerId = Guid.NewGuid(); var countryRepository = new StubICountryRepository(); var customerRepository = new StubICustomerRepository(); customerRepository.UnitOfWorkGet = () => { var uow = new StubIUnitOfWork(); uow.Commit = () => { }; return uow; }; customerRepository.GetGuid = (guid) => { var customer = CustomerFactory.CreateCustomer( "Jhon", "El rojo", "+3434", "company", country, new Address("city", "zipCode", "address line", "address line")); customer.ChangeCurrentIdentity(customerId); return customer; }; customerRepository.MergeCustomerCustomer = (persistent, current) => { Assert.AreEqual(persistent, current); Assert.IsTrue(persistent != null); Assert.IsTrue(current != null); }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); var customerDto = new CustomerDto() //missing lastname { Id = customerId, CountryId = country.Id, FirstName = "Jhon", LastName = "El rojo", }; //act customerManagementService.UpdateCustomer(customerDto); }
public void UpdateCustomerMergePersistentAndCurrent() { //Arrange Guid countryGuid = Guid.NewGuid(); Guid customerId = Guid.NewGuid(); var adapter = PrepareTypeAdapter(); var countryRepository = new SICountryRepository(); var customerRepository = new SICustomerRepository(); customerRepository.UnitOfWorkGet = () => { var uow = new SIUnitOfWork(); uow.Commit = () => { }; return uow; }; customerRepository.GetGuid = (guid) => { var customer = CustomerFactory.CreateCustomer("Jhon", "El rojo", countryGuid, new Address("city", "zipCode", "address line", "address line")); customer.Id = customerId; return customer; }; customerRepository.MergeCustomerCustomer = (persistent, current) => { Assert.AreEqual(persistent, current); Assert.IsTrue(persistent != null); Assert.IsTrue(current != null); }; var customerManagementService = new CustomerAppService(adapter, countryRepository, customerRepository); var customerDTO = new CustomerDTO() //missing lastname { Id = customerId, CountryId = countryGuid, FirstName = "Jhon", LastName = "El rojo", }; //act customerManagementService.UpdateCustomer(customerDTO); }