public void ReturnCountOfAllAims_WhenNoFilteringParametesArePassed() { // Arrange var mockedData = new Mock <IDearDiaryData>(); var aims = new List <Aim> { new Aim() { Name = "Jump with parachute", OwnerUsername = "******" }, new Aim() { Name = "build a spacecraft", OwnerUsername = "******" }, new Aim() { Name = "visit china", OwnerUsername = "******" }, }.AsQueryable(); mockedData.Setup(x => x.Aims.All).Returns(aims); AimService service = new AimService(mockedData.Object); // Act int count = service.GetAimsCount(null, null); // Assert Assert.AreEqual(aims.Count(), count); }
public void ReturnCorrectCount_WhenFilteringByCategoriesAndSearchWord() { // Arrange var categoriesIds = new int[] { 2, 3 }; string searchWord = "juMP".ToLower(); var mockedData = new Mock <IDearDiaryData>(); var aims = new List <Aim> { new Aim() { Name = "Jump with parachute", OwnerUsername = "******", AimCategoryId = 2 }, new Aim() { Name = "build a spacecraft", OwnerUsername = "******", AimCategoryId = 1 }, new Aim() { Name = "visit niagara falls", OwnerUsername = "******", AimCategoryId = 3 }, new Aim() { Name = "visit china", OwnerUsername = "******", AimCategoryId = 2 } }.AsQueryable(); mockedData.Setup(x => x.Aims.All).Returns(aims); AimService service = new AimService(mockedData.Object); // Act int count = service.GetAimsCount(searchWord, categoriesIds); int expectedCount = aims .Where(x => categoriesIds.Contains(x.AimCategoryId)) .Where(x => x.Name.ToLower().Contains(searchWord) || x.OwnerUsername.ToLower().Contains(searchWord)) .ToList().Count; // Assert Assert.AreEqual(expectedCount, count); }
public void ReturnCorrectCount_WhenFilteringBySearchWord(string searchWord) { // Arrange var mockedData = new Mock <IDearDiaryData>(); var aims = new List <Aim> { new Aim() { Name = "Jump with parachute", OwnerUsername = "******" }, new Aim() { Name = "build a spacecraft", OwnerUsername = "******" }, new Aim() { Name = "visit niagara falls", OwnerUsername = "******" }, new Aim() { Name = "visit china", OwnerUsername = "******" }, }.AsQueryable(); mockedData.Setup(x => x.Aims.All).Returns(aims); AimService service = new AimService(mockedData.Object); // Act int count = service.GetAimsCount(searchWord, null); int expectedCount = aims.Where(x => x.Name.Contains(searchWord) || x.OwnerUsername.Contains(searchWord)).ToList().Count; // Assert Assert.AreEqual(expectedCount, count); }