public void It_should_ask_the_tag_service_for_all_tags() { //arrange //act _controller.Index(); //assert A.CallTo(() => _tagService.GetAll(A <Expression <Func <Tag, bool> >[]> .That.IsSameSequenceAs(TestUtilities.EmptyTagFilters()))).MustHaveHappened(); }
public void TagControllerTests_Empty_Repository_Returns_No_Tags() { //Arrange var repo = Substitute.For <IRepository>(); repo.Find(Arg.Any <SearchTagsByNameQuery>()).Returns(x => Enumerable.Empty <Tag>()); var controller = new TagController(repo); //Act var result = controller.Index() as JsonResult; //Assert Assert.IsNotNull(result); Assert.IsNotNull(result.Data); Assert.IsFalse(((IEnumerable <object>)result.Data).Any()); }
public async Task IndexShouldReturnCorrectViewModel() { var currentUser = new ApplicationUser { UserName = "******" }; var tag = new Tag { Id = Guid.NewGuid().ToString() }; var mockService = new Mock <ITagService>(); mockService.Setup(x => x.ExtractPostsByTagId(tag.Id, currentUser)) .ReturnsAsync(new List <PostViewModel> { new PostViewModel { Id = Guid.NewGuid().ToString(), Title = "Test Title", } }); var mockUserManager = new Mock <UserManager <ApplicationUser> >( new Mock <IUserStore <ApplicationUser> >().Object, new Mock <IOptions <IdentityOptions> >().Object, new Mock <IPasswordHasher <ApplicationUser> >().Object, new IUserValidator <ApplicationUser> [0], new IPasswordValidator <ApplicationUser> [0], new Mock <ILookupNormalizer>().Object, new Mock <IdentityErrorDescriber>().Object, new Mock <IServiceProvider>().Object, new Mock <ILogger <UserManager <ApplicationUser> > >().Object); mockUserManager.Setup(x => x.GetUserAsync(It.IsAny <ClaimsPrincipal>())) .ReturnsAsync(currentUser); var controller = new TagController(mockService.Object, mockUserManager.Object); var result = await controller.Index(tag.Id, null); Assert.IsType <ViewResult>(result); var viewResult = result as ViewResult; Assert.IsType <TagViewModel>(viewResult.Model); var viewModel = viewResult.Model as TagViewModel; Assert.Single(viewModel.Posts); }
public void Index_ReturnsCorrectViewWithAllAuthors() { //Arrange IRepository mockRepo = Substitute.For <IRepository>(); mockRepo.Tags.Returns(_tags); //Act TagController target = new TagController(mockRepo); ActionResult result = target.Index(); //Assert Assert.IsInstanceOf <ViewResult>(result); IEnumerable <Tag> model = (result as ViewResult).Model as IEnumerable <Tag>; Assert.AreEqual(_tags.Count(), model.Count()); Assert.AreEqual("Tag1", model.First().NameForLabels); }
public void TagControllerTests_GetAll_Returns_Entire_Repository() { //Arrange var repo = Substitute.For <IRepository>(); repo.Find(Arg.Any <SearchTagsByNameQuery>()) .Returns(Enumerable .Range(0, 5) .Select(x => new Tag { Name = x.ToString() }) .AsQueryable()); var controller = new TagController(repo); //Act var result = controller.Index() as JsonResult; //Assert Assert.IsTrue(((IEnumerable <object>)result.Data).Count() == 5); }