Esempio n. 1
0
        public void DetailShouldReturnViewResultWhenStandardSearchIsSuccessful()
        {
            var searchCriteria = new ApprenticeshipProviderDetailQuery {
                StandardCode = "1", LocationId = 2, UkPrn = 3
            };

            var stubSearchResponse = Task.FromResult(new ApprenticeshipProviderDetailResponse());

            var stubProviderViewModel = new ApprenticeshipDetailsViewModel
            {
                ApprenticeshipType = ApprenticeshipTrainingType.Standard
            };

            var httpContextMock = new Mock <HttpContextBase>();
            var httpRequestMock = new Mock <HttpRequestBase>();

            httpRequestMock.Setup(m => m.UrlReferrer).Returns(new Uri("http://www.helloworld.com"));
            httpContextMock.SetupGet(c => c.Request).Returns(httpRequestMock.Object);
            var urlHelperMock = new Mock <UrlHelper>();

            urlHelperMock.Setup(m => m.Action(It.IsAny <string>(), It.IsAny <string>())).Returns(string.Empty);

            ProviderController controller = new ProviderControllerBuilder()
                                            .SetupMediator((x => x.Send(It.IsAny <ApprenticeshipProviderDetailQuery>(), default(CancellationToken))), stubSearchResponse)
                                            .SetupMappingService(x => x.Map(It.IsAny <ApprenticeshipProviderDetailResponse>(), It.IsAny <Action <IMappingOperationOptions <ApprenticeshipProviderDetailResponse, ApprenticeshipDetailsViewModel> > >()), stubProviderViewModel)
                                            .WithUrl(urlHelperMock.Object);

            var result = controller.Detail(searchCriteria).Result;

            result.Should().BeOfType <ViewResult>();

            var viewResult = (ViewResult)result;

            viewResult.Model.Should().Be(stubProviderViewModel);
        }
Esempio n. 2
0
        public async Task SearchResultsShouldReturnViewResultWhenFrameworkSearchIsSuccessful()
        {
            var stubSearchResponse = new ProviderSearchResponse {
                Success = true, StatusCode = ProviderSearchResponseCodes.Success
            };

            var stubViewModel = new ProviderFrameworkSearchResultViewModel {
                Title = "title1"
            };

            ProviderController controller =
                new ProviderControllerBuilder().SetupMappingService(
                    x => x.Map(It.IsAny <ProviderSearchResponse>(), It.IsAny <Action <IMappingOperationOptions <ProviderSearchResponse, ProviderFrameworkSearchResultViewModel> > >()),
                    stubViewModel).SetupMediator(x => x.Send <ProviderSearchResponse>(It.IsAny <ProviderSearchQuery>(), default(CancellationToken)), Task.FromResult(stubSearchResponse));

            var searchCriteria = new ProviderSearchQuery {
                ApprenticeshipId = "123", PostCode = "AB3 1SD"
            };

            var result = await controller.FrameworkResults(searchCriteria);

            result.Should().BeOfType <ViewResult>();

            var viewResult = (ViewResult)result;

            viewResult.Model.Should().Be(stubViewModel);
        }
Esempio n. 3
0
        public async Task DetailShouldReturnNotFoundResultIfApprenticeshipProviderNotFound()
        {
            var searchCriteria     = new ApprenticeshipProviderDetailQuery();
            var stubSearchResponse = Task.FromResult(new ApprenticeshipProviderDetailResponse {
                StatusCode = ApprenticeshipProviderDetailResponse.ResponseCodes.ApprenticeshipProviderNotFound
            });

            ProviderController controller = new ProviderControllerBuilder()
                                            .SetupMediator(x => x.Send(It.IsAny <ApprenticeshipProviderDetailQuery>(), default(CancellationToken)), stubSearchResponse);

            var result = controller.Detail(searchCriteria).Result;

            result.Should().BeOfType <HttpStatusCodeResult>();

            var responseResult = (HttpStatusCodeResult)result;

            responseResult.StatusCode.Should().Be((int)HttpStatusCode.NotFound);
        }
Esempio n. 4
0
        public async Task SearchResultsShouldReturnNotFoundStatusCodeIfTheStandardIsNotFound()
        {
            var stubSearchResponse = new ProviderSearchResponse {
                Success = true, StatusCode = ProviderSearchResponseCodes.ApprenticeshipNotFound
            };

            var stubViewModel = new ProviderStandardSearchResultViewModel();

            ProviderController controller = new ProviderControllerBuilder()
                                            .SetupMappingService(x => x.Map <ProviderSearchResponse, ProviderStandardSearchResultViewModel>(It.IsAny <ProviderSearchResponse>()), stubViewModel)
                                            .SetupMediator(x => x.Send <ProviderSearchResponse>(It.IsAny <ProviderSearchQuery>(), default(CancellationToken)), Task.FromResult(stubSearchResponse));

            var result = await controller.StandardResults(new ProviderSearchQuery());

            result.Should().BeOfType <HttpStatusCodeResult>();

            var viewResult = (HttpStatusCodeResult)result;

            viewResult.StatusCode.Should().Be((int)HttpStatusCode.NotFound);
        }
Esempio n. 5
0
        public async Task SearchResultsShouldReturnViewResultWhenStandardSearchIsSuccessful()
        {
            var stubSearchResponse = new ProviderSearchResponse {
                Success = true
            };

            var stubViewModel = new ProviderStandardSearchResultViewModel();

            ProviderController controller = new ProviderControllerBuilder()
                                            .SetupMappingService(x => x.Map(It.IsAny <ProviderSearchResponse>(), It.IsAny <Action <IMappingOperationOptions <ProviderSearchResponse, ProviderStandardSearchResultViewModel> > >()), stubViewModel)
                                            .SetupMediator(x => x.Send <ProviderSearchResponse>(It.IsAny <ProviderSearchQuery>(), default(CancellationToken)), Task.FromResult(stubSearchResponse));

            var result = await controller.StandardResults(new ProviderSearchQuery());

            result.Should().BeOfType <ViewResult>();

            var viewResult = (ViewResult)result;

            viewResult.Model.Should().Be(stubViewModel);
        }
Esempio n. 6
0
        public async Task FrameworkSearchResultsShouldReturnBadRequestStatusCodeIfApprenticeshipIdIsInvalid()
        {
            var stubSearchResponse = new ProviderSearchResponse {
                Success = true, StatusCode = ProviderSearchResponseCodes.InvalidApprenticeshipId
            };

            var stubViewModel = new ProviderFrameworkSearchResultViewModel();

            ProviderController controller = new ProviderControllerBuilder()
                                            .SetupMappingService(x => x.Map <ProviderSearchResponse, ProviderFrameworkSearchResultViewModel>(It.IsAny <ProviderSearchResponse>()), stubViewModel)
                                            .SetupMediator(x => x.Send <ProviderSearchResponse>(It.IsAny <ProviderSearchQuery>(), default(CancellationToken)), Task.FromResult(stubSearchResponse));

            var result = await controller.FrameworkResults(new ProviderSearchQuery());

            result.Should().BeOfType <HttpStatusCodeResult>();

            var viewResult = (HttpStatusCodeResult)result;

            viewResult.StatusCode.Should().Be((int)HttpStatusCode.BadRequest);
        }
Esempio n. 7
0
        public async Task SearchResultsShouldRedirectToSearchEntryPageIfPostCodeIsNotSet()
        {
            var stubSearchResponse = new ProviderSearchResponse {
                Success = true, StatusCode = ProviderSearchResponseCodes.PostCodeInvalidFormat
            };
            var mockUrlHelper = new Mock <UrlHelper>();

            mockUrlHelper.Setup(x => x.Action("SearchForStandardProviders", "Apprenticeship", It.IsAny <object>())).Returns("someurl");

            var stubViewModel = new ProviderStandardSearchResultViewModel();

            ProviderController controller = new ProviderControllerBuilder()
                                            .SetupMappingService(x => x.Map <ProviderSearchResponse, ProviderStandardSearchResultViewModel>(It.IsAny <ProviderSearchResponse>()), stubViewModel)
                                            .SetupMediator(x => x.Send <ProviderSearchResponse>(It.IsAny <ProviderSearchQuery>(), default(CancellationToken)), Task.FromResult(stubSearchResponse))
                                            .WithUrl(mockUrlHelper.Object);

            var result = await controller.StandardResults(new ProviderSearchQuery());

            result.Should().BeOfType <RedirectResult>();

            var viewResult = (RedirectResult)result;

            viewResult.Url.Should().Be("someurl");
        }
Esempio n. 8
0
        public async Task SearchResultsShouldRedirectToLatPageIfParameterExtendsUpperBound()
        {
            var stubSearchResponse = new ProviderSearchResponse {
                Success = true, StatusCode = ProviderSearchResponseCodes.PageNumberOutOfUpperBound
            };
            var mockUrlHelper = new Mock <UrlHelper>();

            mockUrlHelper.Setup(x => x.Action("StandardResults", "Provider", It.IsAny <RouteValueDictionary>())).Returns("someurl");

            var stubViewModel = new ProviderStandardSearchResultViewModel();

            ProviderController controller = new ProviderControllerBuilder()
                                            .SetupMappingService(x => x.Map <ProviderSearchResponse, ProviderStandardSearchResultViewModel>(It.IsAny <ProviderSearchResponse>()), stubViewModel)
                                            .SetupMediator(x => x.Send <ProviderSearchResponse>(It.IsAny <ProviderSearchQuery>(), default(CancellationToken)), Task.FromResult(stubSearchResponse))
                                            .WithUrl(mockUrlHelper.Object);

            var result = await controller.StandardResults(new ProviderSearchQuery());

            result.Should().BeOfType <RedirectResult>();

            var viewResult = (RedirectResult)result;

            viewResult.Url.Should().Be("someurl");
        }