KON-23 Contact-persons for companies
diff --git a/src/test/java/org/eclipse/openk/contactbasedata/controller/CompanyControllerTest.java b/src/test/java/org/eclipse/openk/contactbasedata/controller/CompanyControllerTest.java
index 27963ea..1448b60 100644
--- a/src/test/java/org/eclipse/openk/contactbasedata/controller/CompanyControllerTest.java
+++ b/src/test/java/org/eclipse/openk/contactbasedata/controller/CompanyControllerTest.java
@@ -19,6 +19,7 @@
import org.eclipse.openk.contactbasedata.service.CompanyService;
import org.eclipse.openk.contactbasedata.support.MockDataHelper;
import org.eclipse.openk.contactbasedata.viewmodel.CompanyDto;
+import org.eclipse.openk.contactbasedata.viewmodel.ContactPersonDto;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -30,6 +31,7 @@
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.web.servlet.MockMvc;
+import java.util.List;
import java.util.UUID;
import static org.hamcrest.Matchers.is;
@@ -53,7 +55,7 @@
@Test
- public void shouldReturnARequestedExtPerson() throws Exception {
+ public void shouldReturnARequestedCompany() throws Exception {
CompanyDto ep = MockDataHelper.mockCompanyDto();
when(companyService.findCompany(any(UUID.class))).thenReturn(ep);
@@ -66,7 +68,7 @@
@Test
- public void shouldReturnAllExtPerson() throws Exception {
+ public void shouldReturnAllCompany() throws Exception {
Page<CompanyDto> epPage = MockDataHelper.mockCompanyDtoPage();
when(companyService.findCompanies(any(Pageable.class))).thenReturn(epPage);
@@ -78,7 +80,7 @@
}
@Test
- public void shouldUpdateExtPerson() throws Exception {
+ public void shouldUpdateCompany() throws Exception {
CompanyDto ep = MockDataHelper.mockCompanyDto();
when( companyService.updateCompany(any(CompanyDto.class))).thenReturn(ep);
@@ -90,7 +92,7 @@
}
@Test
- public void shouldNotUpdateExtPersonDueToException() throws Exception {
+ public void shouldNotUpdateCompanyDueToException() throws Exception {
CompanyDto ep = MockDataHelper.mockCompanyDto();
when( companyService.updateCompany(any(CompanyDto.class))).thenReturn(ep);
@@ -103,7 +105,7 @@
}
@Test
- public void shouldInsertExtPerson() throws Exception {
+ public void shouldInsertCompany() throws Exception {
CompanyDto companyDto = MockDataHelper.mockCompanyDto();
when( companyService.insertCompany(any(CompanyDto.class))).thenReturn(companyDto);
@@ -116,4 +118,15 @@
.andExpect(jsonPath("$.contactNote", is(companyDto.getContactNote())))
.andExpect(status().is2xxSuccessful());
}
+
+ @Test
+ public void shouldReturnContactPerson() throws Exception {
+ List<ContactPersonDto> contactPersonDtos = MockDataHelper.mockContactPersonDtos();
+
+ when( companyService.findContactPersonsToCompany(any(UUID.class))).thenReturn(contactPersonDtos);
+
+ mockMvc.perform(get("/companies/"+UUID.randomUUID().toString()+"/contact-persons" ))
+ .andExpect(status().is2xxSuccessful())
+ .andExpect(content().contentType(MediaType.APPLICATION_JSON));
+ }
}
\ No newline at end of file
diff --git a/src/test/java/org/eclipse/openk/contactbasedata/service/CompanyServiceTest.java b/src/test/java/org/eclipse/openk/contactbasedata/service/CompanyServiceTest.java
index ba0b175..9a89a99 100644
--- a/src/test/java/org/eclipse/openk/contactbasedata/service/CompanyServiceTest.java
+++ b/src/test/java/org/eclipse/openk/contactbasedata/service/CompanyServiceTest.java
@@ -24,6 +24,7 @@
import org.eclipse.openk.contactbasedata.repository.SalutationRepository;
import org.eclipse.openk.contactbasedata.support.MockDataHelper;
import org.eclipse.openk.contactbasedata.viewmodel.CompanyDto;
+import org.eclipse.openk.contactbasedata.viewmodel.ContactPersonDto;
import org.junit.jupiter.api.Test;
import org.mockito.stubbing.Answer;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +33,7 @@
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.ContextConfiguration;
+import java.util.List;
import java.util.Optional;
import java.util.UUID;
@@ -141,4 +143,21 @@
assertEquals(epDto.getCompanyName(), savedDto.getCompanyName());
assertEquals(epDto.getCompanyType(), savedDto.getCompanyType());
}
+
+ @Test
+ public void findContactPersonsToCompanyWithSuccess() {
+ TblCompany company = MockDataHelper.mockCompany();
+ company.setContactPersons( MockDataHelper.mockTblContactPersons());
+ when(companyRepository.findByTblContactUuid(any(UUID.class))).thenReturn(Optional.of(company));
+ List<ContactPersonDto> cpDtos = companyService.findContactPersonsToCompany(UUID.randomUUID());
+ assertEquals(company.getContactPersons().size(), cpDtos.size());
+ assertEquals(company.getContactPersons().get(1).getContact().getUuid(), cpDtos.get(1).getContactUuid());
+ }
+
+
+ @Test
+ public void findContactPersonsToCompanyWithException() {
+ when(companyRepository.findByTblContactUuid(any(UUID.class))).thenReturn(Optional.empty());
+ assertThrows( NotFoundException.class, ()-> companyService.findContactPersonsToCompany(UUID.randomUUID()));
+ }
}
\ No newline at end of file
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 5850ad6..b422d3d 100644
--- a/src/test/java/org/eclipse/openk/contactbasedata/support/MockDataHelper.java
+++ b/src/test/java/org/eclipse/openk/contactbasedata/support/MockDataHelper.java
@@ -462,6 +462,47 @@
return new PageImpl<>(list, Pageable.unpaged(), list.size());
}
+ public static TblContactPerson mockTblContactPerson() {
+ TblContactPerson cp = new TblContactPerson();
+ cp.setCompany(mockCompany());
+ cp.setContact(mockTblContact());
+ cp.setFirstName("Prober");
+ cp.setLastName("Cottwick");
+ return cp;
+ }
+
+ public static List<TblContactPerson> mockTblContactPersons() {
+ return Arrays.asList(mockTblContactPerson(), mockTblContactPerson());
+ }
+
+ public static ContactPersonDto mockContactPersonDto() {
+ ContactPersonDto contactPersonDto = new ContactPersonDto();
+ contactPersonDto.setCompanyContactUuid(UUID.randomUUID());
+ contactPersonDto.setCompanyName("Filligri");
+ contactPersonDto.setCompanyType("GmbH");
+ contactPersonDto.setCompanyHrNumber("12345");
+ contactPersonDto.setFirstName("Prober");
+ contactPersonDto.setLastName("Cottwick");
+ contactPersonDto.setCompanyType(Constants.CONTACT_TYPE_CONTACT_PERSON);
+ contactPersonDto.setTitle("Prof. Dr.");
+ return contactPersonDto;
+ }
+
+ public static List<ContactPersonDto> mockContactPersonDtos(){
+
+ ContactPersonDto cp1 = mockContactPersonDto();
+
+ ContactPersonDto cp2 = new ContactPersonDto();
+ cp2.setContactUuid(UUID.randomUUID());
+ cp2.setFirstName("Pruner");
+ cp2.setLastName("Goldwick");
+ cp2.setContactType(Constants.CONTACT_TYPE_CONTACT_PERSON);
+ cp2.setTitle("Dr.");
+ cp2.setContactNote("Gründer");
+
+ return Arrays.asList(cp1, cp2);
+ }
+
public static TblContact mockTblContact(){
TblContact tblContact = new TblContact();
tblContact.setId(5L);