Example #1
0
 public EditCompletionDateViewModel(
     EditCompletionDateFormData formData,
     int progressId,
     DelegateProgressAccessRoute accessedVia
     ) : base(formData)
 {
     ProgressId  = progressId;
     AccessedVia = accessedVia;
 }
Example #2
0
        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));
        }
Example #3
0
        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);
        }