public async Task CreateBooking_WithNotValidUser_ShouldReturnFailMessage() { 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 fakeUserId = "FakeUser6006"; var booking = await service.CreateBooking( fakeUserId, DateTime.UtcNow, "TestName", "TestCompany", "*****@*****.**", "059593", 3, "descriptionTest"); var failedNoUser = "******"; var getBooking = await bookingRepository .All() .Where(x => x.UserId == fakeUserId) .FirstOrDefaultAsync(); Assert.Equal(failedNoUser, booking); Assert.Null(getBooking); }
public async Task CreateBooking_ShouldCreateBookingForTheModel() { 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 service.CreateBooking( user1, DateTime.UtcNow, "TestName", "TestCompany", "*****@*****.**", "059593", 3, "descriptionTest"); var success = "Booking was successful! Please wait for the model to contact you back"; var getBooking = await bookingRepository .All() .Where(x => x.UserId == user1) .FirstOrDefaultAsync(); Assert.Equal(success, booking); Assert.NotNull(getBooking); }