private async Task <SelectApprenticeshipsViewModel> GetSelectViewModel(string accountId, string accountLegalEntityId)
        {
            var apprenticeshipIncentives = await _apprenticeshipIncentiveService.GetList(accountId, accountLegalEntityId);

            var legalEntity = await _legalEntitiesService.Get(accountId, accountLegalEntityId);

            var model = new SelectApprenticeshipsViewModel
            {
                AccountId                = accountId,
                AccountLegalEntityId     = accountLegalEntityId,
                ApprenticeshipIncentives = apprenticeshipIncentives
                                           .OrderBy(a => a.FirstName)
                                           .ThenBy(a => a.LastName)
                                           .ThenBy(a => a.Uln),
                OrganisationName = legalEntity?.Name ?? string.Empty
            };

            if (TempData["selected"] is string[] selected)
            {
                foreach (var incentive in model.ApprenticeshipIncentives)
                {
                    if (selected.Contains(incentive.Id))
                    {
                        incentive.Selected = true;
                    }
                }
                TempData.Clear();
            }

            return(model);
        }
        public async Task Arrange()
        {
            _apprenticeshipIncentiveData = new Fixture().CreateMany <ApprenticeshipIncentiveModel>();

            _hashedAccountId     = Guid.NewGuid().ToString();
            _hashedLegalEntityId = Guid.NewGuid().ToString();
            _organisationName    = Guid.NewGuid().ToString();

            _mockLegalEntitiesService = new Mock <ILegalEntitiesService>();
            _mockLegalEntitiesService
            .Setup(m => m.Get(_hashedAccountId, _hashedLegalEntityId))
            .ReturnsAsync(new LegalEntityModel()
            {
                Name = _organisationName
            });

            _mockApprenticeshipIncentiveService = new Mock <IApprenticeshipIncentiveService>();
            _mockApprenticeshipIncentiveService
            .Setup(m => m.GetList(_hashedAccountId, _hashedLegalEntityId))
            .ReturnsAsync(_apprenticeshipIncentiveData);

            _sut = new Web.Controllers.CancelController(_mockApprenticeshipIncentiveService.Object, _mockLegalEntitiesService.Object)
            {
                TempData = new TempDataDictionary(new DefaultHttpContext(), Mock.Of <ITempDataProvider>())
            };

            _result = await _sut.CancelApplication(_hashedAccountId, _hashedLegalEntityId);

            _model = ((ViewResult)_result).Model as SelectApprenticeshipsViewModel;
        }
        public async Task Then_should_display_a_list_of_apprentices_with_checked_ones_selected()
        {
            foreach (var _apprenticeshipIncentive in _apprenticeshipIncentiveData)
            {
                _apprenticeshipIncentive.Selected = false;
            }

            _mockApprenticeshipIncentiveService
            .Setup(m => m.GetList(_hashedAccountId, _hashedLegalEntityId))
            .ReturnsAsync(_apprenticeshipIncentiveData);

            _sut.TempData["selected"] = new string[] { _apprenticeshipIncentiveData.First().Id };

            _result = await _sut.CancelApplication(_hashedAccountId, _hashedLegalEntityId);

            _model = ((ViewResult)_result).Model as SelectApprenticeshipsViewModel;

            _model.ApprenticeshipIncentives.Single(a => a.Id == _apprenticeshipIncentiveData.First().Id).Selected.Should().BeTrue();
            _model.ApprenticeshipIncentives.Any(a => a.Id != _apprenticeshipIncentiveData.First().Id&& a.Selected).Should().BeFalse();
            _sut.TempData.Should().BeEmpty();
        }
예제 #4
0
        public async Task Arrange()
        {
            _applicationId       = Guid.NewGuid();
            _apprenticeData      = new Fixture().CreateMany <ApprenticeshipModel>();
            _hashedAccountId     = Guid.NewGuid().ToString();
            _hashedLegalEntityId = Guid.NewGuid().ToString();

            _apprenticesServiceMock = new Mock <IApprenticesService>();
            _apprenticesServiceMock
            .Setup(x => x.Get(It.Is <ApprenticesQuery>(q =>
                                                       q.AccountId == _hashedAccountId && q.AccountLegalEntityId == _hashedLegalEntityId)))
            .ReturnsAsync(_apprenticeData);

            _applicationServiceMock = new Mock <IApplicationService>();
            _applicationServiceMock
            .Setup(x => x.Create(_hashedAccountId, _hashedLegalEntityId, It.IsAny <IEnumerable <string> >()))
            .ReturnsAsync(_applicationId);

            _sut = new Web.Controllers.ApplyApprenticeshipsController(_apprenticesServiceMock.Object, _applicationServiceMock.Object, Mock.Of <ILegalEntitiesService>());

            _result = await _sut.SelectApprenticeships(_hashedAccountId, _hashedLegalEntityId);

            _model = ((ViewResult)_result).Model as SelectApprenticeshipsViewModel;
        }