Skip to content

Commit 0998b17

Browse files
TD-3671 Changing of enrolment date when the delegate re-enrol
1 parent 0032b3b commit 0998b17

File tree

8 files changed

+33
-22
lines changed

8 files changed

+33
-22
lines changed

DigitalLearningSolutions.Data/DataServices/ProgressDataService.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ public interface IProgressDataService
1515
{
1616
IEnumerable<Progress> GetDelegateProgressForCourse(int delegateId, int customisationId);
1717

18-
void UpdateProgressSupervisorAndCompleteByDate(int progressId, int supervisorAdminId, DateTime? completeByDate, int enrollmentMethodID);
19-
18+
void UpdateProgressSupervisorAndCompleteByDate(int progressId, int supervisorAdminId, DateTime? completeByDate, int enrollmentMethodID, DateTime? firstSubmittedTime);
2019
int CreateNewDelegateProgress(
2120
int delegateId,
2221
int customisationId,
@@ -144,16 +143,18 @@ public void UpdateProgressSupervisorAndCompleteByDate(
144143
int progressId,
145144
int supervisorAdminId,
146145
DateTime? completeByDate,
147-
int enrollmentMethodID
146+
int enrollmentMethodID,
147+
DateTime? firstSubmittedTime
148148
)
149149
{
150150
connection.Execute(
151151
@"UPDATE Progress SET
152152
SupervisorAdminID = @supervisorAdminId,
153153
CompleteByDate = @completeByDate,
154-
EnrollmentMethodID = @enrollmentMethodID
154+
EnrollmentMethodID = @enrollmentMethodID,
155+
FirstSubmittedTime= @firstSubmittedTime
155156
WHERE ProgressID = @progressId",
156-
new { progressId, supervisorAdminId, completeByDate, enrollmentMethodID }
157+
new { progressId, supervisorAdminId, completeByDate, enrollmentMethodID, @firstSubmittedTime }
157158
);
158159
}
159160

DigitalLearningSolutions.Data/Utilities/ClockUtility.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public interface IClockUtility
1010

1111
public class ClockUtility : IClockUtility
1212
{
13-
public DateTime UtcNow => DateTime.UtcNow;
13+
public DateTime UtcNow => DateTime.Now;
1414
public DateTime UtcToday => UtcNow.Date;
1515
}
1616
}

DigitalLearningSolutions.Web.Tests/Services/GroupServiceTests/GroupsServiceEnrolDelegateTests.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System;
44
using Castle.Core.Internal;
55
using DigitalLearningSolutions.Data.Models.Email;
6+
using DigitalLearningSolutions.Web.Helpers;
67
using DigitalLearningSolutions.Web.Tests.TestHelpers;
78
using FakeItEasy;
89
using FluentAssertions.Execution;
@@ -349,7 +350,8 @@ public void EnrolDelegateOnGroupCourses_updates_existing_progress_record()
349350
reusableProgressRecord.ProgressId,
350351
A<int>._,
351352
A<DateTime?>._,
352-
A<int>._
353+
A<int>._,
354+
A<DateTime?>._
353355
)
354356
).MustHaveHappened();
355357
}
@@ -386,7 +388,8 @@ public void
386388
reusableProgressRecord.ProgressId,
387389
reusableProgressRecord.SupervisorAdminId,
388390
A<DateTime?>._,
389-
A<int>._
391+
A<int>._,
392+
A<DateTime?>._
390393
)
391394
).MustHaveHappened();
392395
}
@@ -423,7 +426,8 @@ public void EnrolDelegateOnGroupCourses_update_uses_course_supervisor_id_if_cour
423426
reusableProgressRecord.ProgressId,
424427
supervisorId,
425428
A<DateTime?>._,
426-
A<int>._
429+
A<int>._,
430+
A<DateTime?>._
427431
)
428432
).MustHaveHappened();
429433
}
@@ -460,7 +464,8 @@ public void
460464
reusableProgressRecord.ProgressId,
461465
A<int>._,
462466
null,
463-
A<int>._
467+
A<int>._,
468+
A<DateTime?>._
464469
)
465470
).MustHaveHappened();
466471
}
@@ -499,7 +504,8 @@ public void
499504
reusableProgressRecord.ProgressId,
500505
A<int>._,
501506
expectedFutureDate,
502-
A<int>._
507+
A<int>._,
508+
A<DateTime?>._
503509
)
504510
).MustHaveHappened();
505511
}

DigitalLearningSolutions.Web.Tests/Services/GroupServiceTests/GroupsServiceTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -721,7 +721,7 @@ private void DelegateMustNotHaveBeenAddedToAGroup()
721721
private void DelegateProgressRecordMustNotHaveBeenUpdated()
722722
{
723723
A.CallTo(
724-
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(A<int>._, A<int>._, A<DateTime?>._, A<int>._)
724+
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(A<int>._, A<int>._, A<DateTime?>._, A<int>._, A<DateTime?>._)
725725
).MustNotHaveHappened();
726726
}
727727

@@ -764,7 +764,7 @@ private void DatabaseModificationsDoNothing()
764764
A.CallTo(() => groupsDataService.AddDelegateToGroup(A<int>._, A<int>._, A<DateTime>._, A<int>._))
765765
.DoesNothing();
766766
A.CallTo(
767-
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(A<int>._, A<int>._, A<DateTime?>._, A<int>._)
767+
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(A<int>._, A<int>._, A<DateTime?>._, A<int>._, A<DateTime?>._)
768768
).DoesNothing();
769769
A.CallTo(
770770
() => progressDataService.CreateNewDelegateProgress(

DigitalLearningSolutions.Web.Tests/Services/ProgressServiceTests.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void UpdateSupervisor_does_not_update_records_if_new_supervisor_matches_c
5858

5959
// Then
6060
A.CallTo(
61-
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(A<int>._, A<int>._, A<DateTime?>._, A<int>._)
61+
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(A<int>._, A<int>._, A<DateTime?>._, A<int>._, A<DateTime?>._)
6262
).MustNotHaveHappened();
6363
A.CallTo(
6464
() => progressDataService.ClearAspProgressVerificationRequest(A<int>._)
@@ -84,7 +84,8 @@ public void UpdateSupervisor_updates_records_if_new_supervisor_does_not_match_cu
8484
progressId,
8585
newSupervisorId,
8686
A<DateTime?>._,
87-
A<int>._
87+
A<int>._,
88+
A<DateTime?>._
8889
)
8990
).MustHaveHappened();
9091
A.CallTo(
@@ -106,7 +107,7 @@ public void UpdateSupervisor_sets_supervisor_id_to_0_if_new_supervisor_is_null()
106107

107108
// Then
108109
A.CallTo(
109-
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(progressId, 0, A<DateTime?>._, A<int>._)
110+
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(progressId, 0, A<DateTime?>._, A<int>._, A<DateTime?>._)
110111
).MustHaveHappened();
111112
A.CallTo(
112113
() => progressDataService.ClearAspProgressVerificationRequest(progressId)
@@ -123,7 +124,7 @@ public void UpdateSupervisor_throws_exception_if_no_progress_record_found()
123124
// Then
124125
Assert.Throws<ProgressNotFoundException>(() => progressService.UpdateSupervisor(progressId, null));
125126
A.CallTo(
126-
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(A<int>._, A<int>._, A<DateTime?>._, A<int>._)
127+
() => progressDataService.UpdateProgressSupervisorAndCompleteByDate(A<int>._, A<int>._, A<DateTime?>._, A<int>._, A<DateTime?>._)
127128
).MustNotHaveHappened();
128129
A.CallTo(
129130
() => progressDataService.ClearAspProgressVerificationRequest(A<int>._)

DigitalLearningSolutions.Web/Services/EnrolService.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,9 @@ public void EnrolDelegateOnCourse(int delegateId, int customisationId, int custo
103103
progressRecord.ProgressId,
104104
supervisorAdminId ?? 0,
105105
completeByDate,
106-
2
107-
);
106+
2,
107+
clockUtility.UtcNow
108+
);
108109
}
109110
}
110111
else
@@ -114,7 +115,7 @@ public void EnrolDelegateOnCourse(int delegateId, int customisationId, int custo
114115
customisationId,
115116
customisationVersion,
116117
clockUtility.UtcNow,
117-
3,
118+
2,
118119
enrolledByAdminId,
119120
completeByDate,
120121
supervisorAdminId ?? 0

DigitalLearningSolutions.Web/Services/GroupsService.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -744,7 +744,8 @@ IEnumerable<NotificationPreference> delegateNotificationPreferences
744744
progressRecord.ProgressId,
745745
updatedSupervisorAdminId,
746746
completeByDate,
747-
3
747+
3,
748+
clockUtility.UtcNow
748749
);
749750
}
750751
}

DigitalLearningSolutions.Web/Services/ProgressService.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ public void UpdateSupervisor(int progressId, int? newSupervisorId)
106106
progressId,
107107
supervisorId,
108108
courseInfo.CompleteBy,
109-
2
109+
2,
110+
clockUtility.UtcNow
110111
);
111112

112113
progressDataService.ClearAspProgressVerificationRequest(progressId);

0 commit comments

Comments
 (0)