Skip to content

Commit 8813e05

Browse files
authored
Merge pull request #2698 from TechnologyEnhancedLearning/Develop/feature/TD-3926-AdminFieldsController-refactor
TD-3926-AdminFieldsController - refactor
2 parents e60209c + 7d74e30 commit 8813e05

File tree

3 files changed

+18
-12
lines changed

3 files changed

+18
-12
lines changed

DigitalLearningSolutions.Web.Tests/Controllers/TrackingSystem/CourseSetup/AdminFieldsControllerTests.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
namespace DigitalLearningSolutions.Web.Tests.Controllers.TrackingSystem.CourseSetup
22
{
3-
using DigitalLearningSolutions.Data.DataServices;
43
using DigitalLearningSolutions.Data.Models.CustomPrompts;
54
using DigitalLearningSolutions.Data.Models.MultiPageFormData.AddAdminField;
6-
using DigitalLearningSolutions.Data.Models.MultiPageFormData.EditAdminField;
5+
using DigitalLearningSolutions.Data.Models.MultiPageFormData.EditAdminField;
76
using DigitalLearningSolutions.Web.Controllers.TrackingSystem.CourseSetup;
87
using DigitalLearningSolutions.Web.Extensions;
98
using DigitalLearningSolutions.Web.Services;
@@ -24,7 +23,6 @@
2423
public class AdminFieldsControllerTests
2524
{
2625
private AdminFieldsController controller = null!;
27-
private ICourseAdminFieldsDataService courseAdminFieldsDataService = null!;
2826
private ICourseAdminFieldsService courseAdminFieldsService = null!;
2927
private ICourseService courseService = null!;
3028
private IMultiPageFormService multiPageFormService = null!;
@@ -56,13 +54,11 @@ private static IEnumerable<TestCaseData> AddAnswerModelErrorTestData
5654
[SetUp]
5755
public void Setup()
5856
{
59-
courseAdminFieldsDataService = A.Fake<ICourseAdminFieldsDataService>();
6057
courseAdminFieldsService = A.Fake<ICourseAdminFieldsService>();
6158
multiPageFormService = A.Fake<IMultiPageFormService>();
6259
courseService = A.Fake<ICourseService>();
6360
controller = new AdminFieldsController(
6461
courseAdminFieldsService,
65-
courseAdminFieldsDataService,
6662
multiPageFormService
6763
)
6864
.WithDefaultContext()
@@ -683,7 +679,7 @@ public void AddAdminField_adds_model_error_if_field_name_is_already_in_use()
683679
).Returns(initialTempData);
684680
const string action = "save";
685681

686-
A.CallTo(() => courseAdminFieldsDataService.GetCourseFieldPromptIdsForCustomisation(A<int>._))
682+
A.CallTo(() => courseAdminFieldsService.GetCourseFieldPromptIdsForCustomisation(A<int>._))
687683
.Returns(new[] { 1, 0, 0 });
688684

689685
// When

DigitalLearningSolutions.Web/Controllers/TrackingSystem/CourseSetup/AdminFieldsController.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
namespace DigitalLearningSolutions.Web.Controllers.TrackingSystem.CourseSetup
22
{
3-
using DigitalLearningSolutions.Data.DataServices;
43
using DigitalLearningSolutions.Data.Enums;
54
using DigitalLearningSolutions.Data.Helpers;
65
using DigitalLearningSolutions.Data.Models.MultiPageFormData.AddAdminField;
@@ -31,18 +30,15 @@ public class AdminFieldsController : Controller
3130
public const string AddPromptAction = "addPrompt";
3231
public const string SaveAction = "save";
3332
public const string BulkAction = "bulk";
34-
private readonly ICourseAdminFieldsDataService courseAdminFieldsDataService;
3533
private readonly ICourseAdminFieldsService courseAdminFieldsService;
3634
private readonly IMultiPageFormService multiPageFormService;
3735

3836
public AdminFieldsController(
3937
ICourseAdminFieldsService courseAdminFieldsService,
40-
ICourseAdminFieldsDataService courseAdminFieldsDataService,
4138
IMultiPageFormService multiPageFormService
4239
)
4340
{
4441
this.courseAdminFieldsService = courseAdminFieldsService;
45-
this.courseAdminFieldsDataService = courseAdminFieldsDataService;
4642
this.multiPageFormService = multiPageFormService;
4743
}
4844

@@ -288,7 +284,7 @@ AddBulkAdminFieldAnswersViewModel model
288284
public IActionResult RemoveAdminField(int customisationId, int promptNumber)
289285
{
290286
var answerCount =
291-
courseAdminFieldsDataService.GetAnswerCountForCourseAdminField(customisationId, promptNumber);
287+
courseAdminFieldsService.GetAnswerCountForCourseAdminField(customisationId, promptNumber);
292288

293289
if (answerCount == 0)
294290
{
@@ -574,7 +570,7 @@ private void ValidateUniqueAdminFieldId(int customisationId, int? adminFieldId)
574570
return;
575571
}
576572

577-
var existingIds = courseAdminFieldsDataService.GetCourseFieldPromptIdsForCustomisation(customisationId);
573+
var existingIds = courseAdminFieldsService.GetCourseFieldPromptIdsForCustomisation(customisationId);
578574

579575
if (existingIds.Any(id => id == adminFieldId))
580576
{

DigitalLearningSolutions.Web/Services/CourseAdminFieldsService.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ public IEnumerable<CourseAdminFieldWithResponseCounts> GetCourseAdminFieldsWithA
3636
int customisationId,
3737
int centreId
3838
);
39+
40+
int GetAnswerCountForCourseAdminField(int customisationId, int promptNumber);
41+
42+
int[] GetCourseFieldPromptIdsForCustomisation(int customisationId);
3943
}
4044

4145
public class CourseAdminFieldsService : ICourseAdminFieldsService
@@ -413,5 +417,15 @@ private static List<CourseAdminFieldWithResponseCounts>
413417

414418
return list;
415419
}
420+
421+
public int GetAnswerCountForCourseAdminField(int customisationId, int promptNumber)
422+
{
423+
return courseAdminFieldsDataService.GetAnswerCountForCourseAdminField(customisationId, promptNumber);
424+
}
425+
426+
public int[] GetCourseFieldPromptIdsForCustomisation(int customisationId)
427+
{
428+
return courseAdminFieldsDataService.GetCourseFieldPromptIdsForCustomisation(customisationId);
429+
}
416430
}
417431
}

0 commit comments

Comments
 (0)