@@ -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