public async Task GetBookingById_WithWrongInformation_ShouldReturnNull() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var userRepository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options)); var bookingRepository = new EfDeletableEntityRepository <Model4You.Data.Models.Booking>(new ApplicationDbContext(options)); var service = new BookingService.BookingService(bookingRepository, userRepository, null); var user1 = await this.CreateUserWithNoInformationAsync ("*****@*****.**", "Pesho", "Peshev", userRepository); for (int i = 0; i < 2; i++) { await this.CreateBookingForTest( user1, DateTime.UtcNow, $"TestName{i}", "TestCompany", $"test{i}@abv.bg", $"059593{i}", 1, $"descriptionTest{i}", false, userRepository, bookingRepository); } var getBookingById = await service.GetBookingById <InboxViewModel>("FakeUser6006", user1); Assert.Null(getBookingById); }
public async Task GetBookingById_ShouldReturnTheBookingByUserIdAndBookingId() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var userRepository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options)); var bookingRepository = new EfDeletableEntityRepository <Model4You.Data.Models.Booking>(new ApplicationDbContext(options)); var service = new BookingService.BookingService(bookingRepository, userRepository, null); var user1 = await this.CreateUserWithNoInformationAsync ("*****@*****.**", "Pesho", "Peshev", userRepository); var booking = await this.CreateBookingForTest( user1, DateTime.UtcNow, "TestName", "TestCompany", "*****@*****.**", "059593", 1, "descriptionTest", false, userRepository, bookingRepository); for (int i = 0; i < 3; i++) { await this.CreateBookingForTest( user1, DateTime.UtcNow, $"TestName{i}", "TestCompany", $"test{i}@abv.bg", $"059593{i}", 1, $"descriptionTest{i}", false, userRepository, bookingRepository); } var getBookingId = await bookingRepository.All() .Where(x => x.UserId == user1 && x.HireDescription == "descriptionTest") .Select(x => x.Id) .FirstOrDefaultAsync(); var getBookingById = await service.GetBookingById <InboxViewModel>(getBookingId, user1); Assert.Equal("TestName", getBookingById.FullName); Assert.Equal("*****@*****.**", getBookingById.Email); }