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); }
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)); } }
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);