Beispiel #1
0
        public async Task WhenABankDetailsRequiredEmailIsSentWithAnInvalidAccountLegalEntityId()
        {
            _request = _fixture.Create <SendBankDetailsEmailRequest>();
            _request.AccountLegalEntityId = 0;

            _response = await EmployerIncentiveApi.Post <SendBankDetailsEmailRequest>(_url, _request);
        }
Beispiel #2
0
        public async Task GivenAnEmployerIsApplyingForTheNewApprenticeshipIncentive()
        {
            _createApplicationRequest = Fixture.Create <CreateIncentiveApplicationRequest>();
            const string url = "applications";

            _response = await EmployerIncentiveApi.Post(url, _createApplicationRequest);
        }
Beispiel #3
0
        public async Task WhenABankDetailsRequiredEmailIsSentWithAnInvalidEmailAddress()
        {
            _request = _fixture.Create <SendBankDetailsEmailRequest>();
            _request.EmailAddress = null;

            _response = await EmployerIncentiveApi.Post <SendBankDetailsEmailRequest>(_url, _request);
        }
        public async Task WhenTheApprenticeshipApplicationIsWithdrawnFromTheScheme()
        {
            _withdrawApplicationRequest = _fixture
                                          .Build <WithdrawApplicationRequest>()
                                          .With(r => r.WithdrawalType, WithdrawalType.Employer)
                                          .With(r => r.AccountLegalEntityId, _application.AccountLegalEntityId)
                                          .With(r => r.ULN, _apprenticeship.ULN)
                                          .Create();

            var url = $"withdrawals";


            if (_waitForMessage)
            {
                await _testContext.WaitFor(
                    async (cancellationToken) =>
                {
                    _response = await EmployerIncentiveApi.Post(url, _withdrawApplicationRequest, cancellationToken);
                },
                    (context) => HasExpectedEvents(context)
                    );
            }
            else
            {
                _response = await EmployerIncentiveApi.Post(url, _withdrawApplicationRequest);
            }
        }
        public async Task GivenAnEmployerHasSelectedApprenticeships()
        {
            await DataAccess.SetupAccount(_testAccountTable);

            var url = $"applications";
            await EmployerIncentiveApi.Post(url, _request);
        }
Beispiel #6
0
        public async Task WhenABankDetailsRequiredEmailIsSentForAValidAccountLegalEntityAndEmailAddress()
        {
            _request = _fixture.Create <SendBankDetailsEmailRequest>();

            await _testContext.WaitFor <ICommand>(async (cancellationToken) =>
            {
                _response = await EmployerIncentiveApi.Post(_url, _request, cancellationToken);
            });
        }
Beispiel #7
0
        public async Task WhenThePausePaymentsRequestIsSent()
        {
            _pausePaymentsRequest = _fixture.Build <PausePaymentsRequest>()
                                    .With(r => r.Action, PausePaymentsAction.Pause)
                                    .With(r => r.AccountLegalEntityId, _application.AccountLegalEntityId)
                                    .With(r => r.ULN, _apprenticeship.ULN)
                                    .Create();

            var url = "pause-payments";

            _response = await EmployerIncentiveApi.Post(url, _pausePaymentsRequest);
        }
Beispiel #8
0
        public async Task WhenAnInvalidRequestIsSent()
        {
            _pausePaymentsRequest = _fixture.Build <PausePaymentsRequest>()
                                    .With(r => r.Action, PausePaymentsAction.Resume)
                                    .With(r => r.AccountLegalEntityId, 0)
                                    .With(r => r.ULN, 0)
                                    .Create();

            var url = "pause-payments";

            _response = await EmployerIncentiveApi.Post(url, _pausePaymentsRequest);
        }
        public async Task GivenAnEmployerHasEnteredIncentiveClaimApplicationDetails()
        {
            var url = $"applications";

            _response = await EmployerIncentiveApi.Post(url, _createRequest);

            _response.StatusCode.Should().Be(HttpStatusCode.Created);

            using (var dbConnection = new SqlConnection(_testContext.SqlDatabase.DatabaseInfo.ConnectionString))
            {
                var application = await dbConnection.QueryAsync <IncentiveApplication>("SELECT * FROM IncentiveApplication WHERE Id = @IncentiveApplicationId",
                                                                                       new { _submitRequest.IncentiveApplicationId });

                application.Should().HaveCount(1);
                application.Single().Id.Should().Be(_submitRequest.IncentiveApplicationId);
            }
        }
        public async Task GivenALegalEntityHasSubmittedOneOrMoreApplications()
        {
            var createApplicationRequest = _fixture.Create <CreateIncentiveApplicationRequest>();

            createApplicationRequest.AccountId            = _testAccountTable.Id;
            createApplicationRequest.AccountLegalEntityId = _testAccountTable.AccountLegalEntityId;

            _response = await EmployerIncentiveApi.Post("/applications", createApplicationRequest);

            var applicationId = _response.Headers.Location.ToString().Substring("/applications/".Length);

            var submitApplicationRequest = _fixture.Create <SubmitIncentiveApplicationRequest>();

            submitApplicationRequest.AccountId = _testAccountTable.Id;
            submitApplicationRequest.IncentiveApplicationId = new Guid(applicationId);

            _response = await EmployerIncentiveApi.Patch($"/applications/{applicationId}", submitApplicationRequest);
        }
Beispiel #11
0
        public async Task WhenAnEmployerSelectsToStartTheExternalBankDetailsJourney()
        {
            _request = _fixture.Create <SendBankDetailsEmailRequest>();

            _response = await EmployerIncentiveApi.Post <SendBankDetailsEmailRequest>(_url, _request);
        }
        public async Task WhenTheyHaveSelectedTheApprenticeshipsForTheApplication()
        {
            var url = $"applications";

            _response = await EmployerIncentiveApi.Post(url, _request);
        }