public async Task Then_Api_Called_And_Location_Display_Names_Returned(
            GetLocationsQuery getLocationsQuery,
            [Frozen] Mock <ILocationApiClient <LocationApiConfiguration> > mockLocationApiClient,
            GetLocationsQueryHandler getLocationsQueryHandler)
        {
            mockLocationApiClient
            .Setup(x => x.Get <GetLocationsListResponse>(It.Is <GetLocationsQueryRequest>(y => y.GetUrl.Contains(getLocationsQuery.SearchTerm))))
            .ReturnsAsync(new GetLocationsListResponse {
                Locations = new List <GetLocationsListItem>
                {
                    new GetLocationsListItem {
                        LocationName = "Manchester", LocalAuthorityName = "Greater Manchester"
                    },
                    new GetLocationsListItem {
                        LocationName = "Warwick", LocalAuthorityName = "Warwickshire"
                    },
                    new GetLocationsListItem {
                        LocationName = "Newquay", LocalAuthorityName = "Cornwall"
                    }
                }
            });

            var result = await getLocationsQueryHandler.Handle(getLocationsQuery, CancellationToken.None);

            foreach (var location in result.Locations)
            {
                Assert.NotNull(location.DisplayName, location.DisplayName);
                Assert.AreNotEqual("", location.DisplayName);
            }
        }
Exemple #2
0
        public async Task <IActionResult> GetLocations()
        {
            var query  = new GetLocationsQuery();
            var result = await _mediator.Send(query);

            return(Ok(result));
        }
        public async Task <List <LocationDto> > Handle(GetLocationsQuery request, CancellationToken cancellationToken)
        {
            var locations = await _locationRepository.FindAllAsync();

            var locationsDtos = _mapper.Map <List <Location>, List <LocationDto> >(locations);

            return(locationsDtos);
        }
Exemple #4
0
        public async Task <IActionResult> GetLocations()
        {
            var query       = new GetLocationsQuery();
            var queryResult = await _mediator.Send(query);

            var result = _mapper.Map <IEnumerable <LocationResponseModel> >(queryResult);

            return(Ok(result));
        }
        public IEnumerable <Location> Handle(GetLocationsQuery query)
        {
            var facilityIdFormat = "000000";

            return(_context.Facilities
                   .Select(f => new Location {
                Id = f.FacilityId, FacilityName = f.Name
            })
                   .ToList());
        }
        public async Task Then_Returns_Results_From_Service(
            GetLocationsQuery query,
            Domain.Locations.Locations locationsFromService,
            [Frozen] Mock <ILocationService> mockService,
            GetLocationsQueryHandler handler)
        {
            mockService
            .Setup(service => service.GetLocations(query.SearchTerm))
            .ReturnsAsync(locationsFromService);

            var result = await handler.Handle(query, CancellationToken.None);

            result.LocationItems.Should().BeEquivalentTo(locationsFromService.LocationItems);
        }
Exemple #7
0
        private async Task <IEnumerable <ListItem <int> > > SetupDestinationPoints(int selectedPoint)
        {
            var query        = new GetLocationsQuery();
            var locationDtos = await _mediator.Send(query);

            var listItems = locationDtos.Select(location => new ListItem <int>
            {
                Key        = location.Name,
                Value      = location.Id,
                IsSelected = selectedPoint == location.Id
            });

            return(listItems);
        }
Exemple #8
0
        public async Task Then_Gets_Locations_From_Location_Api(
            GetLocationsQuery query,
            GetLocationsListResponse apiResponse,
            [Frozen] Mock <ILocationApiClient <LocationApiConfiguration> > mockApiClient,
            GetLocationsQueryHandler handler)
        {
            mockApiClient
            .Setup(client => client.Get <GetLocationsListResponse>(
                       It.Is <GetLocationsQueryRequest>(c => c.GetUrl.Contains(query.SearchTerm))))
            .ReturnsAsync(apiResponse);

            var result = await handler.Handle(query, CancellationToken.None);

            result.Locations.Should().BeEquivalentTo(apiResponse.Locations);
        }
        public async Task Then_The_Service_Is_Called(
            string searchTerm,
            GetLocationsQuery query,
            List <Domain.Entities.Location> locations,
            [Frozen] Mock <ILocationService> service,
            GetLocationsQueryHandler handler)
        {
            //Arrange
            query.Query = searchTerm;
            service.Setup(x => x.GetLocationsByQuery(query.Query, query.ResultCount)).ReturnsAsync(locations);
            //Act
            var actual = await handler.Handle(query, CancellationToken.None);

            //Assert
            actual.SuggestedLocations.Should().BeEquivalentTo(locations.Select(c => (SuggestedLocation)c));
        }
Exemple #10
0
        private async Task RaiseLocationsQueriedEvent(GetLocationsQuery request, CancellationToken cancellationToken)
        {
            var e = new LocationListQueriedEvent
            {
                Aggregate    = nameof(GetLocationsQuery),
                DataAsJson   = String.Empty,
                AggregateId  = request.Id.ToString(),
                MajorVersion = 1,
                MinorVersion = 1,
                Name         = nameof(request)
            };

            _logger.LogInformation("Logged event of type {LocationListQueriedEvent} {e}, {request}, {RaiseLocationsQueriedEvent}", typeof(LocationListQueriedEvent), e, request, nameof(RaiseLocationsQueriedEvent));

            await _mediator.Publish(e, cancellationToken);
        }
        public async Task If_Query_Is_Two_Letter_String_Then_Service_Is_Not_Called(
            string searchTerm,
            GetLocationsQuery query,
            List <Domain.Entities.Location> locations,
            [Frozen] Mock <ILocationService> service,
            GetLocationsQueryHandler handler)
        {
            //Arrange
            query.Query = searchTerm;
            service.Setup(x => x.GetLocationsByQuery(query.Query, query.ResultCount)).ReturnsAsync(locations);

            //Act
            var actual = await handler.Handle(query, CancellationToken.None);

            //Assert
            service.Verify(x => x.GetLocationsByQuery(It.IsAny <string>(), It.IsAny <int>()), Times.Never);
            actual.SuggestedLocations.Should().BeNull();
        }
Exemple #12
0
        public async Task Then_If_No_District_Is_Returned_It_Is_Not_Added(
            string searchTerm,
            GetLocationsQuery query,
            List <SuggestedLocation> locations,
            SuggestedLocation district,
            [Frozen] Mock <IPostcodeService> service,
            GetLocationsQueryHandler handler)
        {
            //Arrange
            query.Query = searchTerm;
            service.Setup(x => x.GetPostcodesByOutcodeQuery(query.Query, query.ResultCount)).ReturnsAsync(locations);
            service.Setup(y => y.GetDistrictNameByOutcodeQuery(query.Query)).ReturnsAsync((SuggestedLocation)null);

            //Act
            var actual = await handler.Handle(query, CancellationToken.None);

            //Assert
            actual.SuggestedLocations.Should().Contain(locations);
            actual.SuggestedLocations.Should().NotContainNulls();
        }
Exemple #13
0
        public async Task Then_The_Service_Is_Called_And_District_First(
            string searchTerm,
            GetLocationsQuery query,
            List <SuggestedLocation> locations,
            SuggestedLocation district,
            [Frozen] Mock <IPostcodeService> service,
            GetLocationsQueryHandler handler)
        {
            //Arrange
            query.Query = searchTerm;
            service.Setup(x => x.GetPostcodesByOutcodeQuery(query.Query, query.ResultCount)).ReturnsAsync(locations);
            service.Setup(y => y.GetDistrictNameByOutcodeQuery(query.Query)).ReturnsAsync(district);

            //Act
            var actual = await handler.Handle(query, CancellationToken.None);

            //Assert
            actual.SuggestedLocations.Should().Contain(locations, district);
            actual.SuggestedLocations.First().Should().Be(district);
        }
Exemple #14
0
 public async Task <IReadOnlyCollection <LocationDto> > Handle(GetLocationsQuery request, CancellationToken cancellationToken)
 {
     return(await _monolithQueryDbContext.Locations
            .Select(location => new LocationDto(location.Id.Value, location.Name))
            .ToListAsync(cancellationToken: cancellationToken));
 }
Exemple #15
0
 public async Task <List <LocationResponse> > Handle(GetLocationsQuery request, CancellationToken cancellationToken) =>
 _mapper.Map <List <LocationResponse> >(await _locationRepository.GetAllAsync());
 public async Task <ActionResult <Pagination <Location> > > Query([FromQuery] GetLocationsQuery query)
 {
     return(await Mediator.Send(query));
 }
 public ActionResult <IAsyncEnumerable <LocationReader> > GetLocations([FromQuery] GetLocationsQuery query)
 {
     _logger.LogInformation("{GetLocations}([FromQuery]GetLocationsQuery query) \n GetLocationsQuery:{@query}", nameof(GetLocations), query);
     return(Ok(_mediator.Send(query)));
 }
Exemple #18
0
 public async Task <IEnumerable <Location> > Handle(GetLocationsQuery request, CancellationToken cancellationToken)
 {
     return(await _context.Location.ToListAsync(cancellationToken));
 }
 public async Task <IEnumerable <string> > Handle(GetLocationsQuery request, CancellationToken cancellationToken)
 {
     return(await locationImageService.GetLocations());
 }
        async Task <IQueryable <Location> > IRequestHandler <GetLocationsQuery, IQueryable <Location> > .Handle(GetLocationsQuery request, CancellationToken cancellationToken)
        {
            var locations = _locationsRepository.GetAllLocations();

            return(locations);
        }
Exemple #21
0
        public async Task <IEnumerable <string> > Get([FromBody] GetLocationsQuery getLocationsQuery)
        {
            var results = await mediator.Send(getLocationsQuery);

            return(results);
        }
 public async Task <IEnumerable <LocationsResponse> > Handle(GetLocationsQuery request, CancellationToken cancellationToken)
 {
     return(_mapper.Map <IEnumerable <LocationsResponse> >(await _locationRepository.GetLocations()));
 }
Exemple #23
0
        public async Task <IAsyncEnumerable <LocationReader> > Handle(GetLocationsQuery request, CancellationToken cancellationToken)
        {
            await RaiseLocationsQueriedEvent(request, cancellationToken);

            return(_locations.GetAll(cancellationToken));
        }