Ejemplo n.º 1
0
        public void Then_The_Url_Is_Correctly_Constructed_And_Encoded(string postcode, string route, int distance)
        {
            //Arrange
            postcode = $"{postcode} !£$@'''``@%{postcode}";
            route    = $"{route} !£$@'''``@%{route}";

            //Act
            var actual = new GetAdvertsRequest(postcode, distance, route);

            //Assert
            actual.GetUrl.Should().Be($"adverts?postcode={HttpUtility.UrlEncode(postcode)}&route={HttpUtility.UrlEncode(route)}&distance={distance}");
        }
Ejemplo n.º 2
0
        public async Task <GetVacanciesQueryResult> Handle(GetVacanciesQuery request, CancellationToken cancellationToken)
        {
            var apiRequest = new GetAdvertsRequest(request.Postcode, request.Distance, request.Route);

            var response = await _apiClient.Get <GetAdvertsResponse>(apiRequest);

            return(new GetVacanciesQueryResult
            {
                Routes = response.Routes,
                Location = response.Location,
                Vacancies = response.Vacancies,
                TotalFound = response.TotalFound
            });
        }
        public async Task Then_The_Api_Is_Called_And_Data_Returned(
            GetVacanciesQuery query,
            GetAdvertsResponse apiResponse,
            [Frozen] Mock <IApiClient> apiClient,
            GetVacanciesQueryHandler handler)
        {
            var expectedUrl = new GetAdvertsRequest(query.Postcode, query.Distance, query.Route);

            apiClient.Setup(x =>
                            x.Get <GetAdvertsResponse>(It.Is <GetAdvertsRequest>(c => c.GetUrl.Equals(expectedUrl.GetUrl))))
            .ReturnsAsync(apiResponse);

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

            actual.Should().BeEquivalentTo(apiResponse);
        }
Ejemplo n.º 4
0
 public override async Task <AdvertsList> GetAdvertisements(GetAdvertsRequest request, ServerCallContext context)
 {
     // simple linq select statement on top of database query
     return(new()
     {
         Advert =
         {
             (await _advertisingService.GetAllAdvertsAsync()).Select(x => new Advert
             {
                 Message = x.Message,
                 Title = x.Title,
                 ImageUrl = x.ImageUri
             })
         }
     });
 }