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 CreateDonationShouldReturnNotNullTest() { 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 service = new DonationEventsService( donationEventRepository, bloodBankRepository, bagRepository, hospitalDataRepository, donorDataRepository, requestRepository); await SeedDataAsync(dbContext); var donationEvent = donationEventRepository.All().FirstOrDefault(de => de.RequestId == "123"); Assert.NotNull(donationEvent); }
public async Task CreateDonationThrowNoDonorDataerrorTest() { 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 service = new DonationEventsService( donationEventRepository, bloodBankRepository, bagRepository, hospitalDataRepository, donorDataRepository, requestRepository); await SeedDataAsync(dbContext); await Assert.ThrowsAsync <ArgumentException>(() => service.CreateDonation("111", "222", 500, 0, BloodGroup.A, RhesusFactor.Negative)); }
public async Task CreateDonationCorectlyTest() { 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); var userDonor = new ApplicationUser { UserName = "******", Email = "*****@*****.**", }; await dbContext.Users.AddAsync(userDonor); var donor = new DonorData { ApplicationUserId = userDonor.Id, }; await dbContext.DonorData.AddAsync(donor); var userHospital = new ApplicationUser { UserName = "******", Email = "*****@*****.**", }; await dbContext.Users.AddAsync(userDonor); var hospital = new HospitalData { ApplicationUserId = userHospital.Id, }; await dbContext.HospitalData.AddAsync(hospital); var bloodBank = new BloodBank { HospitalDataId = hospital.Id, }; await dbContext.BloodBanks.AddAsync(bloodBank); hospital.BloodBank = bloodBank; await dbContext.SaveChangesAsync(); await service.CreateDonation(hospital.Id, donor.ApplicationUserId, 500, 0, BloodGroup.A, RhesusFactor.Negative); var donotionEvent = donationEventRepository.All().FirstOrDefault(de => de.UserDonorId == donor.ApplicationUserId); Assert.NotNull(donotionEvent); }