public async Task RemoveGenreAsyncWithInCorrectDataShoulThrowNullReferenceException(int groupId, int genreId) { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var dbContext = new ApplicationDbContext(options); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var groupGenresRepository = new EfRepository <GroupGenre>(dbContext); var genresService = new GenresService(groupGenresRepository, genresRepository); await Assert.ThrowsAsync <NullReferenceException>(async() => { await genresService.RemoveGenreAsync(groupId, genreId); }); }
public async Task RemoveGenreAsyncWithCorrectDataShouldReturnCorrectResult() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var dbContext = new ApplicationDbContext(options); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var groupGenresRepository = new EfRepository <GroupGenre>(dbContext); var genresService = new GenresService(groupGenresRepository, genresRepository); await groupGenresRepository.AddAsync(new GroupGenre { GroupId = 2, GenreId = 1 }); await groupGenresRepository.SaveChangesAsync(); var actual = await genresService.RemoveGenreAsync(2, 1); var expected = 2; Assert.Equal(expected, actual); }