예제 #1
0
        public void ThenAccountIdIsValidated(long accountId, bool expectedValid)
        {
            var request = new SendNewTrainingProviderViewModel()
            {
                AccountId = accountId
            };

            AssertValidationResult(x => x.AccountId, request, expectedValid);
        }
예제 #2
0
        public void ThenApprenticeshipIdIsValidated(long apprenticeshipId, bool expectedValid)
        {
            var request = new SendNewTrainingProviderViewModel()
            {
                ApprenticeshipId = apprenticeshipId
            };

            AssertValidationResult(x => x.ApprenticeshipId, request, expectedValid);
        }
예제 #3
0
        public void ThenConfirmIsValidated(bool?confirm, bool expectedValid)
        {
            var request = new SendNewTrainingProviderViewModel()
            {
                Confirm = confirm
            };

            AssertValidationResult(x => x.Confirm, request, expectedValid);
        }
예제 #4
0
        public void ThenProviderIsValidated(long providerId, bool expectedValid)
        {
            var request = new SendNewTrainingProviderViewModel()
            {
                ProviderId = providerId
            };

            AssertValidationResult(x => x.ProviderId, request, expectedValid);
        }
예제 #5
0
        public WhenPostingSendRequestNewTrainingProviderTestsFixture()
        {
            var autoFixture = new Fixture();

            _viewModel = autoFixture.Create <SendNewTrainingProviderViewModel>();

            _commitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _controller = new ApprenticeController(Mock.Of <IModelMapper>(),
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _commitmentsApiClient.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >());
        }
예제 #6
0
        public WhenPostingSendRequestNewTrainingProviderTestsFixture()
        {
            var autoFixture = new Fixture();

            _viewModel = autoFixture.Create <SendNewTrainingProviderViewModel>();

            _commitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _linkGenerator        = new Mock <ILinkGenerator>();
            _linkGenerator.Setup(x => x.CommitmentsLink(It.IsAny <string>())).Returns <string>(s => s);

            _controller = new ApprenticeController(Mock.Of <IModelMapper>(),
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _commitmentsApiClient.Object,
                                                   _linkGenerator.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >(),
                                                   Mock.Of <IAuthorizationService>());
        }
        public WhenCallingGetSendRequestNewTrainingProviderTestsFixture()
        {
            var autoFixture = new Fixture();

            _expectedViewModel = autoFixture.Create <SendNewTrainingProviderViewModel>();
            _request           = autoFixture.Create <SendNewTrainingProviderRequest>();


            _modelMapper = new Mock <IModelMapper>();
            _modelMapper
            .Setup(mapper => mapper.Map <SendNewTrainingProviderViewModel>(_request))
            .ReturnsAsync(_expectedViewModel);

            _controller = new ApprenticeController(_modelMapper.Object,
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   Mock.Of <ICommitmentsApiClient>(),
                                                   Mock.Of <ILogger <ApprenticeController> >());
        }
예제 #8
0
        public async Task <IActionResult> SendRequestNewTrainingProvider(SendNewTrainingProviderViewModel request)
        {
            if (request.Confirm.Value)
            {
                try
                {
                    var apiRequest = await _modelMapper.Map <CreateChangeOfPartyRequestRequest>(request);

                    await _commitmentsApiClient.CreateChangeOfPartyRequest(request.ApprenticeshipId, apiRequest);

                    return(RedirectToRoute(RouteNames.ChangeProviderRequestedConfirmation, new { request.AccountHashedId, request.ApprenticeshipHashedId, request.ProviderId, request.StoppedDuringCoP, ProviderAddDetails = true }));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Failed '{nameof(ApprenticeController)}-{nameof(SendRequestNewTrainingProvider)}': {nameof(ex.Message)}='{ex.Message}', {nameof(ex.StackTrace)}='{ex.StackTrace}'");
                    return(RedirectToAction("Error", "Error"));
                }
            }

            return(RedirectToAction(nameof(ApprenticeshipDetails), new ApprenticeshipDetailsRequest {
                AccountHashedId = request.AccountHashedId, ApprenticeshipHashedId = request.ApprenticeshipHashedId
            }));
        }
예제 #9
0
        public async Task Arrange()
        {
            //Arrange
            var fixture = new Fixture();

            _source = new SendNewTrainingProviderViewModel
            {
                ProviderId             = fixture.Create <long>(),
                AccountHashedId        = fixture.Create <string>(),
                AccountId              = fixture.Create <long>(),
                Confirm                = fixture.Create <bool>(),
                OldProviderName        = fixture.Create <string>(),
                NewProviderName        = fixture.Create <string>(),
                EmployerName           = fixture.Create <string>(),
                ApprenticeName         = fixture.Create <string>(),
                ApprenticeshipStatus   = ApprenticeshipStatus.Stopped,
                ApprenticeshipId       = fixture.Create <int>(),
                ApprenticeshipHashedId = fixture.Create <string>()
            };
            _mapper = new CreateChangeOfPartyRequestMapper();

            //Act
            _result = await _mapper.Map(TestHelper.Clone(_source));
        }
예제 #10
0
        private void AssertValidationResult <T>(Expression <Func <SendNewTrainingProviderViewModel, T> > property, SendNewTrainingProviderViewModel instance, bool expectedValid)
        {
            var validator = new SendNewTrainingProviderViewModelValidator();

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