Пример #1
0
        public async Task UpdateGpDetails_ShouldReturn500()
        {
            //Arrange
            _mockApplicationService
            .Setup(_ => _.UpdateGpDetails(It.IsAny <FosteringCaseGpDetailsUpdateModel>()))
            .ThrowsAsync(new Exception());
            var model = new FosteringCaseGpDetailsUpdateModel
            {
                CaseReference  = "1234",
                FirstApplicant = new FosteringCaseGpDetailsApplicantUpdateModel
                {
                    GpAddress = new Address
                    {
                        AddressLine1 = "Line 1",
                        AddressLine2 = "Line 2",
                        Postcode     = "SK1 3XE",
                        Town         = "Stockport"
                    },
                    GpPhoneNumber    = "0123456789",
                    NameOfGpPractice = "Practice name",
                    NameOfGp         = "Gp name"
                }
            };

            //Act
            var result = await _application.UpdateGpDetails(model);

            //Assert
            var resultType = Assert.IsType <ObjectResult>(result);

            Assert.Equal(500, resultType.StatusCode);
        }
Пример #2
0
        public async Task UpdateGpDetails_ShouldCallFosteringService()
        {
            //Arrange
            _mockApplicationService
            .Setup(_ => _.UpdateGpDetails(It.IsAny <FosteringCaseGpDetailsUpdateModel>()))
            .ReturnsAsync(ETaskStatus.Completed);
            var model = new FosteringCaseGpDetailsUpdateModel
            {
                CaseReference  = "1234",
                FirstApplicant = new FosteringCaseGpDetailsApplicantUpdateModel
                {
                    GpAddress = new Address
                    {
                        AddressLine1 = "Line 1",
                        AddressLine2 = "Line 2",
                        Postcode     = "SK1 3XE",
                        Town         = "Stockport"
                    },
                    GpPhoneNumber    = "0123456789",
                    NameOfGpPractice = "Practice name",
                    NameOfGp         = "Gp name"
                }
            };

            //Act
            await _application.UpdateGpDetails(model);

            //Assert
            _mockApplicationService.Verify(_ => _.UpdateGpDetails(model), Times.Once);
        }
        public async Task <IActionResult> UpdateGpDetails(FosteringCaseGpDetailsUpdateModel model)
        {
            try
            {
                var response = await _applicationService.UpdateGpDetails(model);

                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
Пример #4
0
        public async Task <ETaskStatus> UpdateGpDetails(FosteringCaseGpDetailsUpdateModel model)
        {
            var firstApplicantFormFields = new FormFieldBuilder()
                                           .AddField("nameofgp", model.FirstApplicant.NameOfGp)
                                           .AddField("nameofpractice", model.FirstApplicant.NameOfGpPractice)
                                           .AddField("gpphonenumber", model.FirstApplicant.GpPhoneNumber)
                                           .AddField(EFosteringApplicationForm.GpDetails.GetFormStatusFieldName(), ETaskStatus.Completed.GetTaskStatus())
                                           .Build();

            firstApplicantFormFields.AddRange(AddressMapper.MapToVerintAddress(model.FirstApplicant.GpAddress, "addressofpractice", "placerefofpractice", "postcodeofpractice"));

            var secondApplicantFormFields = new List <IntegrationFormField>();

            if (model.SecondApplicant != null)
            {
                secondApplicantFormFields = new FormFieldBuilder()
                                            .AddField("nameofgp2", model.SecondApplicant.NameOfGp)
                                            .AddField("nameofpractice2", model.SecondApplicant.NameOfGpPractice)
                                            .AddField("gpphonenumber2", model.SecondApplicant.GpPhoneNumber)
                                            .Build();
                secondApplicantFormFields.AddRange(AddressMapper.MapToVerintAddress(model.SecondApplicant.GpAddress, "addressofpractice2", "placerefofpractice2", "postcodeofpractice2"));
            }

            var result = await _verintServiceGateway.UpdateCaseIntegrationFormField(new IntegrationFormFieldsUpdateModel
            {
                CaseReference         = model.CaseReference,
                IntegrationFormFields = firstApplicantFormFields.Concat(secondApplicantFormFields).ToList(),
                IntegrationFormName   = _applicationFormName
            });

            if (result.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Update Gp details failure");
            }

            return(ETaskStatus.Completed);
        }
 public async Task <HttpResponse <ETaskStatus> > UpdateGpDetails(FosteringCaseGpDetailsUpdateModel model)
 => await PatchAsync <ETaskStatus>($"{ApplicationEndpoint}/gp-details", model);