public void Should_Save_EditSeoViewModel_And_Return_Success_Flag() { Mock <IRedirectService> redirectService = new Mock <IRedirectService>(); Mock <IPageService> pageService = new Mock <IPageService>(); Mock <ISitemapService> sitemapService = new Mock <ISitemapService>(); Mock <ISecurityService> securityService = new Mock <ISecurityService>(); Mock <IUrlService> urlService = new Mock <IUrlService>(); Mock <SavePageSeoCommand> savePageSeoCommandMock = new Mock <SavePageSeoCommand>(redirectService.Object, pageService.Object, sitemapService.Object, urlService.Object); savePageSeoCommandMock.SetupGet(x => x.SecurityService).Returns(securityService.Object); savePageSeoCommandMock.Setup(f => f.Execute(It.IsAny <EditSeoViewModel>())).Returns(new EditSeoViewModel()).Verifiable(); SeoController seoController = new SeoController(); seoController.CommandResolver = GetMockedCommandResolver(mock => { mock.Setup(resolver => resolver.ResolveCommand <SavePageSeoCommand>(It.IsAny <ICommandContext>())).Returns(() => savePageSeoCommandMock.Object); }); ActionResult result = seoController.EditSeo(new EditSeoViewModel()); Assert.IsNotNull(result); Assert.IsInstanceOf <JsonResult>(result); JsonResult viewResult = (JsonResult)result; Assert.IsNotNull(viewResult.Data); Assert.IsInstanceOf <WireJson>(viewResult.Data); WireJson wireJson = (WireJson)viewResult.Data; Assert.IsTrue(wireJson.Success); savePageSeoCommandMock.Verify(f => f.Execute(It.IsAny <EditSeoViewModel>()), Times.Once()); }
public void Should_Try_To_Save_EditSeoViewModel_And_Return_Error_Flag() { SeoController seoController = new SeoController(); seoController.ModelState.AddModelError("PageTitle", "Page title required."); ActionResult result = seoController.EditSeo(new EditSeoViewModel()); Assert.IsNotNull(result); Assert.IsInstanceOf <JsonResult>(result); JsonResult viewResult = (JsonResult)result; Assert.IsNotNull(viewResult.Data); Assert.IsInstanceOf <WireJson>(viewResult.Data); WireJson wireJson = (WireJson)viewResult.Data; Assert.IsFalse(wireJson.Success); }