diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactController.java b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactController.java index 9b676af6..0a041763 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactController.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactController.java @@ -131,6 +131,7 @@ public class HsOfficeContactController implements HsOfficeContactsApi { @SuppressWarnings("unchecked") final BiConsumer RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> { + entity.putPostalAddress(from(resource.getPostalAddress())); entity.putEmailAddresses(from(resource.getEmailAddresses())); entity.putPhoneNumbers(from(resource.getPhoneNumbers())); }; diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationController.java b/src/main/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationController.java index 83eda5a0..4a92bd7f 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationController.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationController.java @@ -185,6 +185,7 @@ public class HsOfficeRelationController implements HsOfficeRelationsApi { @SuppressWarnings("unchecked") final BiConsumer CONTACT_RESOURCE_TO_ENTITY_POSTMAPPER = (resource, entity) -> { + entity.putPostalAddress(from(resource.getPostalAddress())); entity.putEmailAddresses(from(resource.getEmailAddresses())); entity.putPhoneNumbers(from(resource.getPhoneNumbers())); }; diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java index 48d12f44..da6a380f 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java @@ -110,6 +110,14 @@ class HsOfficeContactControllerAcceptanceTest extends ContextBasedTestWithCleanu .body(""" { "caption": "Temp Contact", + "postalAddress": { + "name": "Herr Test Contact", + "firm": "Test Contact GmbH", + "street": "Am Schieferbruch 3", + "zipcode": "12345", + "city": "Dachstadt", + "country": "Germany" + }, "emailAddresses": { "main": "test@example.org" } @@ -124,6 +132,8 @@ class HsOfficeContactControllerAcceptanceTest extends ContextBasedTestWithCleanu .body("uuid", isUuidValid()) .body("caption", is("Temp Contact")) .body("emailAddresses", is(Map.of("main", "test@example.org"))) + .body("postalAddress", hasEntry("name", "Herr Test Contact")) + .body("postalAddress", hasEntry("street", "Am Schieferbruch 3")) .header("Location", startsWith("http://localhost")) .extract().header("Location"); // @formatter:on diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationControllerAcceptanceTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationControllerAcceptanceTest.java index 0ed4b82f..8e33c35a 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationControllerAcceptanceTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationControllerAcceptanceTest.java @@ -18,13 +18,14 @@ import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.test.context.ActiveProfiles; import org.springframework.transaction.annotation.Transactional; +import java.util.Map; import java.util.UUID; import static net.hostsharing.hsadminng.rbac.test.IsValidUuidMatcher.isUuidValid; import static net.hostsharing.hsadminng.test.JsonMatcher.lenientlyEquals; import static org.assertj.core.api.Assertions.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.startsWith; +import static org.hamcrest.Matchers.*; +import static org.hamcrest.Matchers.hasEntry; @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, @@ -291,6 +292,14 @@ class HsOfficeRelationControllerAcceptanceTest extends ContextBasedTestWithClean }, "contact": { "caption": "Temp Contact", + "postalAddress": { + "name": "Herr Test Contact", + "firm": "Test Contact GmbH", + "street": "Am Schieferbruch 3", + "zipcode": "12345", + "city": "Dachstadt", + "country": "Germany" + }, "emailAddresses": { "main": "test@example.org" } @@ -315,6 +324,9 @@ class HsOfficeRelationControllerAcceptanceTest extends ContextBasedTestWithClean .body("holder.givenName", is("Temp")) .body("holder.familyName", is("Person")) .body("contact.caption", is("Temp Contact")) + .body("contact.emailAddresses", is(Map.of("main", "test@example.org"))) + .body("contact.postalAddress", hasEntry("name", "Herr Test Contact")) + .body("contact.postalAddress", hasEntry("street", "Am Schieferbruch 3")) .header("Location", startsWith("http://localhost")) .extract().header("Location"); // @formatter:on