Skip to content

Commit 708d14e

Browse files
TD-3917 SupervisorController - refactor (Controller-Service-Repository pattern)
1 parent 2e722eb commit 708d14e

File tree

5 files changed

+29
-42
lines changed

5 files changed

+29
-42
lines changed

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

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
namespace DigitalLearningSolutions.Web.Tests.Controllers.Support
22
{
3-
using DigitalLearningSolutions.Data.DataServices;
4-
using DigitalLearningSolutions.Data.DataServices.SelfAssessmentDataService;
5-
using DigitalLearningSolutions.Data.DataServices.UserDataService;
6-
using DigitalLearningSolutions.Data.Services;
3+
74
using DigitalLearningSolutions.Data.Utilities;
85
using DigitalLearningSolutions.Web.Controllers.SupervisorController;
96
using DigitalLearningSolutions.Web.Services;
@@ -21,21 +18,19 @@ public class SupervisorControllerTests
2118
private IFrameworkNotificationService frameworkNotificationService = null!;
2219
private ISelfAssessmentService selfAssessmentService = null!;
2320
private IFrameworkService frameworkService = null!;
24-
private IConfigDataService configDataService = null!;
21+
private IConfigService configService = null!;
2522
private ICentreRegistrationPromptsService centreRegistrationPromptsService = null!;
26-
private IUserDataService userDataService = null!;
23+
private IUserService userService = null!;
2724
private ILogger<SupervisorController> logger = null!;
2825
private IConfiguration config = null!;
2926
private ISearchSortFilterPaginateService searchSortFilterPaginateService = null!;
3027
private IMultiPageFormService multiPageFormService = null!;
3128
private IRegistrationService registrationService = null!;
32-
private ICentresDataService centresDataService = null!;
33-
private IUserService userService = null!;
29+
private ICentresService centresService = null!;
3430
private IEmailGenerationService emailGenerationService = null!;
3531
private IEmailService emailService = null!;
3632
private IClockUtility clockUtility = null!;
3733
private ICandidateAssessmentDownloadFileService candidateAssessmentDownloadFileService = null!;
38-
private ISelfAssessmentDataService selfAssessmentDataService = null!;
3934

4035
[SetUp]
4136
public void Setup()
@@ -45,21 +40,19 @@ public void Setup()
4540
frameworkNotificationService = A.Fake<IFrameworkNotificationService>();
4641
selfAssessmentService = A.Fake<ISelfAssessmentService>();
4742
frameworkService = A.Fake<IFrameworkService>();
48-
configDataService = A.Fake<IConfigDataService>();
43+
configService = A.Fake<IConfigService>();
4944
centreRegistrationPromptsService = A.Fake<ICentreRegistrationPromptsService>();
50-
userDataService = A.Fake<IUserDataService>();
45+
userService = A.Fake<IUserService>();
5146
logger = A.Fake<ILogger<SupervisorController>>();
5247
config = A.Fake<IConfiguration>();
5348
searchSortFilterPaginateService = A.Fake<ISearchSortFilterPaginateService>();
5449
multiPageFormService = A.Fake<IMultiPageFormService>();
5550
registrationService = A.Fake<IRegistrationService>();
56-
centresDataService = A.Fake<ICentresDataService>();
57-
userService = A.Fake<IUserService>();
51+
centresService = A.Fake<ICentresService>();
5852
emailGenerationService = A.Fake<IEmailGenerationService>();
5953
emailService = A.Fake<IEmailService>();
6054
clockUtility = A.Fake<IClockUtility>();
6155
candidateAssessmentDownloadFileService = A.Fake<ICandidateAssessmentDownloadFileService>();
62-
selfAssessmentDataService = A.Fake<ISelfAssessmentDataService>();
6356

6457
A.CallTo(() => candidateAssessmentDownloadFileService.GetCandidateAssessmentDownloadFileForCentre(A<int>._, A<int>._, A<bool>._))
6558
.Returns(new byte[] { });
@@ -76,20 +69,18 @@ public void ExportCandidateAssessment_should_return_file_object_with_file_name_i
7669
frameworkNotificationService,
7770
selfAssessmentService,
7871
frameworkService,
79-
configDataService,
72+
configService,
8073
centreRegistrationPromptsService,
81-
userDataService,
74+
userService,
8275
logger,
8376
config,
8477
searchSortFilterPaginateService,
8578
multiPageFormService,
8679
registrationService,
87-
centresDataService,
88-
userService,
80+
centresService,
8981
emailGenerationService,
9082
emailService,
9183
candidateAssessmentDownloadFileService,
92-
selfAssessmentDataService,
9384
clockUtility
9485
);
9586
string expectedFileName = $"{((selfAssessmentName.Length > 30) ? selfAssessmentName.Substring(0, 30) : selfAssessmentName)} - {delegateName} - {clockUtility.UtcNow:yyyy-MM-dd}.xlsx";

DigitalLearningSolutions.Web/Controllers/SupervisorController/Supervisor.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public IActionResult MyStaffList(
5151
var loggedInUserId = User.GetUserId();
5252
var centreId = GetCentreId();
5353
var supervisorEmail = GetUserEmail();
54-
var loggedInAdminUser = userDataService.GetAdminUserById(adminId);
54+
var loggedInAdminUser = userService.GetAdminUserById(adminId);
5555
var centreRegistrationPrompts = centreRegistrationPromptsService.GetCentreRegistrationPromptsByCentreId(centreId);
5656
var supervisorDelegateDetails = supervisorService.GetSupervisorDelegateDetailsForAdminId(adminId);
5757
var isSupervisor = User.GetCustomClaimAsBool(CustomClaimTypes.IsSupervisor) ?? false;
@@ -314,7 +314,7 @@ public IActionResult DelegateProfileAssessments(int supervisorDelegateId, int de
314314
var adminId = GetAdminId();
315315
var superviseDelegate = supervisorService.GetSupervisorDelegateDetailsById(supervisorDelegateId, adminId, delegateUserId);
316316
var loggedInUserId = User.GetAdminId();
317-
var loggedInAdminUser = userDataService.GetAdminUserById(loggedInUserId!.GetValueOrDefault());
317+
var loggedInAdminUser = userService.GetAdminUserById(loggedInUserId!.GetValueOrDefault());
318318
var delegateSelfAssessments = supervisorService.GetSelfAssessmentsForSupervisorDelegateId(supervisorDelegateId, adminId);
319319
var model = new DelegateSelfAssessmentsViewModel()
320320
{
@@ -1025,7 +1025,7 @@ public IActionResult QuickAddSupervisor(int selfAssessmentId, int supervisorDele
10251025
else
10261026
{
10271027

1028-
var candidateAssessmentId = selfAssessmentDataService.GetCandidateAssessments(delegateUserId, selfAssessmentId).SingleOrDefault()?.Id;
1028+
var candidateAssessmentId = selfAssessmentService.GetCandidateAssessments(delegateUserId, selfAssessmentId).SingleOrDefault()?.Id;
10291029
var roleId = supervisorRoles.Where(x => x.SelfAssessmentID == selfAssessmentId).Select(x => x.ID).FirstOrDefault();
10301030
if (candidateAssessmentId != null)
10311031
{

DigitalLearningSolutions.Web/Controllers/SupervisorController/SupervisorController.cs

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
namespace DigitalLearningSolutions.Web.Controllers.SupervisorController
22
{
3-
using DigitalLearningSolutions.Data.DataServices;
4-
using DigitalLearningSolutions.Data.DataServices.SelfAssessmentDataService;
5-
using DigitalLearningSolutions.Data.DataServices.UserDataService;
6-
using DigitalLearningSolutions.Data.Services;
73
using DigitalLearningSolutions.Data.Utilities;
84
using DigitalLearningSolutions.Web.Helpers;
95
using DigitalLearningSolutions.Web.Services;
@@ -23,14 +19,12 @@ public partial class SupervisorController : Controller
2319
private readonly IMultiPageFormService multiPageFormService;
2420
private readonly ISelfAssessmentService selfAssessmentService;
2521
private readonly ISupervisorService supervisorService;
26-
private readonly IUserDataService userDataService;
27-
private readonly IRegistrationService registrationService;
28-
private readonly ICentresDataService centresDataService;
2922
private readonly IUserService userService;
23+
private readonly IRegistrationService registrationService;
24+
private readonly ICentresService centresService;
3025
private readonly IEmailGenerationService emailGenerationService;
3126
private readonly IEmailService emailService;
3227
private readonly ICandidateAssessmentDownloadFileService candidateAssessmentDownloadFileService;
33-
private readonly ISelfAssessmentDataService selfAssessmentDataService;
3428
private readonly IClockUtility clockUtility;
3529

3630
public SupervisorController(
@@ -39,20 +33,18 @@ public SupervisorController(
3933
IFrameworkNotificationService frameworkNotificationService,
4034
ISelfAssessmentService selfAssessmentService,
4135
IFrameworkService frameworkService,
42-
IConfigDataService configDataService,
36+
IConfigService configService,
4337
ICentreRegistrationPromptsService centreRegistrationPromptsService,
44-
IUserDataService userDataService,
38+
IUserService userService,
4539
ILogger<SupervisorController> logger,
4640
IConfiguration config,
4741
ISearchSortFilterPaginateService searchSortFilterPaginateService,
4842
IMultiPageFormService multiPageFormService,
4943
IRegistrationService registrationService,
50-
ICentresDataService centresDataService,
51-
IUserService userService,
44+
ICentresService centresService,
5245
IEmailGenerationService emailGenerationService,
5346
IEmailService emailService,
5447
ICandidateAssessmentDownloadFileService candidateAssessmentDownloadFileService,
55-
ISelfAssessmentDataService selfAssessmentDataService,
5648
IClockUtility clockUtility
5749
)
5850
{
@@ -61,16 +53,14 @@ IClockUtility clockUtility
6153
this.frameworkService = frameworkService;
6254
this.selfAssessmentService = selfAssessmentService;
6355
this.centreRegistrationPromptsService = centreRegistrationPromptsService;
64-
this.userDataService = userDataService;
56+
this.userService = userService;
6557
this.searchSortFilterPaginateService = searchSortFilterPaginateService;
6658
this.multiPageFormService = multiPageFormService;
6759
this.registrationService = registrationService;
68-
this.centresDataService = centresDataService;
69-
this.userService = userService;
60+
this.centresService = centresService;
7061
this.emailGenerationService = emailGenerationService;
7162
this.emailService = emailService;
7263
this.candidateAssessmentDownloadFileService = candidateAssessmentDownloadFileService;
73-
this.selfAssessmentDataService = selfAssessmentDataService;
7464
this.clockUtility = clockUtility;
7565
}
7666

@@ -87,14 +77,14 @@ private int GetAdminId()
8777
private string GetUserEmail()
8878
{
8979
var adminId = GetAdminId();
90-
var adminEntity = userDataService.GetAdminById(adminId);
80+
var adminEntity = userService.GetAdminById(adminId);
9181
return adminEntity!.EmailForCentreNotifications;
9282
}
9383

9484
private string? GetBannerText()
9585
{
9686
var centreId = (int)User.GetCentreId();
97-
var bannerText = centresDataService.GetBannerText(centreId);
87+
var bannerText = centresService.GetBannerText(centreId);
9888
return bannerText;
9989
}
10090
}

DigitalLearningSolutions.Web/Services/CandidateAssessmentDownloadFileService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace DigitalLearningSolutions.Data.Services
1+
namespace DigitalLearningSolutions.Web.Services
22
{
33
using ClosedXML.Excel;
44
using DigitalLearningSolutions.Data.DataServices.SelfAssessmentDataService;

DigitalLearningSolutions.Web/Services/SelfAssessmentService.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ public int GetSelfAssessmentActivityDelegatesExportCount(string searchString, st
148148
IEnumerable<Accessor> GetAccessor(int selfAssessmentId, int delegateUserID);
149149
ActivitySummaryCompetencySelfAssesment GetActivitySummaryCompetencySelfAssesment(int CandidateAssessmentSupervisorVerificationsId);
150150
bool IsUnsupervisedSelfAssessment(int selfAssessmentId);
151+
IEnumerable<CandidateAssessment> GetCandidateAssessments(int delegateUserId, int selfAssessmentId);
152+
151153
}
152154

153155
public class SelfAssessmentService : ISelfAssessmentService
@@ -541,5 +543,9 @@ public bool IsUnsupervisedSelfAssessment(int selfAssessmentId)
541543
{
542544
return selfAssessmentDataService.IsUnsupervisedSelfAssessment(selfAssessmentId);
543545
}
546+
public IEnumerable<CandidateAssessment> GetCandidateAssessments(int delegateUserId, int selfAssessmentId)
547+
{
548+
return selfAssessmentDataService.GetCandidateAssessments(delegateUserId,selfAssessmentId);
549+
}
544550
}
545551
}

0 commit comments

Comments
 (0)