public async Task Should_Call_Repository_On_DeleteMovieAsync() { // Arrange Mock <IMoviesRepository> mockMovieRepository = new Mock <IMoviesRepository>(MockBehavior.Loose); MoviesService systemUnderTest = new MoviesService(mockMovieRepository.Object); // Act await systemUnderTest.DeleteMovieAsync(0); // Assert mockMovieRepository.Verify(x => x.DeleteAsync(It.IsAny <int>()), Times.Once()); }
public async Task DeleteMovieShouldDeleteTargetMovieByid() { AutoMapperConfig.RegisterMappings(typeof(MovieTestModel).Assembly); var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Movie>(new ApplicationDbContext(options.Options)); await repository.AddAsync(new Movie { Id = 1, Name = "Movie1" }); await repository.AddAsync(new Movie { Id = 2, Name = "Movie2" }); await repository.AddAsync(new Movie { Id = 3, Name = "Movie3" }); await repository.SaveChangesAsync(); var service = new MoviesService(repository, null, null, null); await service.DeleteMovieAsync(2); Assert.Equal(2, repository.All().Count()); }