public async Task CreateDonationThrowNoHospitalDataerrorTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var donationEventRepository = new EfDeletableEntityRepository <DonationEvent>(dbContext); var bloodBankRepository = new EfDeletableEntityRepository <BloodBank>(dbContext); var bagRepository = new EfDeletableEntityRepository <BloodBag>(dbContext); var hospitalDataRepository = new EfDeletableEntityRepository <HospitalData>(dbContext); var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext); var requestRepository = new EfDeletableEntityRepository <Request>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(dbContext); var service = new DonationEventsService( donationEventRepository, bloodBankRepository, bagRepository, hospitalDataRepository, donorDataRepository, requestRepository); await SeedDataAsync(dbContext); var serviceDonor = new DonorsService(donorDataRepository, usersRepository, rolesRepository); var user = usersRepository.All().FirstOrDefault(); await serviceDonor.CreateDonorProfileAsync(this.SeedInputs(), user.Id); var donorData = donorDataRepository.All().FirstOrDefault(dd => dd.ApplicationUserId == user.Id); await Assert.ThrowsAsync <ArgumentException>(() => service.CreateDonation("111", donorData.ApplicationUserId, 500, 0, BloodGroup.A, RhesusFactor.Negative)); }
public async Task CreateDonorThrowsExceptionIfNoFullDonorDataTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(dbContext); var userManager = this.GetUserManagerMock(); var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository); var input = new DonorDataProfileInputModel { Id = "123", UserName = "******", FirstName = null, MiddleName = "MiddleName", LastName = null, Age = 30, PhoneNumber = "123456789", BloodGroup = (BloodGroup)1, RhesusFactor = (RhesusFactor)1, Country = "Bulgaria", City = "Sofia", AdressDescription = "Sofia", DonorAveilableStatus = EmergencyStatus.AsSoonAsPossible, ExaminationDate = DateTime.UtcNow, DiseaseName = "None", }; await Assert.ThrowsAsync <ArgumentException>(() => service.CreateDonorProfileAsync(input, this.SeedInputs()[0].Id)); }
public async Task CreateDonorThrowsExceptionUserShouldBeRegisteredFirstTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(dbContext); var userManager = this.GetUserManagerMock(); var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository); await Assert.ThrowsAsync <ArgumentException>(() => service.CreateDonorProfileAsync(this.SeedInputs()[0], this.SeedInputs()[0].Id)); }
public async Task CreateDonorUserIsNotNullTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(dbContext); var userManager = this.GetUserManagerMock(); var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository); await SeedDataAsync(dbContext); await service.CreateDonorProfileAsync(this.SeedInputs()[0], this.SeedInputs()[0].Id); var user = usersRepository.All().Where(u => u.UserName == "User1").FirstOrDefault(); Assert.NotNull(user); }
public async Task GetAllDonorsTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(dbContext); var userManager = this.GetUserManagerMock(); var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository); await SeedDataAsync(dbContext); await service.CreateDonorProfileAsync(this.SeedInputs()[0], this.SeedInputs()[0].Id); var donors = donorDataRepository.All().Count(); Assert.Equal(1, donors); }
public async Task CreateDonorIsInCorrectRoleTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(dbContext); var userManager = this.GetUserManagerMock(); var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository); await SeedDataAsync(dbContext); await service.CreateDonorProfileAsync(this.SeedInputs()[0], this.SeedInputs()[0].Id); var user = usersRepository.All().Where(u => u.UserName == "User1").FirstOrDefault(); var isInRole = await userManager.Object.IsInRoleAsync(user, GlobalConstants.DonorRoleName); Assert.True(isInRole); }