private void AnEmployerHasASingleSubmittedApplication(Guid applicationId, BankDetailsStatus bankDetailsStatus = BankDetailsStatus.Completed) { _testData = new TestData.Account.WithInitialApplicationForASingleEntity(); _testContext.TestDataStore.Add("HashedAccountId", _testData.HashedAccountId); _testContext.TestDataStore.Add("HashedAccountLegalEntityId", _testData.HashedAccountLegalEntityId); _testContext.AddOrReplaceClaim(EmployerClaimTypes.Account, _testData.HashedAccountId); var applications = new List <ApprenticeApplicationModel> { _fixture.Build <ApprenticeApplicationModel>() .With(p => p.AccountId, _testData.AccountId) .Create() }; applications[0].Status = "Submitted"; var getApplications = new GetApplicationsModel { ApprenticeApplications = applications, BankDetailsStatus = bankDetailsStatus, FirstSubmittedApplicationId = applicationId }; _testContext.EmployerIncentivesApi.MockServer .Given( Request .Create() .WithPath($"/accounts/{_testData.AccountId}/legalentity/{_testData.AccountLegalEntityId}/applications") .UsingGet() ) .RespondWith( Response.Create() .WithStatusCode(HttpStatusCode.OK) .WithBody(JsonConvert.SerializeObject(getApplications))); }
public async Task Then_the_bank_details_banner_content_should_be_not_shown_if_none_supplied_and_the_cut_off_date_has_elapsed_and_no_applications_submitted(BankDetailsStatus bankDetailsStatus) { // Arrange var webConfig = new WebConfigurationOptions { ApplicationShutterPageDate = DateTime.Now.ToString() }; _webConfiguration.Setup(x => x.Value).Returns(webConfig); var getApplicationsResponse = new GetApplicationsModel { ApprenticeApplications = new List <ApprenticeApplicationModel>(), FirstSubmittedApplicationId = null, BankDetailsStatus = bankDetailsStatus }; _applicationService.Setup(x => x.GetList(_accountId, _accountLegalEntityId)).ReturnsAsync(getApplicationsResponse); _sut = new Web.Controllers.HubController(_legalEntitiesService.Object, _applicationService.Object, _externalLinksConfiguration.Object, _webConfiguration.Object); // Act var viewResult = await _sut.Index(_accountId, _accountLegalEntityId) as ViewResult; // Assert var viewModel = viewResult.Model as HubPageViewModel; viewModel.ShowBankDetailsRequired.Should().BeFalse(); }
public async Task Then_the_bank_details_banner_content_should_be_shown_if_none_supplied_and_the_cut_off_date_has_elapsed(BankDetailsStatus bankDetailsStatus) { // Arrange var applicationsResponse = new GetApplicationsModel { BankDetailsStatus = bankDetailsStatus, ApprenticeApplications = _fixture.CreateMany <ApprenticeApplicationModel>(5).ToList(), FirstSubmittedApplicationId = Guid.NewGuid() }; _applicationService.Setup(x => x.GetList(_accountId, _accountLegalEntityId)).ReturnsAsync(applicationsResponse); // Act var viewResult = await _sut.Index(_accountId, _accountLegalEntityId) as ViewResult; // Assert var viewModel = viewResult.Model as HubPageViewModel; viewModel.ShowBankDetailsRequired.Should().BeTrue(); }
public async Task Then_the_viewmodel_reflects_that_the_account_holder_needs_to_provide_bank_details(BankDetailsStatus status) { // Arrange var applicationsResponse = new GetApplicationsModel { BankDetailsStatus = status, ApprenticeApplications = _fixture.CreateMany <ApprenticeApplicationModel>(5).ToList(), FirstSubmittedApplicationId = Guid.NewGuid() }; _applicationService.Setup(x => x.GetList(_accountId, _accountLegalEntityId)).ReturnsAsync(applicationsResponse); // Act var viewResult = await _sut.Index(_accountId, _accountLegalEntityId) as ViewResult; // Assert viewResult.Should().NotBeNull(); var model = viewResult.Model as HubPageViewModel; model.Should().NotBeNull(); model.OrganisationName.Should().Be(_legalEntities[0].Name); model.ShowBankDetailsRequired.Should().BeTrue(); model.BankDetailsApplicationId.Should().NotBeEmpty(); model.AccountId.Should().Be(_accountId); model.AccountLegalEntityId.Should().Be(_accountLegalEntityId); }