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