Esempio n. 1
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]
            GetJobsByFilterRequest req,
            CancellationToken cancellationToken)
        {
            try
            {
                _logger.LogInformation("GetJobsByFilter started");
                GetJobsByFilterResponse response = await _mediator.Send(req, cancellationToken);

                return(new OkObjectResult(ResponseWrapper <GetJobsByFilterResponse, RequestServiceErrorCode> .CreateSuccessfulResponse(response)));
            }
            catch (PostCodeException exc)
            {
                _logger.LogErrorAndNotifyNewRelic($"{req.Postcode} is an invalid postcode", exc);
                return(new ObjectResult(ResponseWrapper <GetJobsByFilterResponse, RequestServiceErrorCode> .CreateUnsuccessfulResponse(RequestServiceErrorCode.ValidationError, "Invalid Postcode"))
                {
                    StatusCode = StatusCodes.Status400BadRequest
                });
            }
            catch (Exception exc)
            {
                _logger.LogErrorAndNotifyNewRelic("Exception occured in GetJobsByFilter", exc);
                return(new ObjectResult(ResponseWrapper <GetJobsByFilterResponse, RequestServiceErrorCode> .CreateUnsuccessfulResponse(RequestServiceErrorCode.InternalServerError, "Internal Error"))
                {
                    StatusCode = StatusCodes.Status500InternalServerError
                });
            }
        }
Esempio n. 2
0
        public void Setup()
        {
            _mockRepository = new MockRepository(MockBehavior.Loose);
            SetupRepository();
            SetUpJobFilteringService();
            SetupAddressService();
            SetupGroupService();

            _jobHeaders = new List <JobHeader>();
            _jobHeaders.Add(new JobHeader
            {
                JobID           = 1,
                DistanceInMiles = 25d,
                SupportActivity = SupportActivities.CheckingIn
            });
            _jobHeaders.Add(new JobHeader
            {
                JobID           = 1,
                DistanceInMiles = 15d,
                SupportActivity = SupportActivities.CollectingPrescriptions
            });
            _jobHeaders.Add(new JobHeader
            {
                JobID           = 1,
                DistanceInMiles = 20d,
                SupportActivity = SupportActivities.FaceMask
            });
            _jobHeaders.Add(new JobHeader
            {
                JobID           = 1,
                DistanceInMiles = 0d,
                SupportActivity = SupportActivities.Errands
            });
            _jobHeaders.Add(new JobHeader
            {
                JobID           = 1,
                DistanceInMiles = 30d,
                SupportActivity = SupportActivities.Errands
            });

            _response = new GetJobsByFilterResponse()
            {
                JobHeaders = _jobHeaders
            };

            _classUnderTest = new GetJobsByFilterHandler(_repository.Object, _addressService.Object, _jobFilteringService.Object, _groupService.Object);
        }