public void ThenAnOptionMustBeSelected()
        {
            //Arrange
            var viewModel = new UndoApprenticeshipUpdateViewModel();

            //Act
            var result = _validator.Validate(viewModel);

            //Assert
            Assert.IsFalse(result.IsValid);
            Assert.IsTrue(result.Errors.Any(x => x.PropertyName == nameof(UndoApprenticeshipUpdateViewModel.ConfirmUndo)));
        }
        public async Task <ActionResult> UndoChanges(long providerId, string hashedApprenticeshipId, UndoApprenticeshipUpdateViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(await UndoChanges(providerId, hashedApprenticeshipId));
            }

            if (viewModel.ConfirmUndo.HasValue && viewModel.ConfirmUndo.Value)
            {
                SetInfoMessage("Changes undone", FlashMessageSeverityLevel.Okay);
                await _orchestrator.SubmitUndoApprenticeshipUpdate(providerId, hashedApprenticeshipId, CurrentUserId, GetSignedInUser());
            }

            return(RedirectToAction("Details", new { providerId, hashedApprenticeshipId }));
        }