public void FindCustomerMaterializaResultIfExist() { //Arrange var countryRepository = new SICountryRepository(); var customerRepository = new SICustomerRepository(); var country = new Country("spain", "es-ES"); country.GenerateNewIdentity(); customerRepository.GetGuid = (guid) => { return(CustomerFactory.CreateCustomer("Jhon", "El rojo", "+3434344", "company", country, new Address("city", "zipCode", "address line1", "address line2"))); }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCustomer(Guid.NewGuid()); //Assert Assert.IsNotNull(result); }
public void FindCountriesByFilterMaterializeResults() { //Arrange var customerRepository = new Mock <ICustomerRepository>(); var countryRepository = new Mock <ICountryRepository>(); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); countryRepository .Setup(x => x.AllMatching(It.IsAny <ISpecification <Country> >())) .Returns((ISpecification <Country> spec) => { var country = new Country("country name", "country iso"); country.GenerateNewIdentity(); return(new List <Country>() { country }); }); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); //Act var result = customerManagementService.FindCountries("filter"); //Assert Assert.NotNull(result); Assert.True(result.Count == 1); }
public void FindCountriesInPageMaterializeResults() { //Arrange var customerRepository = new Mock <ICustomerRepository>(); var countryRepository = new Mock <ICountryRepository>(); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); countryRepository .Setup(x => x.GetPaged <string>(It.IsAny <Int32>(), It.IsAny <Int32>(), It.IsAny <Expression <Func <Country, string> > >(), It.IsAny <bool>())) .Returns((Int32 index, Int32 count, Expression <Func <Country, string> > order, bool ascending) => { var country = new Country("country name", "country iso"); country.GenerateNewIdentity(); return(new List <Country>() { country }); }); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); //Act var result = customerManagementService.FindCountries(0, 1); //Assert Assert.NotNull(result); Assert.True(result.Count == 1); }
public void FindCustomersByFilterMaterializeResults() { //Arrange var countryRepository = new SICountryRepository(); var customerRepository = new SICustomerRepository(); var country = new Country("Spain", "es-ES"); country.GenerateNewIdentity(); customerRepository.AllMatchingISpecificationOfCustomer = (spec) => { var customers = new List <Customer>(); customers.Add(CustomerFactory.CreateCustomer("Jhon", "El rojo", "+34343", "company", country, new Address("city", "zipCode", "address line", "address line2"))); return(customers); }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCustomers("Jhon"); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Count == 1); }
public void FindCustomerReturnNullIfCustomerIdIsEmpty() { //Arrange var countryRepository = new SICountryRepository(); var customerRepository = new SICustomerRepository(); customerRepository.GetGuid = (guid) => { if (guid == Guid.Empty) { return(null); } else { return(new Customer()); } }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCustomer(Guid.Empty); //Assert Assert.IsNull(result); }
public void FindCountriesInPageMaterializeResults() { //Arrange var customerRepository = new SICustomerRepository(); var countryRepository = new SICountryRepository(); countryRepository.GetPagedInt32Int32ExpressionOfFuncOfCountryKPropertyBoolean <string>((index, count, order, ascending) => { var country = new Country("country name", "country iso"); country.GenerateNewIdentity(); return(new List <Country>() { country }); }); var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCountries(0, 1); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Count == 1); }
public void FindCustomersByFilterMaterializeResults() { //Arrange var countryRepository = new Mock <ICountryRepository>(); var customerRepository = new Mock <ICustomerRepository>(); var country = new Country("Spain", "es-ES"); country.GenerateNewIdentity(); customerRepository .Setup(x => x.AllMatching(It.IsAny <ISpecification <Customer> >())) .Returns((ISpecification <Customer> spec) => { var customers = new List <Customer>(); customers.Add(CustomerFactory.CreateCustomer("Jhon", "El rojo", "+34343", "company", country, new Address("city", "zipCode", "address line", "address line2"))); return(customers); }); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); //Act var result = customerManagementService.FindCustomers("Jhon"); //Assert Assert.NotNull(result); Assert.True(result.Count == 1); }
public void FindCountriesByFilterMaterializeResults() { //Arrange var customerRepository = new SICustomerRepository(); var countryRepository = new SICountryRepository(); countryRepository.AllMatchingISpecificationOfCountry = (spec) => { var country = new Country("country name", "country iso"); country.GenerateNewIdentity(); return(new List <Country>() { country }); }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCountries("filter"); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Count == 1); }
public void GetById() { // Arrange var customer = new Domain.Models.Customer(new Guid(), "Alan", "*****@*****.**", new DateTime()); var customerRepositoryMock = new Mock <ICustomerRepository>(); customerRepositoryMock.Setup(x => x.GetById(customer.Id)) .Returns(customer); var mapperMock = new Mock <IMapper>(); mapperMock.Setup(x => x.Map <CustomerViewModel>(customer)).Returns(new CustomerViewModel { Id = customer.Id, Name = customer.Name, Email = customer.Email, BirthDate = customer.BirthDate, }); // Act var sut = new CustomerAppService(mapperMock.Object, customerRepositoryMock.Object, null, null); var result = sut.GetById(customer.Id); // Assert Assert.Equal(result.Id, customer.Id); Assert.Equal(result.Name, customer.Name); Assert.Equal(result.Email, customer.Email); Assert.Equal(result.BirthDate, customer.BirthDate); }
public void FindCustomersInPageMaterializeResults() { //Arrange var countryRepository = new Mock<ICountryRepository>(); var customerRepository = new Mock<ICustomerRepository>(); var country = new Country("spain", "es-ES"); country.GenerateNewIdentity(); customerRepository .Setup(x => x.GetEnabled(It.IsAny<Int32>(), It.IsAny<Int32>())) .Returns((Int32 index, Int32 count) => { var customers = new List<Customer>(); customers.Add(CustomerFactory.CreateCustomer("Jhon", "El rojo", "+343", "company", country, new Address("city", "zipCode", "address line", "address line2"))); return customers; }); Mock<ILogger<CustomerAppService>> _mockLogger = new Mock<ILogger<CustomerAppService>>(); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); //Act var result = customerManagementService.FindCustomers(0, 1); //Assert Assert.NotNull(result); Assert.True(result.Count == 1); }
public void RemoveCustomerSetCustomerAsDisabled() { //Arrange var country = new Country("spain", "es-ES"); country.GenerateNewIdentity(); Guid customerId = Guid.NewGuid(); var countryRepository = new Mock<ICountryRepository>(); var customerRepository = new Mock<ICustomerRepository>(); Mock<MainBCUnitOfWork> _mockContext = new Mock<MainBCUnitOfWork>(); _mockContext.Setup(c => c.Commit()); customerRepository .Setup(x => x.UnitOfWork).Returns(_mockContext.Object); var customer = CustomerFactory.CreateCustomer("Jhon", "El rojo","+3434","company",country, new Address("city", "zipCode", "address line", "address line")); customer.ChangeCurrentIdentity(customerId); customerRepository .Setup(x => x.Get(It.IsAny<Guid>())) .Returns((Guid guid) => { return customer; }); Mock<ILogger<CustomerAppService>> _mockLogger = new Mock<ILogger<CustomerAppService>>(); //Act var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); customerManagementService.RemoveCustomer(customerId); //Assert Assert.False(customer.IsEnabled); }
public void FindCustomerMaterializaResultIfExist() { //Arrange var countryRepository = new Mock <ICountryRepository>(); var customerRepository = new Mock <ICustomerRepository>(); var country = new Country("spain", "es-ES"); country.GenerateNewIdentity(); customerRepository .Setup(x => x.Get(It.IsAny <Guid>())) .Returns((Guid guid) => { return(CustomerFactory.CreateCustomer("Jhon", "El rojo", "+3434344", "company", country, new Address("city", "zipCode", "address line1", "address line2"))); }); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); //Act var result = customerManagementService.FindCustomer(Guid.NewGuid()); //Assert Assert.NotNull(result); }
public void FindCustomerReturnNullIfCustomerIdIsEmpty() { //Arrange var countryRepository = new Mock <ICountryRepository>(); var customerRepository = new Mock <ICustomerRepository>(); customerRepository .Setup(x => x.Get(It.IsAny <Guid>())) .Returns((Guid guid) => { if (guid == Guid.Empty) { return(null); } else { return(new Customer()); } }); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); //Act var result = customerManagementService.FindCustomer(Guid.Empty); //Assert Assert.Null(result); }
public void FindCustomersInPageMaterializeResults() { //Arrange var countryRepository = new SICountryRepository(); var customerRepository = new SICustomerRepository(); var country = new Country("spain", "es-ES"); country.GenerateNewIdentity(); customerRepository.GetEnabledInt32Int32 = (index, count) => { var customers = new List <Customer>(); customers.Add(CustomerFactory.CreateCustomer("Jhon", "El rojo", "+343", "company", country, new Address("city", "zipCode", "address line", "address line2"))); return(customers); }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCustomers(0, 1); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Count == 1); }
public void ConstructorThrowExceptionWhenCountryRepositoryDependencyIsNull() { //Arrange var customerRepository = new SICustomerRepository(); SICountryRepository countryRepository = null; //act var customerManagementService = new CustomerAppService(countryRepository, customerRepository); }
public void UpdateCustomerMergePersistentAndCurrent() { //Arrange var country = new Country("spain", "es-ES"); country.GenerateNewIdentity(); Guid customerId = Guid.NewGuid(); var countryRepository = new Mock <ICountryRepository>(); var customerRepository = new Mock <ICustomerRepository>(); Mock <MainBCUnitOfWork> _mockContext = new Mock <MainBCUnitOfWork>(); _mockContext.Setup(c => c.Commit()); customerRepository .Setup(x => x.UnitOfWork).Returns(_mockContext.Object); customerRepository .Setup(x => x.Get(It.IsAny <Guid>())) .Returns((Guid 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 .Setup(x => x.Merge(It.IsAny <Customer>(), It.IsAny <Customer>())) .Callback <Customer, Customer>((persistent, current) => { Assert.Equal(persistent, current); Assert.True(persistent != null); Assert.True(current != null); } ); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); var customerDTO = new CustomerDTO() //missing lastname { Id = customerId, CountryId = country.Id, FirstName = "Jhon", LastName = "El rojo", }; //act customerManagementService.UpdateCustomer(customerDTO); }
public BranchAppService(BranchService branchService, ITransactionManager transactionManager, IMapper mapper, CustomerAppService customerAppService, UserService userService, ZoneService zoneService) { _branchService = branchService; _customerAppService = customerAppService; _zoneService = zoneService; _userService = userService; _mapper = mapper; _transactionManager = transactionManager; }
public void FindCountriesWithInvalidPageArgumentsReturnNull() { //Arrange var countryRepository = new SICountryRepository(); var customerRepository = new SICustomerRepository(); var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act customerManagementService.FindCountries(-1, 0); }
public void FindCustomersWithInvalidPageArgumentsThrowArgumentException() { //Arrange var countryRepository = new SICountryRepository(); var customerRepository = new SICustomerRepository(); var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act customerManagementService.FindCustomers(-1, 0); }
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 AddNewCustomerThrowExceptionIfCustomerDtoIsNull() { //Arrange var countryRepository = new StubICountryRepository(); var customerRepository = new StubICustomerRepository(); var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //act var result = customerManagementService.AddNewCustomer(null); //Assert Assert.IsNull(result); }
public void ConstructorThrowExceptionWhenCountryRepositoryDependencyIsNull() { //Arrange var customerRepository = new Mock <ICustomerRepository>(); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); Exception ex = Assert.Throws <ArgumentNullException>(() => { //act var customerManagementService = new CustomerAppService(null, customerRepository.Object, _mockLogger.Object); } ); Assert.IsType(typeof(ArgumentNullException), ex); }
public void FindCountriesByFilterReturnNullIfNotData() { //Arrange var customerRepository = new StubICustomerRepository(); var countryRepository = new StubICountryRepository(); countryRepository.AllMatchingISpecificationOfCountry = (spec) => { return(new List <Country>()); }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCountries("filter"); //Assert Assert.IsNull(result); }
public void FindCustomersInPageReturnNullIfNotData() { //Arrange var countryRepository = new StubICountryRepository(); var customerRepository = new StubICustomerRepository(); customerRepository.GetEnabledInt32Int32 = (index, count) => { return(new List <Customer>()); }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCustomers(0, 1); //Assert Assert.IsNull(result); }
public void AddNewCustomerThrowArgumentExceptionIfCustomerCountryInformationIsEmpty() { //Arrange var countryRepository = new SICountryRepository(); var customerRepository = new SICustomerRepository(); var customerManagementService = new CustomerAppService(countryRepository, customerRepository); var customerDTO = new CustomerDTO() { CountryId = Guid.Empty }; //act var result = customerManagementService.AddNewCustomer(customerDTO); }
public void AddNewCustomerThrowApplicationErrorsWhenEntityIsNotValid() { //Arrange var countryId = Guid.NewGuid(); var countryRepository = new Mock <ICountryRepository>(); countryRepository .Setup(x => x.Get(It.IsAny <Guid>())) .Returns((Guid guid) => { var country = new Country("spain", "es-ES"); country.GenerateNewIdentity(); return(country); }); var customerRepository = new Mock <ICustomerRepository>(); Mock <MainBCUnitOfWork> _mockContext = new Mock <MainBCUnitOfWork>(); _mockContext.Setup(c => c.Commit()); customerRepository.Setup(x => x.Add(It.IsAny <Customer>())); customerRepository .Setup(x => x.UnitOfWork).Returns(_mockContext.Object); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); var customerDTO = new CustomerDTO() //missing lastname { CountryId = Guid.NewGuid(), FirstName = "Jhon" }; Exception ex = Assert.Throws <ApplicationValidationErrorsException>(() => { //act var result = customerManagementService.AddNewCustomer(customerDTO); } ); Assert.IsType(typeof(ApplicationValidationErrorsException), ex); }
public void AddNewCustomerReturnAdaptedDTO() { //Arrange var countryRepository = new Mock <ICountryRepository>(); countryRepository .Setup(x => x.Get(It.IsAny <Guid>())) .Returns((Guid guid) => { var country = new Country("Spain", "es-ES");; country.ChangeCurrentIdentity(guid); return(country); }); Mock <MainBCUnitOfWork> _mockContext = new Mock <MainBCUnitOfWork>(); _mockContext.Setup(c => c.Commit()); var customerRepository = new Mock <ICustomerRepository>(); customerRepository.Setup(x => x.Add(It.IsAny <Customer>())); customerRepository .Setup(x => x.UnitOfWork).Returns(_mockContext.Object); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); var customerDTO = new CustomerDTO() { CountryId = Guid.NewGuid(), FirstName = "Jhon", LastName = "El rojo" }; //act var result = customerManagementService.AddNewCustomer(customerDTO); //Assert Assert.NotNull(result); Assert.True(result.Id != Guid.Empty); Assert.Equal(result.FirstName, customerDTO.FirstName); Assert.Equal(result.LastName, customerDTO.LastName); }
public void FindCountriesWithInvalidPageArgumentsReturnNull() { //Arrange var countryRepository = new Mock <ICountryRepository>(); var customerRepository = new Mock <ICustomerRepository>(); Mock <ILogger <CustomerAppService> > _mockLogger = new Mock <ILogger <CustomerAppService> >(); var customerManagementService = new CustomerAppService(countryRepository.Object, customerRepository.Object, _mockLogger.Object); Exception ex = Assert.Throws <ArgumentException>(() => { //Act customerManagementService.FindCountries(-1, 0); } ); Assert.IsType(typeof(ArgumentException), ex); }
public void FindCountriesInPageReturnNullIfNotData() { //Arrange var customerRepository = new SICustomerRepository(); var countryRepository = new SICountryRepository(); countryRepository.GetPagedInt32Int32ExpressionOfFuncOfCountryKPropertyBoolean <string>((index, count, order, ascending) => { return(new List <Country>()); }); var customerManagementService = new CustomerAppService(countryRepository, customerRepository); //Act var result = customerManagementService.FindCountries(0, 1); //Assert Assert.IsNull(result); }
public void AddNewCustomerReturnAdaptedDto() { //Arrange var countryRepository = new StubICountryRepository(); countryRepository.GetGuid = (guid) => { var country = new Country("Spain", "es-ES"); ; country.ChangeCurrentIdentity(guid); return(country); }; var customerRepository = new StubICustomerRepository(); customerRepository.AddCustomer = (customer) => { }; customerRepository.UnitOfWorkGet = () => { var uow = new StubIUnitOfWork(); uow.Commit = () => { }; return(uow); }; var customerManagementService = new CustomerAppService(countryRepository, customerRepository); var customerDto = new CustomerDto() { CountryId = Guid.NewGuid(), FirstName = "Jhon", LastName = "El rojo" }; //act var result = customerManagementService.AddNewCustomer(customerDto); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Id != Guid.Empty); Assert.AreEqual(result.FirstName, customerDto.FirstName); Assert.AreEqual(result.LastName, customerDto.LastName); }