Esempio n. 1
0
        public IActionResult ViewFramework(string tabname, int frameworkId, int?frameworkCompetencyGroupId = null, int?frameworkCompetencyId = null)
        {
            var adminId         = GetAdminId();
            var detailFramework = frameworkService.GetFrameworkDetailByFrameworkId(frameworkId, adminId);
            var model           = new FrameworkViewModel()
            {
                DetailFramework = detailFramework
            };

            switch (tabname)
            {
            case "Details":
                model.Collaborators             = frameworkService.GetCollaboratorsForFrameworkId(frameworkId);
                model.FrameworkDefaultQuestions = frameworkService.GetFrameworkDefaultQuestionsById(frameworkId, adminId);
                break;

            case "Structure":
                model.FrameworkCompetencyGroups = frameworkService.GetFrameworkCompetencyGroups(frameworkId).ToList();
                model.FrameworkCompetencies     = frameworkService.GetFrameworkCompetenciesUngrouped(frameworkId);
                break;

            case "Comments":
                model.CommentReplies = frameworkService.GetCommentsForFrameworkId(frameworkId, adminId);
                break;
            }
            return(View("Developer/Framework", model));
        }
Esempio n. 2
0
        public IActionResult ViewFramework(string tabname, int frameworkId, int?frameworkCompetencyGroupId = null, int?frameworkCompetencyId = null)
        {
            var adminId         = GetAdminId();
            var detailFramework = frameworkService.GetFrameworkDetailByFrameworkId(frameworkId, adminId);
            var routeData       = new Dictionary <string, string> {
                { "frameworkId", detailFramework?.ID.ToString() }
            };
            var model = new FrameworkViewModel()
            {
                DetailFramework = detailFramework,
            };

            switch (tabname)
            {
            case "Details":
                model.Collaborators             = frameworkService.GetCollaboratorsForFrameworkId(frameworkId);
                model.Flags                     = frameworkService.GetCustomFlagsByFrameworkId(frameworkId, null);
                model.FrameworkDefaultQuestions = frameworkService.GetFrameworkDefaultQuestionsById(frameworkId, adminId);
                model.TabNavLinks               = new TabsNavViewModel(FrameworkTab.Details, routeData);
                break;

            case "Structure":
                model.FrameworkCompetencyGroups = frameworkService.GetFrameworkCompetencyGroups(frameworkId).ToList();
                model.CompetencyFlags           = frameworkService.GetCompetencyFlagsByFrameworkId(frameworkId, null, selected: true);
                model.FrameworkCompetencies     = frameworkService.GetFrameworkCompetenciesUngrouped(frameworkId);
                model.TabNavLinks = new TabsNavViewModel(FrameworkTab.Structure, routeData);
                break;

            case "Comments":
                model.CommentReplies = frameworkService.GetCommentsForFrameworkId(frameworkId, adminId);
                model.TabNavLinks    = new TabsNavViewModel(FrameworkTab.Comments, routeData);
                break;
            }
            return(View("Developer/Framework", model));
        }
        public void ShouldShowQualificationAvoidingCompletionIfItsEmpty()
        {
            var          detailPage      = new Framework();
            const string competencyTitle = "Test competency qualification";
            const string knowledgeTitle  = "Test knowledge qualification";
            const string combinedTitle   = "Test combined qualification";

            var viewModel = new FrameworkViewModel
            {
                Title = "title1",
                CompetencyQualification  = new[] { competencyTitle },
                KnowledgeQualification   = new[] { knowledgeTitle },
                CombinedQualificiation   = new[] { combinedTitle },
                CompletionQualifications = string.Empty
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, "li").Should().Contain(competencyTitle);
            GetPartial(html, "li", 2).Should().Contain(knowledgeTitle);
            GetPartial(html, "li", 3).Should().Contain(combinedTitle);
            GetPartial(html, ".completionQualifications").Should().BeNullOrEmpty();
            GetPartial(html, ".qualificationsStatic")
            .Should()
            .Be("Your chosen training provider can advise you about the qualifications open to apprentices as they can change depending on individual and other circumstances.");
        }
        private void ProcessViewModel(FrameworkViewModel viewModel, List <FundingPeriod> fundingPeriods, DateTime?effectiveFrom, string ukprn)
        {
            viewModel.FindApprenticeshipTrainingText = _buttonTextService.GetFindTrainingProvidersText(HttpContext);
            var nextFundingCap = _fundingBandService.GetNextFundingPeriodWithinTimePeriod(fundingPeriods, effectiveFrom, _nextFundingPeriodMessageCutoffMonths);

            viewModel.NextEffectiveFrom = nextFundingCap?.EffectiveFrom;
            viewModel.NextFundingCap    = nextFundingCap?.FundingCap;
            viewModel.Ukprn             = ukprn;
        }
        public void DoNotShowExpireMessage()
        {
            var detailPage = new Framework();
            var viewModel  = new FrameworkViewModel {
                Title = "title1", ExpiryDateString = null
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".expire-date").Should().BeEmpty();
        }
        public void ShouldShowStaticTextWhenEntryRequirementsAreEmpty()
        {
            var detailPage = new Framework();
            var viewModel  = new FrameworkViewModel
            {
                Title = "title1"
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".entry-requirements").Should().Be("Your chosen training provider can advise you about entry requirements for apprentices.");
        }
        public void ShowJobRoles()
        {
            var detailPage = new Framework();
            var viewModel  = new FrameworkViewModel {
                Title = "title1", JobRoles = new[] { "SFA master", "DAS master" }
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".job-roles ul li").Should().Be("SFA master");
            GetPartial(html, ".job-roles ul li", 2).Should().Be("DAS master");
        }
        public void ShowExpireMessage()
        {
            var detailPage = new Framework();
            var date       = default(DateTime).AddYears(1881).AddMonths(8).AddDays(4);
            var viewModel  = new FrameworkViewModel {
                Title = "title1", ExpiryDateString = date.ToString("d MMMM yyyy")
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".notice").Should().Contain("This apprenticeship is available to new starters until 5 September 1882");
        }
        public void ShouldShowStaticTextWhenSuitableRolesAreEmpty()
        {
            var detailPage = new Framework();
            var viewModel  = new FrameworkViewModel
            {
                Title = "title1"
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".job-roles").Should().Be("Your chosen training provider can advise you about the kinds of skills apprentices will learn.");
        }
        public void ShouldNotShowOverviewRoleWhenItsEmpty()
        {
            var detailPage = new Framework();
            var viewModel  = new FrameworkViewModel
            {
                Title = "title1"
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".overviewTitle").Should().BeEmpty();
            GetPartial(html, ".overviewText").Should().BeEmpty();
        }
        public void FrameworkDetailPageWithErrorParameter(string hasErrorParmeter, bool expected)
        {
            var mockFrameworkRepository = new Mock <IGetFrameworks>();

            var stubFrameworkViewModel = new FrameworkViewModel
            {
                FrameworkId   = 123,
                Title         = "Title test",
                FrameworkName = "Framework name test",
                FrameworkCode = 321,
                Level         = 3,
                PathwayName   = "Pathway name test",
                PathwayCode   = 4
            };

            var framework = new Framework {
                Title = "Hello",
            };

            mockFrameworkRepository.Setup(x => x.GetFrameworkById(It.IsAny <int>())).Returns(framework);
            var mockMappingServices = new Mock <IMappingService>();

            mockMappingServices.Setup(
                x => x.Map <Framework, FrameworkViewModel>(It.IsAny <Framework>()))
            .Returns(stubFrameworkViewModel);

            var mockRequest = new Mock <HttpRequestBase>();

            mockRequest.Setup(x => x.UrlReferrer).Returns(new Uri("http://www.abba.co.uk"));

            var context = new Mock <HttpContextBase>();

            context.SetupGet(x => x.Request).Returns(mockRequest.Object);

            ApprenticeshipController controller = new ApprenticeshipController(null, null, mockFrameworkRepository.Object, null, mockMappingServices.Object, new Mock <IProfileAStep>().Object, null);

            controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller);

            controller.Url = new UrlHelper(
                new RequestContext(context.Object, new RouteData()),
                new RouteCollection());

            var result = controller.Framework(1, hasErrorParmeter) as ViewResult;

            Assert.NotNull(result);
            var actual = ((FrameworkViewModel)result.Model).HasError;

            Assert.AreEqual(expected, actual);
        }
        public void ShouldShowStaticTextWhenQualificationsAreEmpty()
        {
            var detailPage = new Framework();
            var viewModel  = new FrameworkViewModel
            {
                Title = "title1"
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".qualifications").Should().BeEmpty();
            GetPartial(html, ".completionQualifications").Should().BeNullOrEmpty();
            GetPartial(html, ".qualificationsStatic")
            .Should()
            .Be("Your chosen training provider can advise you about the qualifications open to apprentices as they can change depending on individual and other circumstances.");
        }
        public void ShouldShowSuitableRolesWhenItsNotEmpty()
        {
            var detailPage = new Framework();
            var viewModel  = new FrameworkViewModel
            {
                Title    = "title1",
                JobRoles = new List <string> {
                    "jobRole"
                }
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".job-roles").Should().Contain("jobRole");
            GetPartial(html, ".job-roles").Should().Contain("Your chosen training provider can advise you about the kinds of skills apprentices will learn.");
        }
        public void ShouldShowQualificationAvoidingQualificationIfItsEmpty()
        {
            var detailPage = new Framework();
            var viewModel  = new FrameworkViewModel
            {
                Title = "title1",
                CompetencyQualification  = new List <string>(),
                KnowledgeQualification   = new List <string>(),
                CombinedQualificiation   = new List <string>(),
                CompletionQualifications = "Test completion qualifications"
            };

            var html = detailPage.RenderAsHtml(viewModel).ToAngleSharp();

            GetPartial(html, ".qualifications").Should().BeEmpty();
            GetPartial(html, ".completionQualifications").Should().Be("Test completion qualifications");
            GetPartial(html, ".qualificationsStatic")
            .Should()
            .Be("Your chosen training provider can advise you about the qualifications open to apprentices as they can change depending on individual and other circumstances.");
        }
        public void ShouldReturnFramework()
        {
            // Assign
            var response  = new GetFrameworkResponse();
            var viewModel = new FrameworkViewModel();

            _mockMediator.Setup(m => m.Send(It.IsAny <GetFrameworkQuery>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(response);

            _mockMappingService.Setup(m => m.Map <GetFrameworkResponse, FrameworkViewModel>(response))
            .Returns(viewModel);

            // Act
            var result = _sut.Framework("1", "test").Result as ViewResult;

            // Assert
            _mockMediator.Verify(m => m.Send(It.IsAny <GetFrameworkQuery>(), It.IsAny <CancellationToken>()));
            _mockMappingService.Verify(m => m.Map <GetFrameworkResponse, FrameworkViewModel>(response));

            result.Model.Should().Be(viewModel);
        }