public IncentiveApplicationSubmittedSteps(TestContext testContext) : base(testContext)
 {
     _testContext   = testContext;
     _fixture       = new Fixture();
     _createRequest = _fixture.Create <CreateIncentiveApplicationRequest>();
     _submitRequest = _fixture.Create <SubmitIncentiveApplicationRequest>();
     _submitRequest.IncentiveApplicationId = _createRequest.IncentiveApplicationId;
     _submitRequest.AccountId = _createRequest.AccountId;
 }
Exemple #2
0
        public async Task <IActionResult> SubmitIncentiveApplication([FromBody] SubmitIncentiveApplicationRequest request)
        {
            try
            {
                await SendCommandAsync(new SubmitIncentiveApplicationCommand(request.IncentiveApplicationId, request.AccountId, request.DateSubmitted, request.SubmittedByEmail, request.SubmittedByName));

                return(Ok());
            }
            catch (InvalidRequestException)
            {
                return(BadRequest());
            }
        }
        public async Task <IActionResult> SubmitIncentiveApplication([FromBody] SubmitIncentiveApplicationRequest request)
        {
            try
            {
                await SendCommandAsync(new SubmitIncentiveApplicationCommand(request.IncentiveApplicationId,
                                                                             request.AccountId, request.DateSubmitted, request.SubmittedByEmail, request.SubmittedByName));

                return(Ok());
            }
            catch (UlnAlreadySubmittedException)
            {
                return(Conflict("Application contains a ULN which has already been submitted"));
            }
            catch (InvalidRequestException)
            {
                return(BadRequest());
            }
        }
Exemple #4
0
        public IncentiveApplicationSubmittedSteps(TestContext testContext) : base(testContext)
        {
            _testContext            = testContext;
            _fixture                = new Fixture();
            _firstApprenticeshipId  = _fixture.Create <long>();
            _secondApprenticeshipId = _firstApprenticeshipId + 1;
            var apprenticeships = new List <IncentiveApplicationApprenticeshipDto>
            {
                _fixture.Build <IncentiveApplicationApprenticeshipDto>().With(p => p.ApprenticeshipId, _firstApprenticeshipId).With(p => p.PlannedStartDate, new DateTime(2021, 5, 1)).With(p => p.EmploymentStartDate, new DateTime(2021, 04, 01)).Create(),
                _fixture.Build <IncentiveApplicationApprenticeshipDto>().With(p => p.ApprenticeshipId, _secondApprenticeshipId).With(p => p.PlannedStartDate, new DateTime(2021, 7, 1)).With(p => p.EmploymentStartDate, new DateTime(2021, 06, 01)).Create()
            };

            _createRequest = _fixture
                             .Build <CreateIncentiveApplicationRequest>()
                             .With(r => r.Apprenticeships, apprenticeships)
                             .Create();
            _submitRequest = _fixture.Build <SubmitIncentiveApplicationRequest>().With(r => r.DateSubmitted, new DateTime(2021, 5, 31)).Create();
            _submitRequest.IncentiveApplicationId = _createRequest.IncentiveApplicationId;
            _submitRequest.AccountId = _createRequest.AccountId;
        }
Exemple #5
0
        public async Task WhenTheySubmitApplicationOn(string date)
        {
            var submissionDate = DateTime.ParseExact(date, "yyyy-MM-d", CultureInfo.InvariantCulture);

            _submitRequest = _fixture.Build <SubmitIncentiveApplicationRequest>()
                             .With(r => r.DateSubmitted, submissionDate)
                             .Create();

            _submitRequest.IncentiveApplicationId = _applicationModel.Id;
            _submitRequest.AccountId = _accountModel.Id;

            var url = $"applications/{_submitRequest.IncentiveApplicationId}";

            await _testContext.WaitFor(
                async (cancellationToken) =>
            {
                _response = await EmployerIncentiveApi.Patch(url, _submitRequest);
            },
                (context) => HasExpectedEvents(context),
                assertOnError : false
                );

            _response.StatusCode.Should().Be(HttpStatusCode.OK);
        }