SetSelfAssessmentCompleteByDate_post_action_invalid_complete_by_date_should_not_call_the_course_service() { // Given const int selfAssessmentId = 1; const int day = 1; const int month = 1; const int year = 2020; var formData = new EditCompleteByDateFormData { Day = day, Month = month, Year = year }; controller.ModelState.AddModelError("year", "message"); var selfAssessment = SelfAssessmentHelper.CreateDefaultSelfAssessment(); A.CallTo(() => selfAssessmentService.GetSelfAssessmentForCandidateById(CandidateId, SelfAssessmentId)) .Returns(selfAssessment); // When controller.SetSelfAssessmentCompleteByDate(selfAssessmentId, formData); // Then A.CallTo( () => selfAssessmentService.SetCompleteByDate(selfAssessmentId, CandidateId, A <DateTime> ._) ).MustNotHaveHappened(); }
public void EditCompleteByDatePost_redirects_to_correct_action( DelegateAccessRoute accessedVia, string expectedController, string expectedAction ) { // Given var formData = new EditCompleteByDateFormData { Day = 1, Month = 1, Year = 2021, ReturnPageQuery = ReturnPageQueryHelper.GetDefaultReturnPageQuery(itemIdToReturnTo: CardId), }; A.CallTo(() => progressService.UpdateCompleteByDate(ProgressId, A <DateTime?> ._)).DoesNothing(); // When var result = delegateProgressController.EditCompleteByDate(formData, ProgressId, accessedVia); // Then var expectedFragment = accessedVia.Equals(DelegateAccessRoute.CourseDelegates) ? CardId : null; result.Should().BeRedirectToActionResult().WithControllerName(expectedController) .WithActionName(expectedAction).WithFragment(expectedFragment); }
public IActionResult SetSelfAssessmentCompleteByDate(int selfAssessmentId, EditCompleteByDateFormData formData) { var candidateId = User.GetCandidateIdKnownNotNull(); var assessment = selfAssessmentService.GetSelfAssessmentForCandidateById( candidateId, selfAssessmentId ); if (assessment is { Id : 0 })
public void Setting_an_empty_complete_by_date_for_course_should_call_the_course_service_with_null() { // Given const int id = 1; const int progressId = 1; var formData = new EditCompleteByDateFormData { Day = null, Month = null, Year = null }; // When controller.SetCurrentCourseCompleteByDate(id, progressId, formData); // Then A.CallTo(() => courseDataService.SetCompleteByDate(progressId, CandidateId, null)).MustHaveHappened(); }
public void Setting_a_valid_complete_by_date_should_redirect_to_current_courses() { // Given const int id = 1; const int progressId = 1; const int day = 29; const int month = 7; const int year = 3020; var formData = new EditCompleteByDateFormData { Day = day, Month = month, Year = year }; // When var result = (RedirectToActionResult)controller.SetCurrentCourseCompleteByDate(id, progressId, formData); // Then result.ActionName.Should().Be("Current"); }
public IActionResult SetCurrentActionPlanResourceCompleteByDate( int learningLogItemId, EditCompleteByDateFormData formData ) { if (!ModelState.IsValid) { var model = new EditCompleteByDateViewModel(formData, learningLogItemId); return(View("Current/SetCompleteByDate", model)); } var completeByDate = DateValidator.IsDateNull(formData.Day, formData.Month, formData.Year) ? (DateTime?)null : new DateTime(formData.Year !.Value, formData.Month !.Value, formData.Day !.Value); actionPlanService.SetCompleteByDate(learningLogItemId, completeByDate); return(RedirectToAction("Current")); }
public IActionResult EditCompleteByDate( EditCompleteByDateFormData formData, int progressId, DelegateProgressAccessRoute accessedVia ) { if (!ModelState.IsValid) { var model = new EditCompleteByDateViewModel(formData, progressId, accessedVia); return(View(model)); } var completeByDate = formData.Year != null ? new DateTime(formData.Year.Value, formData.Month !.Value, formData.Day !.Value) : (DateTime?)null; progressService.UpdateCompleteByDate(progressId, completeByDate); return(RedirectToPreviousPage(formData.DelegateId, progressId, accessedVia)); }
public IActionResult SetCurrentCourseCompleteByDate( int id, int progressId, EditCompleteByDateFormData formData ) { if (!ModelState.IsValid) { var model = new EditCompleteByDateViewModel(formData, id, progressId); return(View("Current/SetCompleteByDate", model)); } var completeByDate = DateValidator.IsDateNull(formData.Day, formData.Month, formData.Year) ? (DateTime?)null : new DateTime(formData.Year !.Value, formData.Month !.Value, formData.Day !.Value); courseDataService.SetCompleteByDate(progressId, User.GetCandidateIdKnownNotNull(), completeByDate); return(RedirectToAction("Current")); }
public void Setting_an_invalid_complete_by_date_for_course_should_not_call_the_course_service() { // Given const int id = 1; const int progressId = 1; const int day = 1; const int month = 1; const int year = 2020; var formData = new EditCompleteByDateFormData { Day = day, Month = month, Year = year }; controller.ModelState.AddModelError("year", "message"); // When controller.SetCurrentCourseCompleteByDate(id, progressId, formData); // Then A.CallTo(() => courseDataService.SetCompleteByDate(1, CandidateId, A <DateTime> ._)).MustNotHaveHappened(); }
public void Setting_a_valid_complete_by_date_for_course_should_call_the_course_service() { // Given const int id = 1; const int progressId = 1; const int newDay = 29; const int newMonth = 7; const int newYear = 3020; var formData = new EditCompleteByDateFormData { Day = newDay, Month = newMonth, Year = newYear }; var newDate = new DateTime(newYear, newMonth, newDay); // When controller.SetCurrentCourseCompleteByDate(id, progressId, formData); // Then A.CallTo(() => courseDataService.SetCompleteByDate(progressId, CandidateId, newDate)).MustHaveHappened(); }
public void SetSelfAssessmentCompleteByDate_post_action_empty_complete_by_date_should_call_the_course_service() { // Given const int selfAssessmentId = 1; var formData = new EditCompleteByDateFormData { Day = null, Month = null, Year = null }; var selfAssessment = SelfAssessmentHelper.CreateDefaultSelfAssessment(); A.CallTo(() => selfAssessmentService.GetSelfAssessmentForCandidateById(CandidateId, SelfAssessmentId)) .Returns(selfAssessment); // When controller.SetSelfAssessmentCompleteByDate(selfAssessmentId, formData); // Then A.CallTo( () => selfAssessmentService.SetCompleteByDate(selfAssessmentId, CandidateId, null) ).MustHaveHappened(); }
public void EditCompleteByDatePost_redirects_to_correct_action( DelegateProgressAccessRoute accessedVia, string expectedController, string expectedAction ) { // Given const int progressId = 1; var formData = new EditCompleteByDateFormData { Day = 1, Month = 1, Year = 2021 }; A.CallTo(() => progressService.UpdateCompleteByDate(progressId, A <DateTime?> ._)).DoesNothing(); // When var result = delegateProgressController.EditCompleteByDate(formData, progressId, accessedVia); // Then result.Should().BeRedirectToActionResult().WithControllerName(expectedController) .WithActionName(expectedAction); }
SetSelfAssessmentCompleteByDate_post_action_valid_complete_by_date_should_redirect_to_current_courses() { // Given const int selfAssessmentId = 1; const int day = 29; const int month = 7; const int year = 3020; var formData = new EditCompleteByDateFormData { Day = day, Month = month, Year = year }; var selfAssessment = SelfAssessmentHelper.CreateDefaultSelfAssessment(); A.CallTo(() => selfAssessmentService.GetSelfAssessmentForCandidateById(CandidateId, SelfAssessmentId)) .Returns(selfAssessment); // When var result = (RedirectToActionResult)controller.SetSelfAssessmentCompleteByDate(selfAssessmentId, formData); // Then result.ActionName.Should().Be("Current"); }
public void SetSelfAssessmentCompleteByDate_get_action_without_self_assessment_should_return_403() { // Given const int day = 2; const int month = 2; const int year = 2020; var formData = new EditCompleteByDateFormData { Day = day, Month = month, Year = year }; A.CallTo(() => selfAssessmentService.GetSelfAssessmentForCandidateById(CandidateId, SelfAssessmentId)) .Returns(null); // When var result = controller.SetSelfAssessmentCompleteByDate(999, formData); // Then result.Should() .BeRedirectToActionResult() .WithControllerName("LearningSolutions") .WithActionName("StatusCode") .WithRouteValue("code", 403); }
public void SetSelfAssessmentCompleteByDate_post_action_valid_complete_by_date_should_call_the_course_service() { // Given const int selfAssessmentId = 1; const int newDay = 29; const int newMonth = 7; const int newYear = 3020; var newDate = new DateTime(newYear, newMonth, newDay); var formData = new EditCompleteByDateFormData { Day = newDay, Month = newMonth, Year = newYear }; var selfAssessment = SelfAssessmentHelper.CreateDefaultSelfAssessment(); A.CallTo(() => selfAssessmentService.GetSelfAssessmentForCandidateById(CandidateId, SelfAssessmentId)) .Returns(selfAssessment); // When controller.SetSelfAssessmentCompleteByDate(selfAssessmentId, formData); // Then A.CallTo( () => selfAssessmentService.SetCompleteByDate(selfAssessmentId, CandidateId, newDate) ).MustHaveHappened(); }