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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }