@@ -774,5 +774,101 @@ public void ManageOptionalCompetencies_Should_Return_View_With_Flag()
774774
775775 result . Should ( ) . BeViewResult ( ) . ModelAs < ManageOptionalCompetenciesViewModel > ( ) . CompetencyGroups ? . ToList ( ) [ 0 ] . ToList ( ) [ 1 ] . CompetencyFlags . Count ( ) . Should ( ) . Be ( 0 ) ;
776776 }
777+
778+
779+ [ Test ]
780+ public void SelfAssessmentOverview_Should_Return_View_With_All_Competencies ( )
781+ {
782+ // Given
783+ var selfAssessment = SelfAssessmentTestHelper . CreateDefaultSelfAssessment ( ) ;
784+ var appliedFilterViewModel = new List < AppliedFilterViewModel > ( ) ;
785+ var competencies = new List < Competency >
786+ {
787+ new Competency { CompetencyGroup = "A" , Id = 1 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 1 , Optional = true } ,
788+ new Competency { CompetencyGroup = "A" , Id = 2 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 2 , Optional = false } ,
789+ new Competency { CompetencyGroup = "A" , Id = 3 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 3 , Optional = false } ,
790+ } ;
791+ var supervisorSignOffs = new List < SupervisorSignOff > ( ) ;
792+ var expectedModel = new SelfAssessmentOverviewViewModel
793+ {
794+ SelfAssessment = selfAssessment ,
795+ CompetencyGroups = competencies . GroupBy ( competency => competency . CompetencyGroup ) ,
796+ PreviousCompetencyNumber = 3 ,
797+ SupervisorSignOffs = supervisorSignOffs ,
798+ SearchViewModel = new SearchSelfAssessmentOverviewViewModel ( "" , SelfAssessmentId , selfAssessment . Vocabulary ! , false , false , appliedFilterViewModel ) ,
799+ AllQuestionsVerifiedOrNotRequired = true
800+ } ;
801+ A . CallTo ( ( ) => selfAssessmentService . GetSelfAssessmentForCandidateById ( DelegateUserId , SelfAssessmentId ) )
802+ . Returns ( selfAssessment ) ;
803+ A . CallTo ( ( ) => selfAssessmentService . GetMostRecentResults ( selfAssessment . Id , DelegateUserId ) )
804+ . Returns ( competencies ) ;
805+
806+ // When
807+ var result = controller . SelfAssessmentOverview ( SelfAssessmentId , selfAssessment . Vocabulary ! ) ;
808+
809+ // Then
810+ result . Should ( ) . BeViewResult ( )
811+ . WithViewName ( "SelfAssessments/SelfAssessmentOverview" )
812+ . Model . Should ( ) . BeEquivalentTo ( expectedModel ) ;
813+
814+ result . Should ( ) . BeViewResult ( ) . ModelAs < SelfAssessmentOverviewViewModel > ( ) . CompetencyGroups . ToList ( ) [ 0 ] . Count ( ) . Should ( ) . Be ( 3 ) ;
815+ }
816+
817+ [ Test ]
818+ public void SelfAssessmentOverview_Should_Return_View_With_Optional_Filter_Applied ( )
819+ {
820+ // Given
821+ var selfAssessment = SelfAssessmentTestHelper . CreateDefaultSelfAssessment ( ) ;
822+ var appliedFilterViewModel = new List < AppliedFilterViewModel >
823+ {
824+ new AppliedFilterViewModel { DisplayText = "Optional" , FilterCategory = null ! , FilterValue = "-4" , TagClass = "" } ,
825+ } ;
826+ var search = new SearchSelfAssessmentOverviewViewModel
827+ {
828+ AppliedFilters = appliedFilterViewModel ,
829+ SelfAssessmentId = SelfAssessmentId ,
830+ Vocabulary = selfAssessment . Vocabulary ! ,
831+ SearchText = "" ,
832+ CompetencyFlags = null ! ,
833+
834+ } ;
835+ var competencies = new List < Competency >
836+ {
837+ new Competency { CompetencyGroup = "A" , Id = 1 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 1 , Optional = true } ,
838+ new Competency { CompetencyGroup = "A" , Id = 2 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 2 , Optional = false } ,
839+ new Competency { CompetencyGroup = "A" , Id = 3 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 3 , Optional = false } ,
840+ } ;
841+ var optionalCompetencies = new List < Competency >
842+ {
843+ new Competency { CompetencyGroup = "A" , Id = 1 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 1 , Optional = true } ,
844+ } ;
845+ var supervisorSignOffs = new List < SupervisorSignOff > ( ) ;
846+ var expectedModel = new SelfAssessmentOverviewViewModel
847+ {
848+ SelfAssessment = selfAssessment ,
849+ CompetencyGroups = optionalCompetencies . GroupBy ( competency => competency . CompetencyGroup ) ,
850+ PreviousCompetencyNumber = 1 ,
851+ SupervisorSignOffs = supervisorSignOffs ,
852+ SearchViewModel = search ,
853+ AllQuestionsVerifiedOrNotRequired = true ,
854+ NumberOfOptionalCompetencies = 1 ,
855+ } ;
856+ A . CallTo ( ( ) => selfAssessmentService . GetSelfAssessmentForCandidateById ( DelegateUserId , SelfAssessmentId ) )
857+ . Returns ( selfAssessment ) ;
858+ A . CallTo ( ( ) => selfAssessmentService . GetMostRecentResults ( selfAssessment . Id , DelegateUserId ) )
859+ . Returns ( competencies ) ;
860+ A . CallTo ( ( ) => selfAssessmentService . GetCandidateAssessmentOptionalCompetencies ( selfAssessment . Id , DelegateUserId ) )
861+ . Returns ( optionalCompetencies ) ;
862+
863+ // When
864+ var result = controller . SelfAssessmentOverview ( SelfAssessmentId , selfAssessment . Vocabulary ! , searchModel : search ) ;
865+
866+ // Then
867+ result . Should ( ) . BeViewResult ( )
868+ . WithViewName ( "SelfAssessments/SelfAssessmentOverview" )
869+ . Model . Should ( ) . BeEquivalentTo ( expectedModel ) ;
870+
871+ result . Should ( ) . BeViewResult ( ) . ModelAs < SelfAssessmentOverviewViewModel > ( ) . CompetencyGroups . ToList ( ) [ 0 ] . Count ( ) . Should ( ) . Be ( 1 ) ;
872+ }
777873 }
778874}
0 commit comments