Skip to content
This repository has been archived by the owner on Dec 17, 2024. It is now read-only.

Commit

Permalink
feat: add new agency properties url and external to agency admin api
Browse files Browse the repository at this point in the history
  • Loading branch information
daho4b committed Jun 24, 2021
1 parent c35d711 commit b7cba5d
Show file tree
Hide file tree
Showing 11 changed files with 4,626 additions and 14,341 deletions.
23 changes: 23 additions & 0 deletions api/agencyadminservice.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,13 @@ components:
minimum: 0
maximum: 127
example: 1
url:
type: string
maxLength: 500
example: "Bonn"
is_external:
type: boolean
example: false
createDate:
type: string
example: "2019-08-23T08:52:05"
Expand Down Expand Up @@ -586,6 +593,7 @@ components:
- name
- teamAgency
- consultingType
- external
properties:
dioceseId:
type: integer
Expand Down Expand Up @@ -618,6 +626,13 @@ components:
minimum: 0
maximum: 127
example: 1
url:
type: string
maxLength: 500
example: https://www.domain.com
external:
type: boolean
example: false

AgencyAdminFullResponseDTO:
type: object
Expand All @@ -633,6 +648,7 @@ components:
- dioceseId
- name
- offline
- external
properties:
dioceseId:
type: integer
Expand Down Expand Up @@ -661,6 +677,13 @@ components:
offline:
type: boolean
example: false
url:
type: string
maxLength: 500
example: https://www.domain.com
external:
type: boolean
example: false

UpdateAgencyResponseDTO:
type: object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public class AgencyAdminController implements AgencyadminApi {
*/
@Override
public ResponseEntity<RootDTO> getRoot() {
RootDTO rootDTO = new RootDTOBuilder().buildRootDTO();
var rootDTO = new RootDTOBuilder().buildRootDTO();
return new ResponseEntity<>(rootDTO, HttpStatus.OK);
}

Expand All @@ -74,7 +74,7 @@ public ResponseEntity<AgencyAdminFullResponseDTO> getAgency(@PathVariable Long a
public ResponseEntity<DioceseAdminResultDTO> getDioceses(
@NotNull @Valid Integer page, @NotNull @Valid Integer perPage) {

DioceseAdminResultDTO dioceseAdminResultDTO =
var dioceseAdminResultDTO =
dioceseAdminService.findAllDioceses(page, perPage);

return new ResponseEntity<>(dioceseAdminResultDTO, HttpStatus.OK);
Expand Down Expand Up @@ -108,7 +108,7 @@ public ResponseEntity<AgencyAdminSearchResultDTO> searchAgencies(
public ResponseEntity<AgencyAdminFullResponseDTO> createAgency(@Valid AgencyDTO agencyDTO) {

agencyValidator.validate(agencyDTO);
AgencyAdminFullResponseDTO agencyAdminFullResponseDTO = agencyAdminService
var agencyAdminFullResponseDTO = agencyAdminService
.saveAgency(agencyDTO);

return new ResponseEntity<>(agencyAdminFullResponseDTO, HttpStatus.CREATED);
Expand All @@ -126,7 +126,7 @@ public ResponseEntity<AgencyAdminFullResponseDTO> updateAgency(@PathVariable Lon
@Valid UpdateAgencyDTO updateAgencyDTO) {

agencyValidator.validate(agencyId, updateAgencyDTO);
AgencyAdminFullResponseDTO agencyAdminFullResponseDTO = agencyAdminService
var agencyAdminFullResponseDTO = agencyAdminService
.updateAgency(agencyId, updateAgencyDTO);

return ResponseEntity.ok(agencyAdminFullResponseDTO);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ private Agency fromAgencyDTO(AgencyDTO agencyDTO) {
.offline(true)
.teamAgency(agencyDTO.getTeamAgency())
.consultingTypeId(agencyDTO.getConsultingType())
.url(agencyDTO.getUrl())
.isExternal(agencyDTO.getExternal())
.createDate(LocalDateTime.now(ZoneOffset.UTC))
.updateDate(LocalDateTime.now(ZoneOffset.UTC))
.build();
Expand All @@ -95,7 +97,7 @@ private Agency fromAgencyDTO(AgencyDTO agencyDTO) {
* @return an {@link AgencyAdminFullResponseDTO} instance
*/
public AgencyAdminFullResponseDTO updateAgency(Long agencyId, UpdateAgencyDTO updateAgencyDTO) {
Agency agency = agencyRepository.findById(agencyId).orElseThrow(NotFoundException::new);
var agency = agencyRepository.findById(agencyId).orElseThrow(NotFoundException::new);
return new AgencyAdminFullResponseDTOBuilder(
agencyRepository.save(mergeAgencies(agency, updateAgencyDTO)))
.fromAgency();
Expand All @@ -112,6 +114,8 @@ private Agency mergeAgencies(Agency agency, UpdateAgencyDTO updateAgencyDTO) {
.city(updateAgencyDTO.getCity())
.offline(updateAgencyDTO.getOffline())
.teamAgency(agency.isTeamAgency())
.url(updateAgencyDTO.getUrl())
.isExternal(updateAgencyDTO.getExternal())
.consultingTypeId(agency.getConsultingTypeId())
.createDate(agency.getCreateDate())
.updateDate(LocalDateTime.now(ZoneOffset.UTC))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ private AgencyAdminResponseDTO createAgency() {
.description(this.agency.getDescription())
.postcode(this.agency.getPostCode())
.teamAgency(this.agency.isTeamAgency())
.url(this.agency.getUrl())
.isExternal((this.agency.isExternal()))
.offline(this.agency.isOffline())
.createDate(String.valueOf(this.agency.getCreateDate()))
.updateDate(String.valueOf(this.agency.getUpdateDate()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ private AgencyDTO createAgencyDTO() {
agencyDTO.setPostcode("12345");
agencyDTO.setDescription("Agency description");
agencyDTO.setName("Agency name");
agencyDTO.setUrl("https://www.domain.com");
agencyDTO.setExternal(true);
return agencyDTO;
}

Expand Down Expand Up @@ -140,6 +142,8 @@ private UpdateAgencyDTO createUpdateAgencyDtoFromExistingAgency() {
updateAgencyDTO.postcode("00000");
updateAgencyDTO.city(agency.getCity() + "x");
updateAgencyDTO.setOffline(!agency.isOffline());
updateAgencyDTO.setUrl("https://www.domain.com");
updateAgencyDTO.setExternal(true);
return updateAgencyDTO;

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ public void fromAgency_Should_Return_ValidAgency() {
assertEquals(agency.getPostCode(), result.getEmbedded().getPostcode());
assertEquals(agency.getCity(), result.getEmbedded().getCity());
assertEquals(agency.isOffline(), result.getEmbedded().getOffline());
assertEquals(Integer.valueOf(agency.getConsultingTypeId()), result.getEmbedded().getConsultingType());
assertEquals(agency.getUrl(), result.getEmbedded().getUrl());
assertEquals(agency.isExternal(), result.getEmbedded().getIsExternal());
assertEquals(agency.getConsultingTypeId(), result.getEmbedded().getConsultingType());
assertEquals(String.valueOf(agency.getCreateDate()), result.getEmbedded().getCreateDate());
assertEquals(String.valueOf(agency.getUpdateDate()), result.getEmbedded().getUpdateDate());
assertEquals(String.valueOf(agency.getDeleteDate()), result.getEmbedded().getDeleteDate());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,14 +167,16 @@ public void buildAgencyAdminSearchResult_Should_returnExpectedMappedResponseDTO_
assertThat(firstSearchResult.getEmbedded().getId(), is(846L));
assertThat(firstSearchResult.getEmbedded().getCity(), is("Schwelm"));
assertThat(firstSearchResult.getEmbedded().getConsultingType(), is(2));
assertThat(firstSearchResult.getEmbedded().getCreateDate(), is("2019-08-23T08:52:05"));
assertThat(firstSearchResult.getEmbedded().getUpdateDate(), is("2019-08-23T08:52:05"));
assertThat(firstSearchResult.getEmbedded().getCreateDate(), is("2019-08-23T06:52:05"));
assertThat(firstSearchResult.getEmbedded().getUpdateDate(), is("2019-08-23T06:52:05"));
assertThat(firstSearchResult.getEmbedded().getDeleteDate(), is("null"));
assertThat(firstSearchResult.getEmbedded().getDioceseId(), is(10L));
assertThat(firstSearchResult.getEmbedded().getName(), is("Schwangerschaftsberatungsstelle Schwelm"));
assertThat(firstSearchResult.getEmbedded().getOffline(), is(false));
assertThat(firstSearchResult.getEmbedded().getPostcode(), is("58332"));
assertThat(firstSearchResult.getEmbedded().getTeamAgency(), is(false));
assertThat(firstSearchResult.getEmbedded().getUrl(), is("https://www.domain.com"));
assertThat(firstSearchResult.getEmbedded().getIsExternal(), is(true));

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import static org.apache.commons.lang3.exception.ExceptionUtils.getStackTrace;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
Expand All @@ -27,7 +26,6 @@

import de.caritas.cob.agencyservice.api.authorization.RoleAuthorizationAuthorityMapper;
import de.caritas.cob.agencyservice.api.exception.httpresponses.InternalServerErrorException;
import de.caritas.cob.agencyservice.api.model.AgencyResponseDTO;
import de.caritas.cob.agencyservice.api.model.FullAgencyResponseDTO;
import de.caritas.cob.agencyservice.api.service.AgencyService;
import de.caritas.cob.agencyservice.api.service.LogService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public void getListOfAgencies_Should_ReturnServiceException_OnInvalidWhiteSpotAg
}

@Test
public void getListOfAgencies_Should_ReturnServiceException_OnDatabaseErrorfindByIdAndDeleteDateNull()
public void getListOfAgencies_Should_ReturnServiceException_OnDatabaseErrorFindByIdAndDeleteDateNull()
throws MissingConsultingTypeException {

when(agencyRepository.findByPostCodeAndConsultingTypeId(VALID_POSTCODE, VALID_POSTCODE_LENGTH,
Expand All @@ -124,7 +124,7 @@ public void getListOfAgencies_Should_ReturnServiceException_OnDatabaseErrorfindB
}

@Test
public void getListOfAgencies_Should_ReturnListOfAgencyResponseDTO_WhenDBSelectIsSuccessfull()
public void getListOfAgencies_Should_ReturnListOfFullAgencyResponseDTO_WhenDBSelectIsSuccessfull()
throws MissingConsultingTypeException {

when(agencyRepository.findByPostCodeAndConsultingTypeId(VALID_POSTCODE, VALID_POSTCODE_LENGTH,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,9 @@ public class TestConstants {
+ " \"dioceseId\": 1,\n"
+ " \"name\": \"Agency\",\n"
+ " \"postcode\": \"76000\",\n"
+ " \"teamAgency\": false\n"
+ " \"teamAgency\": false,\n"
+ " \"url\": \"https://www.domain.com\",\n"
+ " \"external\": true\n"
+ "}";

public static final String VALID_AGENCY_UPDATE_DTO = "{\n"
Expand All @@ -223,7 +225,8 @@ public class TestConstants {
+ " \"dioceseId\": 1,\n"
+ " \"name\": \"Agency\",\n"
+ " \"postcode\": \"76000\",\n"
+ " \"offline\": true\n"
+ " \"offline\": true,\n"
+ " \"external\": false\n"
+ "}";

public static final String VALID_POSTCODE_RANGE_DTO = "{\n"
Expand Down
Loading

0 comments on commit b7cba5d

Please sign in to comment.