示例#1
0
        public async Task <IActionResult> WithdrawalOrganisation(
            [FromBody] WithdrawOrganisationRequest request)
        {
            _logger.LogInformation("Received Withdrawal Organisation Request");

            await _mediator.Send(request);

            return(NoContent());
        }
示例#2
0
        public void ThenAResultShouldBeReturned()
        {
            var request = new WithdrawOrganisationRequest();

            var result = OrganisationController.WithdrawalOrganisation(request).Result as NoContentResult;

            result.Should().NotBeNull();

            Mediator.Verify(q => q.Send(request, Moq.It.IsAny <CancellationToken>()));
        }
        public ValidationResponse ValidatorWithdrawOrganisationRequest(WithdrawOrganisationRequest request)
        {
            var validationResult = new ValidationResponse();

            RunValidationCheckAndAppendAnyError("EndPointAssessorOrganisationId",
                                                CheckIfOrganisationNotFound(request.EndPointAssessorOrganisationId), validationResult,
                                                ValidationStatusCode.BadRequest);

            RunValidationCheckAndAppendAnyError("ApplicationId",
                                                CheckApplicationdId(request.ApplicationId), validationResult,
                                                ValidationStatusCode.BadRequest);

            return(validationResult);
        }
        public void AndValidationErrorThenWithdrawOrganisationRepoIsNotCalled()
        {
            // arrange
            var request = new WithdrawOrganisationRequest();

            _validator.Setup(m => m.ValidatorWithdrawOrganisationRequest(request))
            .Returns(new ValidationResponse()
            {
                Errors = new List <ValidationErrorDetail>()
                {
                    new ValidationErrorDetail("Error", "Error message")
                }
            });

            Assert.ThrowsAsync <BadRequestException>(() => _handler.Handle(request, new CancellationToken()));

            _orgStandardRepository.Verify(r => r.WithdrawalOrganisation(It.IsAny <string>(), It.IsAny <DateTime>()), Times.Never);
        }
        public async Task ThenApplyRepoIsCalled()
        {
            // arrange
            var withdrawDate = new DateTime(2021, 12, 1);

            var request = new WithdrawOrganisationRequest()
            {
                ApplicationId = _applicationId,
                EndPointAssessorOrganisationId = "EPA0123",
                WithdrawalDate = withdrawDate,
                UpdatedBy      = "UPDATER"
            };

            _validator.Setup(m => m.ValidatorWithdrawOrganisationRequest(request)).Returns(new ValidationResponse());

            var result = await _handler.Handle(request, new CancellationToken());

            _applyRepository.Verify(r => r.DeclineAllApplicationsForOrgansiation(_applicationId, "EPA0123", "UPDATER"));
            _unitOfWork.Verify(r => r.Commit());
        }
 public async Task WithdrawOrganisation(WithdrawOrganisationRequest request)
 {
     await Post <WithdrawOrganisationRequest>("api/v1/organisations/withdraw", request);
 }