public async Task Then_The_Mediator_Query_Is_Handled_And_Data_Returned( string postCode, string route, uint distance, GetAdvertsQueryResult queryResult, [Frozen] Mock <IMediator> mediator, [Greedy] AdvertsController controller) { //Arrange mediator.Setup(x => x.Send(It.Is <GetAdvertsQuery>(c => c.Distance.Equals(distance) && c.Postcode.Equals(postCode) && c.Route.Equals(route) ), CancellationToken.None)) .ReturnsAsync(queryResult); //Act var controllerResult = await controller.GetAdverts(postCode, route, distance) as ObjectResult; //Assert Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetAdvertsResponse; Assert.IsNotNull(model); model.Should().BeEquivalentTo((GetAdvertsResponse)queryResult); }
public async Task Then_If_There_Is_An_Error_Then_Internal_Server_Error_Response_Returned( string postCode, string route, uint distance, [Frozen] Mock <IMediator> mediator, [Greedy] AdvertsController controller) { //Arrange mediator.Setup(x => x.Send(It.IsAny <GetAdvertsQuery>(), CancellationToken.None)) .ThrowsAsync(new Exception()); //Act var controllerResult = await controller.GetAdverts(postCode, route, distance) as StatusCodeResult; //Assert Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.InternalServerError); }