public async Task GetByLanguage_ShouldReturnAllTranslations_InEnglish() { // Arrange const int languageId = 1; Mock<DbSet<Translation>> translationDbSetMock = _translations .AsQueryable() .BuildMockDbSet(); Mock<IChatContext> contextMock = new Mock<IChatContext>(); contextMock .Setup(m => m.Translations) .Returns(translationDbSetMock.Object); ITranslationRepository translationRepository = new TranslationRepository(contextMock.Object); // Act IEnumerable<Translation> actualTranslations = await translationRepository .GetByLanguage(languageId) .ToListAsync(); // Assert Assert.NotNull(actualTranslations); Assert.NotEmpty(actualTranslations); Assert.Equal(2, actualTranslations.Count()); Assert.All(actualTranslations, translation => Assert.Equal(1, translation.LanguageId)); }
public async Task GetByLanguage_ShouldReturnFilteredLanguages_WhenPatternIsProvided() { // Arrange const int languageId = 1; const string pattern = "Page.Group.LabelTwo"; Mock<DbSet<Translation>> translationDbSetMock = _translations .AsQueryable() .BuildMockDbSet(); Mock<IChatContext> contextMock = new Mock<IChatContext>(); contextMock .Setup(m => m.Translations) .Returns(translationDbSetMock.Object); ITranslationRepository translationRepository = new TranslationRepository(contextMock.Object); // Act IEnumerable<Translation> actualTranslations = await translationRepository .GetByLanguage(languageId, pattern) .ToListAsync(); // Assert Assert.NotEmpty(actualTranslations); Assert.Single(actualTranslations); }
public async Task GetByLanguage_ShouldReturnEmptyList_WhenPatternDoesNotMatch() { // Arrange const int languageId = 1; const string pattern = "unmatchable_pattern"; Mock<DbSet<Translation>> translationDbSetMock = _translations .AsQueryable() .BuildMockDbSet(); Mock<IChatContext> contextMock = new Mock<IChatContext>(); contextMock .Setup(m => m.Translations) .Returns(translationDbSetMock.Object); ITranslationRepository translationRepository = new TranslationRepository(contextMock.Object); // Act IEnumerable<Translation> actualTranslations = await translationRepository .GetByLanguage(languageId, pattern) .ToListAsync(); // Assert Assert.Empty(actualTranslations); }