KON-199 Required Args, Unit Tests
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/AddressDto.java b/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/AddressDto.java
index eaa7d4d..7d4aa3d 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/AddressDto.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/AddressDto.java
@@ -18,7 +18,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.UUID;
@@ -45,10 +45,10 @@
//fromAddressType
@JsonProperty("addressTypeId")
+ @ApiModelProperty(required = true)
+ @NotNull(message = "Field 'adressTypeUuid' is mandatory")
private UUID addressTypeUuid;
- @ApiModelProperty(required = true)
- @NotBlank(message = "Field 'adressTypeType' is mandatory")
private String addressTypeType;
private String addressTypeDescription;
}
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/CommunicationDto.java b/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/CommunicationDto.java
index bc88b77..aa9094f 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/CommunicationDto.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/CommunicationDto.java
@@ -18,7 +18,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.UUID;
@@ -34,10 +34,10 @@
//fromCommunicationType
@JsonProperty("communicationTypeId")
+ @ApiModelProperty(required = true)
+ @NotNull(message = "Field 'communicationTypeUuid' is mandatory")
private UUID communicationTypeUuid;
- @ApiModelProperty(required = true)
- @NotBlank(message = "Field 'communicationTypeType' is mandatory")
private String communicationTypeType;
private String communicationTypeDescription;
diff --git a/src/test/java/org/eclipse/openk/contactbasedata/controller/AddressControllerTest.java b/src/test/java/org/eclipse/openk/contactbasedata/controller/AddressControllerTest.java
index 9fc13da..93936f8 100644
--- a/src/test/java/org/eclipse/openk/contactbasedata/controller/AddressControllerTest.java
+++ b/src/test/java/org/eclipse/openk/contactbasedata/controller/AddressControllerTest.java
@@ -28,8 +28,10 @@
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.web.servlet.MockMvc;
+
import java.util.List;
import java.util.UUID;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
@@ -128,6 +130,19 @@
}
@Test
+ public void shouldNotUpdateAddressDueToInvalidArgs() throws Exception {
+
+ AddressDto addressDto = MockDataHelper.mockAddressDto();
+ addressDto.setAddressTypeUuid(null);
+ when( addressService.updateAddress(any(UUID.class), any(AddressDto.class))).thenReturn(addressDto);
+
+ mockMvc.perform(put("/contacts/{contactUuid}/addresses/{addressUuid}", addressDto.getContactUuid(), addressDto.getUuid())
+ .contentType(MediaType.APPLICATION_JSON)
+ .content(new ObjectMapper().writeValueAsString(addressDto)))
+ .andExpect(status().is4xxClientError());
+ }
+
+ @Test
public void shouldNotUpdateAddress() throws Exception {
AddressDto addressDto = MockDataHelper.mockAddressDto();
diff --git a/src/test/java/org/eclipse/openk/contactbasedata/controller/CommunicationControllerTest.java b/src/test/java/org/eclipse/openk/contactbasedata/controller/CommunicationControllerTest.java
index 4672dbd..9e91048 100644
--- a/src/test/java/org/eclipse/openk/contactbasedata/controller/CommunicationControllerTest.java
+++ b/src/test/java/org/eclipse/openk/contactbasedata/controller/CommunicationControllerTest.java
@@ -28,8 +28,10 @@
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.web.servlet.MockMvc;
+
import java.util.List;
import java.util.UUID;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
@@ -118,6 +120,20 @@
.andExpect(status().isBadRequest());
}
+
+ @Test
+ public void shouldNotUpdateCommunicationBecauseOfInvalidArgs() throws Exception {
+
+ CommunicationDto communicationDto = MockDataHelper.mockCommunicationDto();
+ communicationDto.setCommunicationTypeUuid(null);
+ communicationDto.setCommunicationTypeType(null);
+ when( communicationService.updateCommunication(any(UUID.class), any(CommunicationDto.class))).thenReturn(communicationDto);
+
+ mockMvc.perform(put("/contacts/{contactUuid}/communications/{communicationUuid}", communicationDto.getContactUuid(), UUID.randomUUID().toString())
+ .contentType(MediaType.APPLICATION_JSON)
+ .content(new ObjectMapper().writeValueAsString(communicationDto)))
+ .andExpect(status().isBadRequest());
+ }
@Test
public void shouldDeleteCommunication() throws Exception {
mockMvc.perform(delete("/contacts/{contactUuid}/communications/{communicationUuid}", UUID.randomUUID(), UUID.randomUUID())
diff --git a/src/test/java/org/eclipse/openk/contactbasedata/support/MockDataHelper.java b/src/test/java/org/eclipse/openk/contactbasedata/support/MockDataHelper.java
index cb64457..e6b52cd 100644
--- a/src/test/java/org/eclipse/openk/contactbasedata/support/MockDataHelper.java
+++ b/src/test/java/org/eclipse/openk/contactbasedata/support/MockDataHelper.java
@@ -238,7 +238,7 @@
addressDto.setLongitude("2E");
addressDto.setNote("-");
addressDto.setPostcode("67890");
- addressDto.setAddressTypeUuid(UUID.randomUUID());
+ addressDto.setAddressTypeUuid(mockRefAddressType().getUuid());
addressDto.setStreet("Moosrosenweg");
addressDto.setContactUuid(UUID.randomUUID());
addressDto.setUrlMap("-");