public async Task <BulkUploadAddAndApproveDraftApprenticeshipsResult> Handle(BulkUploadAddAndApproveDraftApprenticeshipsCommand command, CancellationToken cancellationToken)
        {
            await Validate(command, cancellationToken);

            ApiResponse <BulkCreateReservationsWithNonLevyResult> reservationResult = await GetReservations(command);

            MergeReservationWithDraftApprenticeships(command.BulkUploadAddAndApproveDraftApprenticeships, reservationResult);

            var dataToSend = new BulkUploadAddAndApproveDraftApprenticeshipsRequest
            {
                BulkUploadAddAndApproveDraftApprenticeships = command.BulkUploadAddAndApproveDraftApprenticeships,
                ProviderId = command.ProviderId,
                UserInfo   = command.UserInfo
            };

            var result = await _apiClient.PostWithResponseCode <BulkUploadAddAndApproveDraftApprenticeshipsResponse>(
                new PostAddAndApproveDraftApprenticeshipsRequest(command.ProviderId, dataToSend));

            result.EnsureSuccessStatusCode();

            return(new BulkUploadAddAndApproveDraftApprenticeshipsResult
            {
                BulkUploadAddAndApproveDraftApprenticeshipResponse = result.Body.BulkUploadAddAndApproveDraftApprenticeshipResponse.Select(x => (BulkUploadAddDraftApprenticeshipsResult)x)
            });
        }
Ejemplo n.º 2
0
        public async Task And_Then_No_Result_Is_Returned_From_Mediator(
            BulkUploadAddAndApproveDraftApprenticeshipsRequest request,
            [Greedy] BulkUploadController controller)
        {
            var controllerResult = await controller.AddAndApprove(request) as NotFoundResult;

            controllerResult.StatusCode.Should().Be((int)HttpStatusCode.NotFound);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> AddAndApprove(BulkUploadAddAndApproveDraftApprenticeshipsRequest request)
        {
            var result = await _mediator.Send(
                new BulkUploadAddAndApproveDraftApprenticeshipsCommand
            {
                ProviderId = request.ProviderId,
                BulkUploadAddAndApproveDraftApprenticeships = request.BulkUploadAddAndApproveDraftApprenticeships?.ToList(),
                UserInfo = request.UserInfo
            });

            if (result == null)
            {
                return(NotFound());
            }
            return(Ok(result));
        }
Ejemplo n.º 4
0
        public async Task Then_Add_And_Approve_Apprentices_From_Mediator(
            BulkUploadAddAndApproveDraftApprenticeshipsRequest request,
            BulkUploadAddAndApproveDraftApprenticeshipsResult response,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] BulkUploadController controller)
        {
            mockMediator
            .Setup(mediator => mediator.Send(
                       It.Is <BulkUploadAddAndApproveDraftApprenticeshipsCommand>(x => x.ProviderId == request.ProviderId && x.UserInfo == request.UserInfo),
                       It.IsAny <CancellationToken>())).ReturnsAsync(response);

            var controllerResult = await controller.AddAndApprove(request) as ObjectResult;

            Assert.IsNotNull(controllerResult);
            controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK);
        }