public void GetBlogDetails_ValidCategoriesAndStartItem_BlogDetails() { // setup our mock categories var mockCategory = new Mock<IBlogCategory>(); mockCategory.Setup(x => x.CategoryName).Returns("STUFFS"); var mockCategories = Enumerable.Repeat(mockCategory.Object, 3); // setup our start item var mockItem = new Mock<ISitecoreItem>(); mockItem.Setup(x => x.Id).Returns(() => Guid.NewGuid()); // setup fake results var detail = new Mock<IBlogDetail>(); detail.Setup(x => x.BlogDetailBody).Returns("BodyS"); var blogDetails = Enumerable.Repeat(detail.Object, 55); // setup our context var mockContext = new Mock<IContext>(); mockContext.Setup(x => x.Query<IBlogDetail>(It.IsAny<string>(), false, false)).Returns(blogDetails); mockContext.Setup(x => x.SiteStartPath).Returns("/blah/blah"); // setup the repo var mockLogger = new Mock<ILogger>(); var mockService = new Mock<IAnalyticsService>(); var repository = new DefaultBlogRepository(mockLogger.Object, mockContext.Object, mockService.Object); // act var result = repository.GetBlogDetails(2, mockCategories, mockItem.Object); // assert. Assert.AreEqual(2, result.Count); }
public void GetBlogDetails_NullCategories_EmptyList() { // arrange var mockLogger = new Mock<ILogger>(); var mockContext = new Mock<IContext>(); var mockService = new Mock<IAnalyticsService>(); var repository = new DefaultBlogRepository(mockLogger.Object, mockContext.Object, mockService.Object); // act. IList<IBlogDetail> blogs = repository.GetBlogDetails(10, null, null); // assert. Assert.AreEqual(0, blogs.Count); }
public void GetBlogDetails_NullStartItem_ArgumentNullException() { // arrange var mockLogger = new Mock<ILogger>(); var mockContext = new Mock<IContext>(); var mockService = new Mock<IAnalyticsService>(); var repository = new DefaultBlogRepository(mockLogger.Object, mockContext.Object, mockService.Object); // setup our mock categories var mockCategory = new Mock<IBlogCategory>(); mockCategory.Setup(x => x.CategoryName).Returns("STUFFS"); var mockCategories = Enumerable.Repeat(mockCategory.Object, 3); try { // act. IList<IBlogDetail> blogs = repository.GetBlogDetails(10, mockCategories, null); Assert.IsNull(blogs); } catch (ArgumentNullException ex) { // assert. Assert.AreEqual("startItem", ex.ParamName); throw; } }