public async Task <ActionResult> SearchForStandardProviders(string standardId, ProviderSearchResponseCodes?statusCode, string postcode, string keywords, string ukprn, string postcodeCountry, bool?isLevyPayingEmployer)
        {
            var query = new GetStandardProvidersQuery
            {
                StandardId = standardId,
                Postcode   = postcode,
                Keywords   = keywords
            };

            var response = await _mediator.Send(query);

            if (response.StatusCode.Equals(GetStandardProvidersResponse.ResponseCodes.NoStandardFound))
            {
                return(new HttpNotFoundResult());
            }

            var viewModel = _mappingService.Map <GetStandardProvidersResponse, ProviderSearchViewModel>(response);

            viewModel.PostUrl              = Url?.Action("StandardResults", "Provider");
            viewModel.HasError             = statusCode.HasValue && statusCode.Value != ProviderSearchResponseCodes.Success;
            viewModel.ErrorMessage         = ProviderSearchMapper.CreateErrorMessage(statusCode);
            viewModel.IsLevyPayingEmployer = isLevyPayingEmployer;
            viewModel.Ukprn = ukprn;

            return(View("SearchForProviders", viewModel));
        }
Example #2
0
        public void ShouldReturnStandardDetails()
        {
            var standard = new Standard
            {
                StandardId = "2",
                Title      = "test standard",
                Level      = 3
            };

            var query = new GetStandardProvidersQuery
            {
                StandardId = standard.StandardId,
                Keywords   = "Test keywords",
                Postcode   = "AB1 2CD"
            };

            _mockGetStandards.Setup(x => x.GetStandardById(standard.StandardId)).Returns(standard);

            var response = _sut.Handle(query, default(CancellationToken)).Result;

            response.StandardId.Should().Be(standard.StandardId);
            response.Keywords.Should().Be(query.Keywords);
            response.Postcode.Should().Be(query.Postcode);
            response.Title.Should().Be(standard.Title + ", level " + standard.Level);
        }