Skip to content
Snippets Groups Projects
Commit eb4f138f authored by OZGCloud's avatar OZGCloud
Browse files

OZG-5044 Refactored tests

parent df83d05b
No related branches found
No related tags found
No related merge requests found
package de.ozgcloud.admin.setting;
import org.apache.commons.lang3.StringUtils;
import org.springframework.cloud.config.environment.PropertySource;
import de.ozgcloud.admin.setting.postfach.PostfachSettingBodyTestFactory;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class PropertySourceTestFactory {
public static PropertySource createVorgangManager() {
return new PropertySource(StringUtils.EMPTY, PostfachSettingBodyTestFactory.createPostfachAsFlattenedMapVorgangManager());
}
public static PropertySource createAlfa() {
return new PropertySource(StringUtils.EMPTY, PostfachSettingBodyTestFactory.createPostfachAsFlattenedMapAlfa());
}
}
\ No newline at end of file
...@@ -39,9 +39,6 @@ class SettingEnvironmentRepositoryTest { ...@@ -39,9 +39,6 @@ class SettingEnvironmentRepositoryTest {
private static final String ALFA = "Alfa"; private static final String ALFA = "Alfa";
private static final String VORGANG_MANAGER = "OzgCloud_VorgangManager"; private static final String VORGANG_MANAGER = "OzgCloud_VorgangManager";
// private static final AlfaSettingDTO ALFA_SETTING_DTO =
// AlfaSettingDTOTestFactory.create();
private static final VorgangManagerSettingDTO VORGANG_MANAGER_SETTING_DTO = VorgangManagerSettingDTOTestFactory.create();
@Nested @Nested
class TestFindOne { class TestFindOne {
......
package de.ozgcloud.admin.setting;
import org.springframework.cloud.config.environment.Environment;
public class SettingEnvironmentTestFactory {
public static final String ALFA = "Alfa";
public static final String VORGANG_MANAGER = "OzgCloud_VorgangManager";
public static Environment createAlfa() {
var environment = new Environment(ALFA);
environment.add(PropertySourceTestFactory.createAlfa());
return environment;
}
public static Environment createVorgangManager() {
var environment = new Environment(VORGANG_MANAGER);
environment.add(PropertySourceTestFactory.createVorgangManager());
return environment;
}
}
...@@ -4,6 +4,8 @@ import static org.assertj.core.api.Assertions.*; ...@@ -4,6 +4,8 @@ import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*; import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.util.Optional;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -28,12 +30,10 @@ class SettingServiceTest { ...@@ -28,12 +30,10 @@ class SettingServiceTest {
@Mock @Mock
private SettingMapper mapper; private SettingMapper mapper;
private final String POSTFACH = "Postfach";
private final PostfachSettingBody postfach = PostfachSettingBodyTestFactory.create(); private final PostfachSettingBody postfach = PostfachSettingBodyTestFactory.create();
private final Setting settingWithPostfach = SettingTestFactory.createBuilder().name(POSTFACH).settingBody(postfach).build();
@Captor private static final String POSTFACH = "Postfach";
private ArgumentCaptor<PostfachSettingBody> postfachCaptor; private final Setting settingWithPostfach = SettingTestFactory.createBuilder().name(POSTFACH).settingBody(postfach).build();
@Nested @Nested
class TestGetAlfaSettingDTO { class TestGetAlfaSettingDTO {
...@@ -57,20 +57,12 @@ class SettingServiceTest { ...@@ -57,20 +57,12 @@ class SettingServiceTest {
} }
@Test @Test
void shouldCallMapperWithPostfach() { void shouldCallMapperWithEmptyBuilderAndPostfach() {
when(mapper.mapAlfaPostfach(alfaBuilderCaptor.capture(), postfachCaptor.capture())).thenReturn(AlfaSettingDTOTestFactory.createBuilder()); when(mapper.mapAlfaPostfach(any(), any())).thenReturn(AlfaSettingDTOTestFactory.createBuilder());
service.getAlfaSettingDTO();
assertThat(postfachCaptor.getValue()).isEqualTo(postfach);
}
@Test
void shouldCallMapperWithAlfaBuilder() {
when(mapper.mapAlfaPostfach(alfaBuilderCaptor.capture(), postfachCaptor.capture())).thenReturn(AlfaSettingDTOTestFactory.createBuilder());
service.getAlfaSettingDTO(); service.getAlfaSettingDTO();
verify(mapper).mapAlfaPostfach(alfaBuilderCaptor.capture(), eq(postfach));
assertThat(alfaBuilderCaptor.getValue()).usingRecursiveComparison().isEqualTo(AlfaSettingDTO.builder()); assertThat(alfaBuilderCaptor.getValue()).usingRecursiveComparison().isEqualTo(AlfaSettingDTO.builder());
} }
...@@ -92,48 +84,67 @@ class SettingServiceTest { ...@@ -92,48 +84,67 @@ class SettingServiceTest {
private final VorgangManagerSettingDTO vorgangManagerSetting = VorgangManagerSettingDTOTestFactory.create(); private final VorgangManagerSettingDTO vorgangManagerSetting = VorgangManagerSettingDTOTestFactory.create();
@BeforeEach @BeforeEach
void mockRepository() { void mockGetSettingWithPostfachFromDb() {
doReturn(postfach).when(service).getSettingWithPostfachFromDb(); doReturn(postfach).when(service).getSettingWithPostfachFromDb();
} }
@Test @BeforeEach
void shouldCallGetSettingWithPostfachFromDb() { void mockMapper() {
when(mapper.mapVorgangManagerPostfach(any(), any())).thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder()); when(mapper.mapVorgangManagerPostfach(any(), any())).thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder());
}
@Test
void shouldCallGetSettingWithPostfachFromDb() {
service.getVorgangManagerSettingDTO(); service.getVorgangManagerSettingDTO();
verify(service).getSettingWithPostfachFromDb(); verify(service).getSettingWithPostfachFromDb();
} }
@Test @Test
void shouldCallMapperWithPostfach() { void shouldCallMapperWithEmptyBuilderAndPostfach() {
when(mapper.mapVorgangManagerPostfach(vorgangManagerBuilderCaptor.capture(), postfachCaptor.capture()))
.thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder());
service.getVorgangManagerSettingDTO(); service.getVorgangManagerSettingDTO();
assertThat(postfachCaptor.getValue()).isEqualTo(postfach); verify(mapper).mapVorgangManagerPostfach(vorgangManagerBuilderCaptor.capture(), eq(postfach));
assertThat(vorgangManagerBuilderCaptor.getValue()).usingRecursiveComparison().isEqualTo(VorgangManagerSettingDTO.builder());
}
@Test
void shouldReturnBuiltVorgangManagerSettingDTO() {
var resultSettingDTO = service.getVorgangManagerSettingDTO();
assertThat(resultSettingDTO).usingRecursiveComparison().isEqualTo(vorgangManagerSetting);
} }
}
@Nested
class TestGetSettingWithPostfachFromDb {
@Test @Test
void shouldCallMapperWithVorgangManagerBuilder() { void shouldCallRepository() {
when(mapper.mapVorgangManagerPostfach(vorgangManagerBuilderCaptor.capture(), postfachCaptor.capture())) when(repository.findOneByName(POSTFACH)).thenReturn(Optional.of(settingWithPostfach));
.thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder());
service.getVorgangManagerSettingDTO(); service.getSettingWithPostfachFromDb();
assertThat(vorgangManagerBuilderCaptor.getValue()).usingRecursiveComparison().isEqualTo(VorgangManagerSettingDTO.builder()); verify(repository).findOneByName(POSTFACH);
} }
@Test @Test
void shouldReturnBuiltVorgangManagerSettingDTO() { void shouldReturnPostfachSettingBody() {
when(mapper.mapVorgangManagerPostfach(any(), any())).thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder()); when(repository.findOneByName(POSTFACH)).thenReturn(Optional.of(settingWithPostfach));
var resultSettingDTO = service.getVorgangManagerSettingDTO(); var returnedBody = service.getSettingWithPostfachFromDb();
assertThat(resultSettingDTO).usingRecursiveComparison().isEqualTo(vorgangManagerSetting); assertThat(returnedBody).isEqualTo(postfach);
} }
@Test
void shouldReturnEmptyPostfachSettingBodyForEmptySetting() {
when(repository.findOneByName(POSTFACH)).thenReturn(Optional.empty());
var returnedBody = service.getSettingWithPostfachFromDb();
assertThat(returnedBody).usingRecursiveComparison().isEqualTo(PostfachSettingBody.builder().build());
}
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment