public async Task ChangeIsDeletedToFalse_WhenExistAndParametersAreValid() { // Arrange var contextOptions = new DbContextOptionsBuilder <AlphaCinemaContext>() .UseInMemoryDatabase(databaseName: "ChangeIsDeletedToFalse_WhenExistAndParametersAreValid") .UseInternalServiceProvider(serviceProvider) .Options; //Act using (var actContext = new AlphaCinemaContext(contextOptions)) { await actContext.AddAsync(deletedReservation); await actContext.SaveChangesAsync(); var command = new ProjectionService(actContext); await command.AddReservation(testUserId, testProjectionId); } //Assert using (var assertContext = new AlphaCinemaContext(contextOptions)) { Assert.IsTrue(assertContext.WatchedMovies.Count() == 1); Assert.IsTrue(assertContext.WatchedMovies.First().IsDeleted == false); } }
public async Task AddNewWatchedMovie_WhenDontExistAndParametersAreValid() { // Arrange //Important: InMemory is designed to be a general purpose database for testing, //and is not designed to mimic a relational database. //Simply said InMemory database wont respect the foreign key constraint var contextOptions = new DbContextOptionsBuilder <AlphaCinemaContext>() .UseInMemoryDatabase(databaseName: "AddNewWatchedMovie_WhenDontExistAndParametersAreValid") .UseInternalServiceProvider(serviceProvider) .Options; //Act using (var actContext = new AlphaCinemaContext(contextOptions)) { var command = new ProjectionService(actContext); await command.AddReservation(testUserId, testProjectionId); } //Assert using (var assertContext = new AlphaCinemaContext(contextOptions)) { Assert.IsTrue(assertContext.WatchedMovies.Count() == 1); Assert.IsTrue(assertContext.WatchedMovies.First().UserId == testUserId); Assert.IsTrue(assertContext.WatchedMovies.First().ProjectionId == testProjectionId); } }