public async void AddOrganizationAsync_ParametersWithCountryCodeThatExist_ThrowsHttpStatusCodeException() { // Arrange using (var unitOfWork = new EFUnitOfWork(dbOptions)) { var user = unitOfWork.UserRepository.Find(x => x.Email == userEmail); unitOfWork.OrganizationRepository.Add(new Organization { Name = "Unique Organization", Code = "UniqueOrg", Type = OrganizationType.IncorporatedCompany, User = user }); unitOfWork.Save(); } var organizationDto = new OrganizationDto { Name = "Ununique Organization", Code = "UniqueOrg", Type = OrganizationType.LimitedLiabilityCompany.GetStringName() }; var organizationService = new OrganizationService(new EFUnitOfWork(dbOptions), mapper); // Act and Assert await Assert.ThrowsAsync <HttpStatusCodeException>(() => organizationService.AddOrganizationAsync(organizationDto, userEmail)); }
public async void AddOrganizationAsync_CorrectParameters_CreateNewOrganization() { // Arrange var organizationType = OrganizationType.LimitedPartnership; var organizationDto = new OrganizationDto { Name = "Organization", Code = "Org", Type = organizationType.GetStringName() }; var organizationService = new OrganizationService(new EFUnitOfWork(dbOptions), mapper); // Act await organizationService.AddOrganizationAsync(organizationDto, userEmail); // Assert using (var unitOfWork = new EFUnitOfWork(dbOptions)) { var organizationRepository = unitOfWork.OrganizationRepository; var organization = organizationRepository.Find(x => x.Code == organizationDto.Code); Assert.Equal(organizationDto.Name, organization.Name); Assert.Equal(organizationDto.Code, organization.Code); Assert.Equal(organizationType, organization.Type); Assert.Equal(userEmail, organization.User.Email); } }