public async Task CreateRequestShouldReturnNotNullTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var requestRepository = new EfDeletableEntityRepository <Request>(dbContext); var hospitalDataRequestRepository = new EfDeletableEntityRepository <HospitalDataRequest>(dbContext); var hospitalDataRepository = new EfDeletableEntityRepository <HospitalData>(dbContext); var recipientReques = new EfDeletableEntityRepository <RecipientRequest>(dbContext); var locationRepository = new EfDeletableEntityRepository <Location>(dbContext); var service = new RequestsService( requestRepository, hospitalDataRequestRepository, hospitalDataRepository, recipientReques, locationRepository); // Seeding user var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", }; dbContext.Users.Add(user); // Seeding hospital var hospital = new HospitalData { ApplicationUserId = user.Id, Name = "HospitalName", Contact = new Contact { Phone = "123456789", Email = "*****@*****.**", }, Location = new Location { Country = "Bulgaria", City = "Sofia", AdressDescription = "Sofia", }, }; dbContext.HospitalData.Add(hospital); await dbContext.SaveChangesAsync(); await service.CreateRequestAsync(hospital.ApplicationUserId, "...", DateTime.UtcNow, EmergencyStatus.WithinDay, BloodGroup.A, RhesusFactor.Negative, 500); var result = requestRepository .All() .Where(r => r.NeededQuantity == 500) .FirstOrDefault(); Assert.NotNull(result); }
public async Task CreateRequestShouldThrowExceptionIfInvalidDataIsPassTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var requestRepository = new EfDeletableEntityRepository <Request>(dbContext); var hospitalDataRequestRepository = new EfDeletableEntityRepository <HospitalDataRequest>(dbContext); var hospitalDataRepository = new EfDeletableEntityRepository <HospitalData>(dbContext); var recipientReques = new EfDeletableEntityRepository <RecipientRequest>(dbContext); var locationRepository = new EfDeletableEntityRepository <Location>(dbContext); var service = new RequestsService( requestRepository, hospitalDataRequestRepository, hospitalDataRepository, recipientReques, locationRepository); // Seeding user var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", }; dbContext.Users.Add(user); // Seeding hospital var hospital = new HospitalData { ApplicationUserId = user.Id, Name = "HospitalName", Contact = new Contact { Phone = "123456789", Email = "*****@*****.**", }, Location = new Location { Country = "Bulgaria", City = "Sofia", AdressDescription = "Sofia", }, }; dbContext.HospitalData.Add(hospital); await dbContext.SaveChangesAsync(); await Assert.ThrowsAsync <ArgumentException>(() => service.CreateRequestAsync(hospital.ApplicationUserId, "content...", DateTime.UtcNow, EmergencyStatus.WithinDay, BloodGroup.A, RhesusFactor.Negative, 0)); }
public async Task CreateRequestShouldthrowExceptionDueToNullHospitalDataTest() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var requestRepository = new EfDeletableEntityRepository <Request>(dbContext); var hospitalDataRequestRepository = new EfDeletableEntityRepository <HospitalDataRequest>(dbContext); var hospitalDataRepository = new EfDeletableEntityRepository <HospitalData>(dbContext); var recipientReques = new EfDeletableEntityRepository <RecipientRequest>(dbContext); var locationRepository = new EfDeletableEntityRepository <Location>(dbContext); var service = new RequestsService( requestRepository, hospitalDataRequestRepository, hospitalDataRepository, recipientReques, locationRepository); await Assert.ThrowsAsync <ArgumentException>(() => service.CreateRequestAsync("1", "...", DateTime.UtcNow, EmergencyStatus.WithinDay, BloodGroup.A, RhesusFactor.Negative, 500)); }