public void CheckProgressForCompletion_does_nothing_if_progress_is_already_completed() { // Given var completedDate = new DateTime(2022, 1, 1, 1, 1, 1); var detailedCourseProgress = ProgressTestHelper.GetDefaultDetailedCourseProgress(completed: completedDate); // When progressService.CheckProgressForCompletionAndSendEmailIfCompleted(detailedCourseProgress); // Then A.CallTo( () => progressDataService.GetCompletionStatusForProgress(A <int> ._) ).MustNotHaveHappened(); }
public void CheckProgressForCompletionAndSendEmailIfCompleted(DelegateCourseInfo progress) { if (progress.Completed != null) { return; } var completionStatus = progressDataService.GetCompletionStatusForProgress(progress.ProgressId); if (completionStatus > 0) { progressDataService.SetCompletionDate(progress.ProgressId, DateTime.UtcNow); var numLearningLogItemsAffected = learningLogItemsDataService.MarkLearningLogItemsCompleteByProgressId(progress.ProgressId); notificationService.SendProgressCompletionNotificationEmail( progress, completionStatus, numLearningLogItemsAffected ); } }