public async Task And_Given_A_Valid_Hub_And_A_Slug_Then_The_Article_Is_Returned( string hubName, string slugName, GetArticleByHubAndSlugQueryResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] ArticleController controller) { SetupMediator(mediatorResult, mockMediator, hubName, slugName); var controllerResult = await InstantiateController <OkObjectResult>(controller, hubName, slugName); var actualResult = controllerResult.Value as GetArticleResponse; Assert.IsNotNull(actualResult); actualResult.Article.Should().BeEquivalentTo(mediatorResult.PageModel); }
private static void SetupMediator(GetArticleByHubAndSlugQueryResult mediatorResult, Mock <IMediator> mockMediator, string hubName, string slugName) { mockMediator .Setup(mediator => mediator.Send(It.Is <GetArticleByHubAndSlugQuery>(c => c.Hub.Equals(hubName) && c.Slug.Equals(slugName)), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); }