public async Task CreateAsyncWithCorrectDataShouldReturnCorrectResult() { 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); var actual = await genresService.CreateAsync("Power metal"); var expected = 1; Assert.Equal(expected, actual); }
public async Task CreateAsyncWithDublicateNameShouldThrowArgumentException() { 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 genresRepository.AddAsync(new Genre { Name = "Power metal", }); await genresRepository.SaveChangesAsync(); await Assert.ThrowsAsync <ArgumentException>(async() => { await genresService.CreateAsync("Power metal"); }); }