public void AddCourseToGroup_adds_new_progress_record_when_existing_progress_record_is_removed() { // Given const int adminId = 1; var existingProgressRecord = ProgressTestHelper.GetDefaultProgress(removedDate: testDate); var groupCourse = GroupTestHelper.GetDefaultGroupCourse(supervisorAdminId: adminId); SetupEnrolProcessFakes( GenericNewProgressId, GenericRelatedTutorialId, existingProgressRecord ); SetUpAddCourseEnrolProcessFakes(groupCourse); // When groupsService.AddCourseToGroup( groupCourse.GroupId, groupCourse.CustomisationId, 8, adminId, true, adminId, centreId ); // Then using (new AssertionScope()) { DelegateProgressRecordMustNotHaveBeenUpdated(); A.CallTo( () => progressDataService.CreateNewDelegateProgress( reusableGroupDelegate.DelegateId, groupCourse.CustomisationId, groupCourse.CurrentVersion, testDate, 3, adminId, A <DateTime?> ._, adminId ) ).MustHaveHappened(); A.CallTo(() => progressDataService.CreateNewAspProgress(GenericRelatedTutorialId, GenericNewProgressId)) .MustHaveHappened(); } }
public void EnrolDelegateOnGroupCourses_adds_new_progress_record_when_existing_progress_record_is_removed() { // Given var existingProgressRecord = ProgressTestHelper.GetDefaultProgress(removedDate: testDate); SetupEnrolProcessFakes( GenericNewProgressId, GenericRelatedTutorialId, existingProgressRecord ); SetUpAddDelegateEnrolProcessFakes(reusableGroupCourse); // When groupsService.EnrolDelegateOnGroupCourses( reusableDelegateDetails, reusableMyAccountDetailsData, 8 ); // Then using (new AssertionScope()) { DelegateProgressRecordMustNotHaveBeenUpdated(); A.CallTo( () => progressDataService.CreateNewDelegateProgress( reusableDelegateDetails.Id, reusableGroupCourse.CustomisationId, reusableGroupCourse.CurrentVersion, testDate, 3, null, A <DateTime?> ._, A <int> ._ ) ).MustHaveHappened(); A.CallTo(() => progressDataService.CreateNewAspProgress(GenericRelatedTutorialId, GenericNewProgressId)) .MustHaveHappened(); } }