private static void SetupMediator(GetArticleQueryResult <Domain.Content.Article> mediatorResult, Mock <IMediator> mockMediator, bool preview) { mockMediator.Setup(o => o.Send(It.Is <GetArticleQuery>(r => r.Hub == HubName && r.Slug == SlugName && r.Preview == preview), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); }
public async Task And_Is_Preview_Then_Given_Valid_Hub_And_Slug_Then_The_Page_Is_Returned( GetArticleQueryResult <Domain.Content.Article> mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] ArticleController controller) { SetupMediator(mediatorResult, mockMediator, true); var controllerResult = await InstantiateController <ViewResult>(controller, true); controllerResult.AssertThatTheObjectResultIsValid(); controllerResult.AssertThatTheObjectValueIsValid <Page <Domain.Content.Article> >(); controllerResult.AssertThatTheReturnedViewIsCorrect("~/Views/CMS/Article.cshtml"); }
public async Task And_Given_Valid_Hub_And_Slug_Then_The_Page_Is_Returned( GetArticleQueryResult <Domain.Content.Article> mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] ArticleController controller) { SetupMediator(mediatorResult, mockMediator, false); var controllerResult = await InstantiateController <ViewResult>(controller); controllerResult.AssertThatTheObjectResultIsValid(); controllerResult.AssertThatTheObjectValueIsValid <Page <Domain.Content.Article> >(); controllerResult.AssertThatTheReturnedViewIsCorrect("~/Views/CMS/Article.cshtml"); mockMediator.Verify(o => o.Send(It.IsAny <GetSiteMapQuery>(), It.IsAny <CancellationToken>()), Times.Never); }