Skip to content

Commit a5a0c3a

Browse files
authored
Merge pull request #2921 from TechnologyEnhancedLearning/Develop/Features/TD-4792-Warncentreadminsthatactiveadminaccountexistswheninactivatingdelegateaccount
TD-4792 Write unit tests for filter added on optional competencies in the supervisor view
2 parents 84ed4ae + 5d3e3b4 commit a5a0c3a

File tree

1 file changed

+58
-1
lines changed

1 file changed

+58
-1
lines changed

DigitalLearningSolutions.Web.Tests/Controllers/SupervisorController/SupervisorControllerTests.cs

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)