Ejemplo n.º 1
0
        public ActionResult Index(string courseId)
        {
            var viewModel = new CourseDetailsViewModel {
                FindACoursePage = FindAcoursePage
            };

            if (!string.IsNullOrWhiteSpace(courseId))
            {
                viewModel.CourseDetails = asyncHelper.Synchronise(() => courseSearchService.GetCourseDetailsAsync(courseId));
            }

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public void IndexSetDefaultsTest(
            string findAcoursePage,
            string courseId,
            string oppurtunityId,
            string noCourseDescriptionMessage,
            string noEntryRequirementsAvailableMessage,
            string noEquipmentRequiredMessage,
            string noAssessmentMethodAvailableMessage,
            string noOtherDateOrVenueAvailableMessage,
            string courseDetailsPage,
            string qualificationDetailsLabel,
            string courseDescriptionLabel,
            string entryRequirementsLabel,
            string equipmentRequiredLabel,
            string assessmentMethodLabel,
            string venueLabel,
            string otherDatesAndVenuesLabel,
            string providerLabel,
            string employerSatisfactionLabel,
            string learnerSatisfactionLabel,
            string providerPerformanceLabel,
            string referralPath,
            string contactAdviserSection,
            string additionalPriceLabel,
            string attendancePatternLabel,
            string awardingOrganisationLabel,
            string courseTypeLabel,
            string courseWebpageLinkLabel,
            string supportingFacilitiesLabel,
            string fundingInformationLabel,
            string fundingInformationLink,
            string fundingInformationText,
            string languageOfInstructionLabel,
            string priceLabel,
            string qualificationLevelLabel,
            string qualificationNameLabel,
            string startDateLabel,
            string subjectCategoryLabel,
            bool hasCourseId)
        {
            // Assign
            var controller = new CourseDetailsController(fakeApplicationLogger, fakeCourseSearchService, fakeAsyncHelper)
            {
                FindAcoursePage                     = findAcoursePage,
                NoCourseDescriptionMessage          = noCourseDescriptionMessage,
                NoEntryRequirementsAvailableMessage = noEntryRequirementsAvailableMessage,
                NoEquipmentRequiredMessage          = noEquipmentRequiredMessage,
                NoAssessmentMethodAvailableMessage  = noAssessmentMethodAvailableMessage,
                NoOtherDateOrVenueAvailableMessage  = noOtherDateOrVenueAvailableMessage,
                CourseDetailsPage                   = courseDetailsPage,
                QualificationDetailsLabel           = qualificationDetailsLabel,
                CourseDescriptionLabel              = courseDescriptionLabel,
                EntryRequirementsLabel              = entryRequirementsLabel,
                EquipmentRequiredLabel              = equipmentRequiredLabel,
                AssessmentMethodLabel               = assessmentMethodLabel,
                VenueLabel = venueLabel,
                OtherDatesAndVenuesLabel   = otherDatesAndVenuesLabel,
                ProviderLabel              = providerLabel,
                EmployerSatisfactionLabel  = employerSatisfactionLabel,
                LearnerSatisfactionLabel   = learnerSatisfactionLabel,
                ProviderPerformanceLabel   = providerPerformanceLabel,
                ContactAdviserSection      = contactAdviserSection,
                CostDescriptionLabel       = additionalPriceLabel,
                AttendancePatternLabel     = attendancePatternLabel,
                AwardingOrganisationLabel  = awardingOrganisationLabel,
                CourseTypeLabel            = courseTypeLabel,
                CourseWebpageLinkLabel     = courseWebpageLinkLabel,
                SupportingFacilitiesLabel  = supportingFacilitiesLabel,
                FundingInformationLabel    = fundingInformationLabel,
                FundingInformationLink     = fundingInformationLink,
                FundingInformationText     = fundingInformationText,
                LanguageOfInstructionLabel = languageOfInstructionLabel,
                PriceLabel = priceLabel,
                QualificationLevelLabel = qualificationLevelLabel,
                QualificationNameLabel  = qualificationNameLabel,
                StartDateLabel          = startDateLabel,
                SubjectCategoryLabel    = subjectCategoryLabel
            };

            if (hasCourseId)
            {
                A.CallTo(() => fakeCourseSearchService.GetCourseDetailsAsync(courseId, oppurtunityId)).Returns(new CourseDetails());
            }
            else
            {
                A.CallTo(() => fakeCourseSearchService.GetCourseDetailsAsync(courseId, oppurtunityId)).Returns <CourseDetails>(null);
            }

            // Act
            var controllerResult = controller.WithCallTo(contrl => contrl.Index(
                                                             courseId, oppurtunityId, referralPath));

            // Assert
            if (hasCourseId)
            {
                controllerResult.ShouldRenderDefaultView().WithModel <CourseDetailsViewModel>(
                    vm =>
                {
                    vm.FindACoursePage.Should().BeEquivalentTo(controller.FindAcoursePage);
                    vm.NoCourseDescriptionMessage.Should().BeEquivalentTo(controller.NoCourseDescriptionMessage);
                    vm.NoEntryRequirementsAvailableMessage.Should().BeEquivalentTo(controller.NoEntryRequirementsAvailableMessage);
                    vm.NoEquipmentRequiredMessage.Should().BeEquivalentTo(controller.NoEquipmentRequiredMessage);
                    vm.NoAssessmentMethodAvailableMessage.Should().BeEquivalentTo(controller.NoAssessmentMethodAvailableMessage);
                    vm.NoOtherDateOrVenueAvailableMessage.Should().BeEquivalentTo(controller.NoOtherDateOrVenueAvailableMessage);
                    vm.CourseDetailsPage.Should().BeEquivalentTo(controller.CourseDetailsPage);
                    vm.QualificationDetailsLabel.Should().BeEquivalentTo(controller.QualificationDetailsLabel);
                    vm.CourseDescriptionLabel.Should().BeEquivalentTo(controller.CourseDescriptionLabel);
                    vm.EntryRequirementsLabel.Should().BeEquivalentTo(controller.EntryRequirementsLabel);
                    vm.EquipmentRequiredLabel.Should().BeEquivalentTo(controller.EquipmentRequiredLabel);
                    vm.AssessmentMethodLabel.Should().BeEquivalentTo(controller.AssessmentMethodLabel);
                    vm.VenueLabel.Should().BeEquivalentTo(controller.VenueLabel);
                    vm.OtherDatesAndVenuesLabel.Should().BeEquivalentTo(controller.OtherDatesAndVenuesLabel);
                    vm.ProviderLabel.Should().BeEquivalentTo(controller.ProviderLabel);
                    vm.EmployerSatisfactionLabel.Should().BeEquivalentTo(controller.EmployerSatisfactionLabel);
                    vm.LearnerSatisfactionLabel.Should().BeEquivalentTo(controller.LearnerSatisfactionLabel);
                    vm.ProviderPerformanceLabel.Should().BeEquivalentTo(controller.ProviderPerformanceLabel);
                    vm.AdditionalPriceLabel.Should().BeEquivalentTo(controller.CostDescriptionLabel);
                    vm.AttendancePatternLabel.Should().BeEquivalentTo(controller.AttendancePatternLabel);
                    vm.AwardingOrganisationLabel.Should().BeEquivalentTo(controller.AwardingOrganisationLabel);
                    vm.CourseTypeLabel.Should().BeEquivalentTo(controller.CourseTypeLabel);
                    vm.CourseWebpageLinkLabel.Should().BeEquivalentTo(controller.CourseWebpageLinkLabel);
                    vm.SupportingFacilitiesLabel.Should().BeEquivalentTo(controller.SupportingFacilitiesLabel);
                    vm.FundingInformationLabel.Should().BeEquivalentTo(controller.FundingInformationLabel);
                    vm.FundingInformationLink.Should().BeEquivalentTo(controller.FundingInformationLink);
                    vm.FundingInformationText.Should().BeEquivalentTo(controller.FundingInformationText);
                    vm.LanguageOfInstructionLabel.Should().BeEquivalentTo(controller.LanguageOfInstructionLabel);
                    vm.PriceLabel.Should().BeEquivalentTo(controller.PriceLabel);
                    vm.QualificationLevelLabel.Should().BeEquivalentTo(controller.QualificationLevelLabel);
                    vm.QualificationNameLabel.Should().BeEquivalentTo(controller.QualificationNameLabel);
                    vm.StartDateLabel.Should().BeEquivalentTo(controller.StartDateLabel);
                    vm.SubjectCategoryLabel.Should().BeEquivalentTo(controller.SubjectCategoryLabel);
                });

                A.CallTo(() => fakeCourseSearchService.GetCourseDetailsAsync(courseId, oppurtunityId)).MustHaveHappened();
            }
            else
            {
                controllerResult.ShouldGiveHttpStatus(404);
            }
        }
Ejemplo n.º 3
0
        public ActionResult Index(string courseId, string r, string referralPath)
        {
            var viewModel = new CourseDetailsViewModel();

            if (!string.IsNullOrWhiteSpace(courseId))
            {
                var courseDetails = asyncHelper.Synchronise(() => courseSearchService.GetCourseDetailsAsync(courseId, r));
                if (courseDetails != null)
                {
                    viewModel.ShouldShowFeChoices                 = ShouldShowFeChoices;
                    viewModel.FindACoursePage                     = FindAcoursePage;
                    viewModel.CourseDetails                       = courseDetails;
                    viewModel.ReferralPath                        = HttpUtility.HtmlDecode(referralPath);
                    viewModel.NoCourseDescriptionMessage          = NoCourseDescriptionMessage;
                    viewModel.NoEntryRequirementsAvailableMessage = NoEntryRequirementsAvailableMessage;
                    viewModel.NoEquipmentRequiredMessage          = NoEquipmentRequiredMessage;
                    viewModel.NoAssessmentMethodAvailableMessage  = NoAssessmentMethodAvailableMessage;
                    viewModel.NoWhatYoullLearnAvailableMessage    = NoWhatYoullLearnAvailableMessage;
                    viewModel.NoHowYoullLearnAvailableMessage     = NoHowYoullLearnAvailableMessage;
                    viewModel.NoNextStepsAvailableMessage         = NoNextStepsAvailableMessage;
                    viewModel.NoOtherDateOrVenueAvailableMessage  = NoOtherDateOrVenueAvailableMessage;
                    viewModel.QualificationDetailsLabel           = QualificationDetailsLabel;
                    viewModel.CourseDetailsLabel                  = CourseDetailsLabel;
                    viewModel.CourseDescriptionLabel              = CourseDescriptionLabel;
                    viewModel.EntryRequirementsLabel              = EntryRequirementsLabel;
                    viewModel.EquipmentRequiredLabel              = EquipmentRequiredLabel;
                    viewModel.AssessmentMethodLabel               = AssessmentMethodLabel;
                    viewModel.VenueLabel = VenueLabel;
                    viewModel.OtherDatesAndVenuesLabel  = OtherDatesAndVenuesLabel;
                    viewModel.ProviderLabel             = ProviderLabel;
                    viewModel.EmployerSatisfactionLabel = EmployerSatisfactionLabel;
                    viewModel.LearnerSatisfactionLabel  = LearnerSatisfactionLabel;
                    viewModel.ProviderPerformanceLabel  = ProviderPerformanceLabel;
                    viewModel.ContactAdviserSection     = ContactAdviserSection;
                    viewModel.QualificationNameLabel    = QualificationNameLabel;
                    viewModel.QualificationLevelLabel   = QualificationLevelLabel;
                    viewModel.AwardingOrganisationLabel = AwardingOrganisationLabel;
                    viewModel.SubjectCategoryLabel      = SubjectCategoryLabel;
                    viewModel.CourseWebpageLinkLabel    = CourseWebpageLinkLabel;
                    viewModel.CourseTypeLabel           = CourseTypeLabel;
                    viewModel.StartDateLabel            = StartDateLabel;
                    viewModel.PriceLabel                 = PriceLabel;
                    viewModel.AdditionalPriceLabel       = CostDescriptionLabel;
                    viewModel.FundingInformationLabel    = FundingInformationLabel;
                    viewModel.AttendancePatternLabel     = AttendancePatternLabel;
                    viewModel.SupportingFacilitiesLabel  = SupportingFacilitiesLabel;
                    viewModel.FundingInformationLink     = FundingInformationLink;
                    viewModel.FundingInformationText     = FundingInformationText;
                    viewModel.LanguageOfInstructionLabel = LanguageOfInstructionLabel;
                    viewModel.WhoThisCourseIsForLabel    = WhoThisCourseIsForLabel;
                    viewModel.WhatYoullLearn             = WhatYoullLearn;
                    viewModel.HowYoullLearn              = HowYoullLearn;
                    viewModel.WhatYoullNeedToBring       = WhatYoullNeedToBring;
                    viewModel.HowYoullBeAssessed         = HowYoullBeAssessed;
                    viewModel.NextSteps             = NextSteps;
                    viewModel.LocationLabel         = LocationLabel;
                    viewModel.CourseHoursLabel      = CourseHoursLabel;
                    viewModel.CourseDetailsPage     = CourseDetailsPage;
                    viewModel.NationalWorkBasedText = NationalWorkBasedText;
                    return(View(viewModel));
                }
            }

            return(HttpNotFound());
        }