Example #1
0
        public void Setup()
        {
            _registerRepository = new Mock <IRegisterRepository>();
            _cleanserService    = new Mock <ISpecialCharacterCleanserService>();
            _validator          = new Mock <IEpaOrganisationValidator>();
            _logger             = new Mock <ILogger <UpdateEpaOrganisationStandardHandler> >();
            _organisationId     = "EPA999";
            _requestNoIssuesId  = 1;

            _requestNoIssues = BuildRequest(_organisationId, 123321, new List <int> {
                1
            });
            _expectedOrganisationStandardNoIssues = BuildOrganisationStandard(_requestNoIssues, _requestNoIssuesId);

            _registerRepository.Setup(r => r.UpdateEpaOrganisationStandard(It.IsAny <EpaOrganisationStandard>(), new List <int> {
                1
            }))
            .Returns(Task.FromResult(_expectedOrganisationStandardNoIssues.Id.ToString()));

            _validator.Setup(v => v.ValidatorUpdateEpaOrganisationStandardRequest(_requestNoIssues)).Returns(new ValidationResponse());
            _cleanserService.Setup(c => c.CleanseStringForSpecialCharacters(It.IsAny <string>()))
            .Returns((string s) => s);

            _updateEpaOrganisationStandardHandler = new UpdateEpaOrganisationStandardHandler(_registerRepository.Object, _validator.Object, _logger.Object, _cleanserService.Object);
        }
Example #2
0
        public async Task <IActionResult> EditOrganisationStandard(RegisterViewAndEditOrganisationStandardViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                var viewModelInvalid = await AddContactsAndDeliveryAreasAndDateDetails(viewModel);

                return(View(viewModelInvalid));
            }

            var updateOrganisationStandardRequest = new UpdateEpaOrganisationStandardRequest
            {
                OrganisationId        = viewModel.OrganisationId,
                StandardCode          = viewModel.StandardId,
                EffectiveFrom         = viewModel.EffectiveFrom,
                EffectiveTo           = viewModel.EffectiveTo,
                ContactId             = viewModel.ContactId.ToString(),
                DeliveryAreas         = viewModel.DeliveryAreas,
                Comments              = viewModel.Comments,
                DeliveryAreasComments = viewModel.DeliveryAreasComments
            };

            var organisationStandardId = await _apiClient.UpdateEpaOrganisationStandard(updateOrganisationStandardRequest);

            return(Redirect($"/register/view-standard/{organisationStandardId}"));
        }
        public async Task <string> UpdateEpaOrganisationStandard(UpdateEpaOrganisationStandardRequest request)
        {
            var result =
                await Put <UpdateEpaOrganisationStandardRequest, EpaoStandardResponse>("api/ao/assessment-organisations/standards",
                                                                                       request);

            return(result.Details);
        }
Example #4
0
 private EpaOrganisationStandard BuildOrganisationStandard(UpdateEpaOrganisationStandardRequest request, int id)
 {
     return(new EpaOrganisationStandard
     {
         Id = id,
         OrganisationId = request.OrganisationId,
         StandardCode = request.StandardCode,
         EffectiveFrom = request.EffectiveFrom,
         EffectiveTo = request.EffectiveTo,
         Comments = request.Comments,
         Status = "New"
     });
 }
Example #5
0
        public async Task <IActionResult> UpdateOrganisationStandard([FromBody] UpdateEpaOrganisationStandardRequest request)
        {
            try
            {
                _logger.LogInformation($@"Updating Organisation Standard [{request.OrganisationId}, {request.StandardCode}]");
                var result = await _mediator.Send(request);

                return(Ok(new EpaoStandardResponse(result)));
            }
            catch (Exception ex)
            {
                _logger.LogError($@"Bad request, Message: [{ex.Message}]");
                return(BadRequest(new EpaoStandardResponse(ex.Message)));
            }
        }
        public void Arrange()
        {
            _mediator = new Mock <IMediator>();
            _logger   = new Mock <ILogger <RegisterController> >();

            _standardCode = 3;
            _orgId        = "EPA999";
            _request      = new UpdateEpaOrganisationStandardRequest
            {
                OrganisationId = _orgId,
                StandardCode   = _standardCode,
                EffectiveFrom  = DateTime.Now,
                Comments       = "this is a comment",
                EffectiveTo    = null
            };

            _mediator.Setup(m =>
                            m.Send(_request, new CancellationToken())).Throws <Exception>();

            _controller = new RegisterController(_mediator.Object, _logger.Object);
            _result     = _controller.UpdateOrganisationStandard(_request).Result;
        }
Example #7
0
        public ValidationResponse ValidatorUpdateEpaOrganisationStandardRequest(UpdateEpaOrganisationStandardRequest request)
        {
            var validationResult = new ValidationResponse();
            var standard         = GetStandard(request.StandardCode).Result;

            if (standard is null)
            {
                var standardErrorMessage = FormatErrorMessage(EpaOrganisationValidatorMessageName.StandardNotFound);
                RunValidationCheckAndAppendAnyError("StandardCode", standardErrorMessage, validationResult, ValidationStatusCode.NotFound);
                return(validationResult);
            }

            RunValidationCheckAndAppendAnyError("OrganisationId", CheckIfOrganisationStandardDoesNotExist(request.OrganisationId, request.StandardCode), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("ContactId", CheckIfContactIdIsValid(request.ContactId, request.OrganisationId), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("DeliveryAreas", CheckIfDeliveryAreasAreValid(request.DeliveryAreas), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("EffectiveFrom", CheckOrganisationStandardFromDateIsWithinStandardDateRanges(request.EffectiveFrom, standard.StandardData.EffectiveFrom, standard.StandardData.EffectiveTo, standard.StandardData.LastDateForNewStarts), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("EffectiveFrom", CheckEffectiveFromIsOnOrBeforeEffectiveTo(request.EffectiveFrom, request.EffectiveTo), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("EffectiveTo", CheckOrganisationStandardToDateIsWithinStandardDateRanges(request.EffectiveTo, standard.StandardData.EffectiveFrom, standard.StandardData.EffectiveTo), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("EffectiveFrom", CheckOrganisationStandardEffectiveFromIsEntered(request.EffectiveFrom), validationResult, ValidationStatusCode.BadRequest);

            return(validationResult);
        }