Skip to content

Commit 589cc3a

Browse files
authored
Merge pull request #2683 from TechnologyEnhancedLearning/Develop/Fixes/TD-3930-AllDelegatesControllerRefactor
TD-3930 AllDelegatesController Refactor
2 parents 9b7f13e + 633ceb0 commit 589cc3a

File tree

3 files changed

+32
-23
lines changed

3 files changed

+32
-23
lines changed

DigitalLearningSolutions.Web.Tests/Controllers/TrackingSystem/Delegates/AllDelegatesControllerTests.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
namespace DigitalLearningSolutions.Web.Tests.Controllers.TrackingSystem.Delegates
22
{
33
using System.Collections.Generic;
4-
using DigitalLearningSolutions.Data.DataServices;
5-
using DigitalLearningSolutions.Data.DataServices.UserDataService;
64
using DigitalLearningSolutions.Data.Models.SearchSortFilterPaginate;
75
using DigitalLearningSolutions.Data.Models.User;
86
using DigitalLearningSolutions.Data.Utilities;
@@ -27,10 +25,10 @@ public class AllDelegatesControllerTests
2725
private IDelegateDownloadFileService delegateDownloadFileService = null!;
2826
private HttpRequest httpRequest = null!;
2927
private HttpResponse httpResponse = null!;
30-
private IJobGroupsDataService jobGroupsDataService = null!;
28+
private IJobGroupsService jobGroupsService = null!;
3129
private PromptsService promptsHelper = null!;
3230
private IPaginateService paginateService = null!;
33-
private IUserDataService userDataService = null!;
31+
private IUserService userService = null!;
3432
private IGroupsService groupsService = null!;
3533
private IConfiguration? configuration;
3634
private IWebHostEnvironment? env;
@@ -41,8 +39,8 @@ public void Setup()
4139
centreRegistrationPromptsService = A.Fake<ICentreRegistrationPromptsService>();
4240
delegateDownloadFileService = A.Fake<IDelegateDownloadFileService>();
4341
promptsHelper = new PromptsService(centreRegistrationPromptsService);
44-
userDataService = A.Fake<IUserDataService>();
45-
jobGroupsDataService = A.Fake<IJobGroupsDataService>();
42+
userService = A.Fake<IUserService>();
43+
jobGroupsService = A.Fake<IJobGroupsService>();
4644
paginateService = A.Fake<IPaginateService>();
4745
groupsService = A.Fake<IGroupsService>();
4846
configuration = A.Fake<IConfiguration>();
@@ -54,9 +52,9 @@ public void Setup()
5452

5553
allDelegatesController = new AllDelegatesController(
5654
delegateDownloadFileService,
57-
userDataService,
55+
userService,
5856
promptsHelper,
59-
jobGroupsDataService,
57+
jobGroupsService,
6058
paginateService,
6159
groupsService,
6260
configuration,
@@ -74,18 +72,18 @@ public void Index_calls_expected_methods_and_returns_view()
7472
// When
7573

7674
var loggedInAdmin = UserTestHelper.GetDefaultAdminEntity();
77-
A.CallTo(() => userDataService.GetAdminById(loggedInAdmin.AdminAccount.Id)).Returns(loggedInAdmin);
75+
A.CallTo(() => userService.GetAdminById(loggedInAdmin.AdminAccount.Id)).Returns(loggedInAdmin);
7876

7977
var result = allDelegatesController.Index();
8078

8179
// Then
8280
using (new AssertionScope())
8381
{
84-
A.CallTo(() => userDataService.GetDelegateUserCards(A<string>._, A<int>._, A<int>._, A<string>._,
82+
A.CallTo(() => userService.GetDelegateUserCards(A<string>._, A<int>._, A<int>._, A<string>._,
8583
A<string>._, A<int>._, A<string>._, A<string>._, A<string>._, A<string>._, A<string>._,
8684
A<string>._, A<int>._, A<int?>._, A<string>._, A<string>._, A<string>._, A<string>._, A<string>._, A<string>._)
8785
).MustHaveHappened();
88-
A.CallTo(() => jobGroupsDataService.GetJobGroupsAlphabetical())
86+
A.CallTo(() => jobGroupsService.GetJobGroupsAlphabetical())
8987
.MustHaveHappened();
9088
A.CallTo(() => centreRegistrationPromptsService.GetCentreRegistrationPromptsByCentreId(A<int>._))
9189
.MustHaveHappened();

DigitalLearningSolutions.Web/Controllers/TrackingSystem/Delegates/AllDelegatesController.cs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
{
33
using System;
44
using System.Linq;
5-
using DigitalLearningSolutions.Data.DataServices;
6-
using DigitalLearningSolutions.Data.DataServices.UserDataService;
75
using DigitalLearningSolutions.Data.Enums;
86
using DigitalLearningSolutions.Data.Helpers;
97
using DigitalLearningSolutions.Data.Models.SearchSortFilterPaginate;
@@ -29,29 +27,29 @@ public class AllDelegatesController : Controller
2927
{
3028
private string DelegateFilterCookieName = "DelegateFilter";
3129
private readonly IDelegateDownloadFileService delegateDownloadFileService;
32-
private readonly IJobGroupsDataService jobGroupsDataService;
30+
private readonly IJobGroupsService jobGroupsService;
3331
private readonly PromptsService promptsService;
3432
private readonly IPaginateService paginateService;
35-
private readonly IUserDataService userDataService;
33+
private readonly IUserService userService;
3634
private readonly IGroupsService groupsService;
3735
private readonly IConfiguration configuration;
3836
private readonly IWebHostEnvironment env;
3937

4038
public AllDelegatesController(
4139
IDelegateDownloadFileService delegateDownloadFileService,
42-
IUserDataService userDataService,
40+
IUserService userDataService,
4341
PromptsService promptsService,
44-
IJobGroupsDataService jobGroupsDataService,
42+
IJobGroupsService jobGroupsDataService,
4543
IPaginateService paginateService,
4644
IGroupsService groupsService,
4745
IConfiguration configuration,
4846
IWebHostEnvironment env
4947
)
5048
{
5149
this.delegateDownloadFileService = delegateDownloadFileService;
52-
this.userDataService = userDataService;
50+
this.userService = userDataService;
5351
this.promptsService = promptsService;
54-
this.jobGroupsDataService = jobGroupsDataService;
52+
this.jobGroupsService = jobGroupsDataService;
5553
this.paginateService = paginateService;
5654
this.groupsService = groupsService;
5755
this.configuration = configuration;
@@ -72,7 +70,7 @@ public IActionResult Index(
7270
)
7371
{
7472
searchString = searchString == null ? string.Empty : searchString.Trim();
75-
var loggedInSuperAdmin = userDataService.GetAdminById(User.GetAdminId()!.Value);
73+
var loggedInSuperAdmin = userService.GetAdminById(User.GetAdminId()!.Value);
7674
if (loggedInSuperAdmin.AdminAccount.Active == false)
7775
{
7876
return NotFound();
@@ -94,7 +92,7 @@ public IActionResult Index(
9492
int offSet = ((page - 1) * itemsPerPage) ?? 0;
9593

9694
var centreId = User.GetCentreIdKnownNotNull();
97-
var jobGroups = jobGroupsDataService.GetJobGroupsAlphabetical();
95+
var jobGroups = jobGroupsService.GetJobGroupsAlphabetical();
9896
var customPrompts = promptsService.GetCentreRegistrationPrompts(centreId).ToList();
9997
var groups = groupsService.GetActiveGroups(centreId);
10098

@@ -197,14 +195,14 @@ public IActionResult Index(
197195
}
198196
}
199197

200-
(var delegates, var resultCount) = this.userDataService.GetDelegateUserCards(searchString ?? string.Empty, offSet, itemsPerPage ?? 0, sortBy, sortDirection, centreId,
198+
(var delegates, var resultCount) = this.userService.GetDelegateUserCards(searchString ?? string.Empty, offSet, itemsPerPage ?? 0, sortBy, sortDirection, centreId,
201199
isActive, isPasswordSet, isAdmin, isUnclaimed, isEmailVerified, registrationType, jobGroupId, groupId,
202200
answer1, answer2, answer3, answer4, answer5, answer6);
203201

204202
if (delegates.Count() == 0 && resultCount > 0)
205203
{
206204
page = 1; offSet = 0;
207-
(delegates, resultCount) = this.userDataService.GetDelegateUserCards(searchString ?? string.Empty, offSet, itemsPerPage ?? 0, sortBy, sortDirection, centreId,
205+
(delegates, resultCount) = this.userService.GetDelegateUserCards(searchString ?? string.Empty, offSet, itemsPerPage ?? 0, sortBy, sortDirection, centreId,
208206
isActive, isPasswordSet, isAdmin, isUnclaimed, isEmailVerified, registrationType, jobGroupId, groupId,
209207
answer1, answer2, answer3, answer4, answer5, answer6);
210208
}

DigitalLearningSolutions.Web/Services/UserService.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@ int userId
128128
string centreSpecificEmail,
129129
string registrationConfirmationHash
130130
);
131+
(IEnumerable<DelegateUserCard>, int) GetDelegateUserCards(string searchString, int offSet, int itemsPerPage, string sortBy, string sortDirection, int centreId,
132+
string isActive, string isPasswordSet, string isAdmin, string isUnclaimed, string isEmailVerified, string registrationType, int jobGroupId,
133+
int? groupId, string answer1, string answer2, string answer3, string answer4, string answer5, string answer6);
134+
131135
DelegateUserCard? GetDelegateUserCardById(int id);
132136
void DeactivateDelegateUser(int delegateId);
133137
void ActivateDelegateUser(int delegateId);
@@ -727,6 +731,15 @@ public void SetPrimaryEmailVerified(int userId, string email, DateTime verifiedD
727731
{
728732
return userDataService.GetUserIdAndCentreForCentreEmailRegistrationConfirmationHashPair(centreSpecificEmail, registrationConfirmationHash);
729733
}
734+
735+
public (IEnumerable<DelegateUserCard>, int) GetDelegateUserCards(string searchString, int offSet, int itemsPerPage, string sortBy, string sortDirection, int centreId,
736+
string isActive, string isPasswordSet, string isAdmin, string isUnclaimed, string isEmailVerified, string registrationType, int jobGroupId,
737+
int? groupId, string answer1, string answer2, string answer3, string answer4, string answer5, string answer6)
738+
{
739+
return userDataService.GetDelegateUserCards(searchString, offSet, itemsPerPage, sortBy, sortDirection, centreId,
740+
isActive, isPasswordSet, isAdmin, isUnclaimed, isEmailVerified, registrationType, jobGroupId,
741+
groupId, answer1, answer2, answer3, answer4, answer5, answer6);
742+
}
730743
public DelegateUserCard? GetDelegateUserCardById(int id)
731744
{
732745
return userDataService.GetDelegateUserCardById(id);

0 commit comments

Comments
 (0)