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());
        }
Ejemplo n.º 2
0
        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);
        }