public void SelfAssessmentCompetency_action_should_return_view_result() { // Given const int competencyNumber = 1; var selfAssessment = SelfAssessmentHelper.CreateDefaultSelfAssessment(); var competency = new Competency(); A.CallTo(() => selfAssessmentService.GetSelfAssessmentForCandidateById(CandidateId, SelfAssessmentId)) .Returns(selfAssessment); A.CallTo(() => selfAssessmentService.GetNthCompetency(competencyNumber, selfAssessment.Id, CandidateId)) .Returns(competency); A.CallTo(() => frameworkService.GetSelectedCompetencyFlagsByCompetecyId(competency.Id)) .Returns(new List <Data.Models.Frameworks.CompetencyFlag>() { }); var expectedModel = new SelfAssessmentCompetencyViewModel( selfAssessment, competency, competencyNumber, selfAssessment.NumberOfCompetencies ); // When var result = controller.SelfAssessmentCompetency(SelfAssessmentId, competencyNumber); // Then result.Should().BeViewResult() .WithViewName("SelfAssessments/SelfAssessmentCompetency") .Model.Should().BeEquivalentTo(expectedModel); }
public IActionResult SelfAssessmentCompetency(int selfAssessmentId, int competencyNumber) { var candidateId = User.GetCandidateIdKnownNotNull(); var destUrl = "/LearningPortal/SelfAssessment/" + selfAssessmentId + "/" + competencyNumber; selfAssessmentService.SetBookmark(selfAssessmentId, candidateId, destUrl); var assessment = selfAssessmentService.GetSelfAssessmentForCandidateById( candidateId, selfAssessmentId ); if (assessment == null) { logger.LogWarning( $"Attempt to display self assessment competency for candidate {candidateId} with no self assessment" ); return(RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 })); } var competency = selfAssessmentService.GetNthCompetency(competencyNumber, assessment.Id, candidateId); if (competency == null) { return(RedirectToAction( "SelfAssessmentOverview", new { selfAssessmentId = assessment.Id, vocabulary = assessment.Vocabulary } )); } foreach (var assessmentQuestion in competency.AssessmentQuestions) { assessmentQuestion.LevelDescriptors = selfAssessmentService.GetLevelDescriptorsForAssessmentQuestion( assessmentQuestion.Id, assessmentQuestion.MinValue, assessmentQuestion.MaxValue, assessmentQuestion.MinValue == 0 ).ToList(); } selfAssessmentService.UpdateLastAccessed(assessment.Id, candidateId); var model = new SelfAssessmentCompetencyViewModel( assessment, competency, competencyNumber, assessment.NumberOfCompetencies ); return(View("SelfAssessments/SelfAssessmentCompetency", model)); }
public IActionResult PreviewCompetency(int frameworkId, int frameworkCompetencyGroupId, int frameworkCompetencyId) { var adminId = GetAdminId(); var assessment = new CurrentSelfAssessment() { LaunchCount = 0, UnprocessedUpdates = false, }; var competency = frameworkService.GetFrameworkCompetencyForPreview(frameworkCompetencyId); if (competency != null) { foreach (var assessmentQuestion in competency.AssessmentQuestions) { assessmentQuestion.LevelDescriptors = frameworkService.GetLevelDescriptorsForAssessmentQuestionId(assessmentQuestion.Id, adminId, assessmentQuestion.MinValue, assessmentQuestion.MaxValue, assessmentQuestion.MinValue == 0).ToList(); } var model = new SelfAssessmentCompetencyViewModel(assessment, competency, 1, 1); return(View("Developer/CompetencyPreview", model)); } logger.LogWarning($"Attempt to preview competency failed for frameworkCompetencyId {frameworkCompetencyId}."); return(StatusCode(500)); }