Exemplo n.º 1
0
 public DeleteDraftApprenticeshipTestsFixture WithDeleteDraftApprenticeshipViewModel(bool confirmDelete)
 {
     DeleteDraftApprenticeshipViewModel = new DeleteDraftApprenticeshipViewModel {
         AccountHashedId = AccountHashedId, CohortId = CohortId, DraftApprenticeshipId = DraftApprenticeshipId, Origin = DeleteDraftApprenticeshipOrigin.EditDraftApprenticeship, ConfirmDelete = confirmDelete, DraftApprenticeshipHashedId = DraftApprenticeshipHashedId, CohortReference = CohortReference
     };
     return(this);
 }
Exemplo n.º 2
0
        public DeleteDraftApprenticeshipTestsFixture()
        {
            var fixture = new AutoFixture.Fixture();

            CommitmentApiClient = new Mock <ICommitmentsApiClient>();
            CommitmentApiClient.Setup(x => x.GetCohort(It.IsAny <long>(), It.IsAny <CancellationToken>())).ReturnsAsync(new GetCohortResponse());

            var deleteDraftApprenticeshipViewModel = new DeleteDraftApprenticeshipViewModel
            {
                FirstName = "John",
                LastName  = "Jack",
                CohortId  = CohortId,
                DraftApprenticeshipHashedId = DraftApprenticeshipHashedId,
                AccountHashedId             = AccountHashedId,
            };

            ModelMapperMock = new Mock <IModelMapper>();
            ModelMapperMock.Setup(x => x.Map <DeleteDraftApprenticeshipViewModel>(It.IsAny <DeleteApprenticeshipRequest>()))
            .ReturnsAsync(deleteDraftApprenticeshipViewModel);

            AuthorizationServiceMock = new Mock <IAuthorizationService>();

            Sut = new DraftApprenticeshipController(
                ModelMapperMock.Object,
                CommitmentApiClient.Object,
                AuthorizationServiceMock.Object);


            Sut.TempData = new Mock <ITempDataDictionary>().Object;
        }
 private async Task <IActionResult> RedirectToCohortDetailsOrCohortsPage(DeleteDraftApprenticeshipViewModel model)
 {
     if (await CohortExists(model.CohortId))
     {
         return(RedirectToAction("Details", "Cohort", new { model.AccountHashedId, model.CohortReference }));
     }
     return(RedirectToAction("Review", "Cohort", new { model.AccountHashedId }));
 }
        public void ThenConfirmDeleteIsValidated(bool?confirmDeleteValue, bool expectedValid)
        {
            var model = new DeleteDraftApprenticeshipViewModel()
            {
                ConfirmDelete = confirmDeleteValue
            };

            AssertValidationResult(x => x.ConfirmDelete, model, expectedValid);
        }
        public async Task <IActionResult> DeleteDraftApprenticeship(DeleteDraftApprenticeshipViewModel model)
        {
            if (model.ConfirmDelete.Value)
            {
                var request = await _modelMapper.Map <DeleteDraftApprenticeshipRequest>(model);

                await _commitmentsApiClient.DeleteDraftApprenticeship(model.CohortId.Value, model.DraftApprenticeshipId.Value, request);

                TempData.AddFlashMessage(ApprenticeDeletedMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
                return(await RedirectToCohortDetailsOrCohortsPage(model));
            }

            return(RedirectToOriginForDelete(model.Origin, model.AccountHashedId, model.CohortReference, model.DraftApprenticeshipHashedId));
        }
        private void AssertValidationResult <T>(Expression <Func <DeleteDraftApprenticeshipViewModel, T> > property, DeleteDraftApprenticeshipViewModel instance, bool expectedValid)
        {
            var validator = new DeleteDraftApprenticeshipViewModelValidator();

            if (expectedValid)
            {
                validator.ShouldNotHaveValidationErrorFor(property, instance);
            }
            else
            {
                validator.ShouldHaveValidationErrorFor(property, instance);
            }
        }