@@ -207,6 +207,63 @@ public void ReviewDelegateSelfAssessment_Should_Return_View_With_Optional_Compet
207207 . ModelAs < ReviewSelfAssessmentViewModel > ( )
208208 . CompetencyGroups ? . SelectMany ( group => group ) . FirstOrDefault ( x => x . Id == 2 ) ? . Optional . Should ( ) . Be ( false ) ;
209209 }
210-
210+ [ Test ]
211+ public void ReviewDelegateSelfAssessment_Should_Return_View_With_Optional_Filter_Applied ( )
212+ {
213+ // Given
214+ int candidateAssessmentId = 1 ;
215+ int supervisorDelegateId = 2 ;
216+ var superviseDelegate = SupervisorTagTestHelper . CreateDefaultSupervisorDelegateDetail ( ) ;
217+ var delegateSelfAssessment = SupervisorTagTestHelper . CreateDefaultDelegateSelfAssessment ( ) ;
218+ SearchSupervisorCompetencyViewModel searchModel = null ! ;
219+ var appliedFilterViewModel = new List < AppliedFilterViewModel >
220+ {
221+ new AppliedFilterViewModel { DisplayText = "Optional" , FilterCategory = null ! , FilterValue = "-4" , TagClass = "" } ,
222+ } ;
223+ var searchViewModel = searchModel == null ? new SearchSupervisorCompetencyViewModel ( supervisorDelegateId , searchModel ? . SearchText ! , delegateSelfAssessment . ID , delegateSelfAssessment . IsSupervisorResultsReviewed , false , null ! , null ! )
224+ : searchModel . Initialise ( searchModel . AppliedFilters , null ! , delegateSelfAssessment . IsSupervisorResultsReviewed , false ) ;
225+
226+ var competencySummaries = new CompetencySummary ( ) ;
227+ var competencies = new List < Competency >
228+ {
229+ new Competency { CompetencyGroup = "A" , Id = 1 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 1 , Optional = true } ,
230+ new Competency { CompetencyGroup = "A" , Id = 2 , CompetencyGroupID = 1 , SelfAssessmentStructureId = 1 , Optional = false } ,
231+ } ;
232+ var expectedCompetencyGroups = competencies . GroupBy ( c => c . CompetencyGroup ) . ToList ( ) ;
233+ var supervisorSignOffs = new List < SupervisorSignOff > ( ) ;
234+ var expectedModel = new ReviewSelfAssessmentViewModel ( )
235+ {
236+ SupervisorDelegateDetail = superviseDelegate ,
237+ DelegateSelfAssessment = delegateSelfAssessment ,
238+ CompetencyGroups = expectedCompetencyGroups ,
239+ IsSupervisorResultsReviewed = delegateSelfAssessment . IsSupervisorResultsReviewed ,
240+ SearchViewModel = searchViewModel ,
241+ CandidateAssessmentId = candidateAssessmentId ,
242+ ExportToExcelHide = delegateSelfAssessment . SupervisorRoleTitle ? . Contains ( "Assessor" ) ?? false ,
243+ SupervisorSignOffs = supervisorSignOffs ,
244+ CompetencySummaries = competencySummaries
245+ } ;
246+ var loggedInAdmin = UserTestHelper . GetDefaultAdminEntity ( ) ;
247+ A . CallTo ( ( ) => userService . GetAdminById ( loggedInAdmin . AdminAccount . Id ) ) . Returns ( loggedInAdmin ) ;
248+
249+ A . CallTo ( ( ) => supervisorService . GetSupervisorDelegateDetailsById ( supervisorDelegateId , AdminId , 0 ) )
250+ . Returns ( superviseDelegate ) ;
251+ A . CallTo ( ( ) => supervisorService . GetSelfAssessmentByCandidateAssessmentId ( candidateAssessmentId , AdminId ) )
252+ . Returns ( delegateSelfAssessment ) ;
253+ A . CallTo ( ( ) => selfAssessmentService . GetMostRecentResults ( SelfAssessmentId , DelegateUserId ) )
254+ . Returns ( competencies ) ;
255+
256+ // When
257+ var result = controller . ReviewDelegateSelfAssessment ( supervisorDelegateId , candidateAssessmentId , SelfAssessmentId , searchViewModel ) ;
258+
259+ // Then
260+ result . Should ( ) . BeViewResult ( ) . ModelAs < ReviewSelfAssessmentViewModel > ( ) ;
261+
262+ result . Should ( ) . BeViewResult ( )
263+ . WithViewName ( "ReviewSelfAssessment" )
264+ . ModelAs < ReviewSelfAssessmentViewModel > ( )
265+ . CompetencyGroups ? . Should ( ) . NotBeNull ( ) ;
266+ }
267+
211268 }
212269}
0 commit comments