public async Task DeleteWordsAsync_ReturnsIdSetOfDeletedWhenExist() { const int count = 5; const int deletedCount = 3; var expected = (await FeedTestData(_context, count)).OfType <Noun>().Skip(count - deletedCount).ToList(); var service = new WordsService(_context); var actual = await service.DeleteWordsAsync(expected); Assert.Equal(deletedCount, actual.Count); Assert.Equal(count - deletedCount, _context.Set <Noun>().Count()); actual.Should().Equal(expected.Select(w => w.Id)); }
public async Task DeleteWordsAsync_ReturnsEmptyIdSetOfDeletedWhenDoNotExist() { await FeedTestData(_context, 5); var nonExistent = new List <Adjective> { GenerateWord <Adjective>(false, false), GenerateWord <Adjective>(false, false), GenerateWord <Adjective>(false, false) }; var service = new WordsService(_context); var actual = await service.DeleteWordsAsync(nonExistent); Assert.Empty(actual); }
public async Task DeleteWordsAsync_ReturnsPartialIdSetOfDeletedWhenSomeExist() { const int count = 5; const int deletedCount = 3; var expected = (await FeedTestData(_context, count)).OfType <Adverb>().Skip(count - deletedCount).ToList(); var nonExistent = new List <Adverb> { GenerateWord <Adverb>(false, false), GenerateWord <Adverb>(false, false), GenerateWord <Adverb>(false, false) }; var service = new WordsService(_context); var actual = await service.DeleteWordsAsync(expected.Concat(nonExistent).ToList()); Assert.Equal(deletedCount, actual.Count); Assert.Equal(count - deletedCount, _context.Set <Adverb>().Count()); actual.Should().Equal(expected.Select(w => w.Id)); }