public void Then_The_Fields_Are_Correctly_Mapped(GetLocationsQueryResponse source) { //Arrange source.Locations = source.Locations.Select(c => { c.Postcode = null; return(c); }).ToList(); //Act var actual = (GetLocationSearchResponse)source; //Assert actual.Locations !.AsEnumerable().First().Should().BeEquivalentTo(source.Locations.First(), options => options.ExcludingMissingMembers()); actual.Locations !.AsEnumerable().Last().Should().BeEquivalentTo(source.Locations.Last(), options => options.ExcludingMissingMembers()); actual.Locations !.Count().Should().Be(source.Locations.Count()); }
public async Task Then_Passes_Query_To_Mediator_And_Returns_Locations( string searchTerm, GetLocationsQueryResponse queryResponse, [Frozen] Mock <IMediator> mockMediator, [Greedy] LocationsController controller) { //Arrange queryResponse.Locations = queryResponse.Locations.Select(c => { c.Postcode = null; return(c); }).ToList(); mockMediator .Setup(mediator => mediator.Send(It.Is <GetLocationsQuery>(c => c.SearchTerm.Equals(searchTerm)), It.IsAny <CancellationToken>())) .ReturnsAsync(queryResponse); var actual = await controller.GetByQuery(searchTerm) as ObjectResult; actual.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = actual.Value as GetLocationSearchResponse; model.Locations.Should().BeEquivalentTo(queryResponse.Locations, options => options.ExcludingMissingMembers()); }
public async Task Then_The_Query_Is_Sent_And_Data_Retrieved_And_Json_Returned( string searchTerm, GetLocationsQueryResponse response, [Frozen] Mock <IMediator> mediator, [Greedy] LocationsController controller) { //Arrange mediator.Setup(x => x.Send(It.Is <GetLocationsQuery>(c => c.SearchTerm.Equals(searchTerm)), It.IsAny <CancellationToken>())) .ReturnsAsync(response); //Act var actual = await controller.Locations(searchTerm); //Assert Assert.IsNotNull(actual); var actualResult = actual as JsonResult; Assert.IsNotNull(actualResult); var model = (LocationsViewModel)actualResult.Value; Assert.IsNotNull(model); }