public EditCompletionDateViewModel( EditCompletionDateFormData formData, int progressId, DelegateProgressAccessRoute accessedVia ) : base(formData) { ProgressId = progressId; AccessedVia = accessedVia; }
public IActionResult EditCompletionDate( EditCompletionDateFormData formData, int progressId, DelegateProgressAccessRoute accessedVia ) { if (!ModelState.IsValid) { var model = new EditCompletionDateViewModel(formData, progressId, accessedVia); return(View(model)); } var completionDate = formData.Year != null ? new DateTime(formData.Year.Value, formData.Month !.Value, formData.Day !.Value) : (DateTime?)null; progressService.UpdateCompletionDate(progressId, completionDate); return(RedirectToPreviousPage(formData.DelegateId, progressId, accessedVia)); }
public void EditCompletionDatePost_redirects_to_correct_action( DelegateProgressAccessRoute accessedVia, string expectedController, string expectedAction ) { // Given const int progressId = 1; var formData = new EditCompletionDateFormData { Day = 1, Month = 1, Year = 2021 }; A.CallTo(() => progressService.UpdateCompletionDate(progressId, A <DateTime?> ._)).DoesNothing(); // When var result = delegateProgressController.EditCompletionDate(formData, progressId, accessedVia); // Then result.Should().BeRedirectToActionResult().WithControllerName(expectedController) .WithActionName(expectedAction); }
public void EditCompletionDatePost_redirects_to_correct_action( DelegateAccessRoute accessedVia, string expectedController, string expectedAction ) { // Given var formData = new EditCompletionDateFormData { Day = 1, Month = 1, Year = 2021, ReturnPageQuery = ReturnPageQueryHelper.GetDefaultReturnPageQuery(itemIdToReturnTo: CardId), }; A.CallTo(() => progressService.UpdateCompletionDate(ProgressId, A <DateTime?> ._)).DoesNothing(); // When var result = delegateProgressController.EditCompletionDate(formData, ProgressId, accessedVia); // Then var expectedFragment = accessedVia.Equals(DelegateAccessRoute.CourseDelegates) ? CardId : null; result.Should().BeRedirectToActionResult().WithControllerName(expectedController) .WithActionName(expectedAction).WithFragment(expectedFragment); }