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

OZG-5044 Refactored tests

parent df83d05b
Branches
Tags
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 {
private static final String ALFA = "Alfa";
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
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.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import java.util.Optional;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
......@@ -28,12 +30,10 @@ class SettingServiceTest {
@Mock
private SettingMapper mapper;
private final String POSTFACH = "Postfach";
private final PostfachSettingBody postfach = PostfachSettingBodyTestFactory.create();
private final Setting settingWithPostfach = SettingTestFactory.createBuilder().name(POSTFACH).settingBody(postfach).build();
@Captor
private ArgumentCaptor<PostfachSettingBody> postfachCaptor;
private static final String POSTFACH = "Postfach";
private final Setting settingWithPostfach = SettingTestFactory.createBuilder().name(POSTFACH).settingBody(postfach).build();
@Nested
class TestGetAlfaSettingDTO {
......@@ -57,20 +57,12 @@ class SettingServiceTest {
}
@Test
void shouldCallMapperWithPostfach() {
when(mapper.mapAlfaPostfach(alfaBuilderCaptor.capture(), postfachCaptor.capture())).thenReturn(AlfaSettingDTOTestFactory.createBuilder());
service.getAlfaSettingDTO();
assertThat(postfachCaptor.getValue()).isEqualTo(postfach);
}
@Test
void shouldCallMapperWithAlfaBuilder() {
when(mapper.mapAlfaPostfach(alfaBuilderCaptor.capture(), postfachCaptor.capture())).thenReturn(AlfaSettingDTOTestFactory.createBuilder());
void shouldCallMapperWithEmptyBuilderAndPostfach() {
when(mapper.mapAlfaPostfach(any(), any())).thenReturn(AlfaSettingDTOTestFactory.createBuilder());
service.getAlfaSettingDTO();
verify(mapper).mapAlfaPostfach(alfaBuilderCaptor.capture(), eq(postfach));
assertThat(alfaBuilderCaptor.getValue()).usingRecursiveComparison().isEqualTo(AlfaSettingDTO.builder());
}
......@@ -92,48 +84,67 @@ class SettingServiceTest {
private final VorgangManagerSettingDTO vorgangManagerSetting = VorgangManagerSettingDTOTestFactory.create();
@BeforeEach
void mockRepository() {
void mockGetSettingWithPostfachFromDb() {
doReturn(postfach).when(service).getSettingWithPostfachFromDb();
}
@Test
void shouldCallGetSettingWithPostfachFromDb() {
@BeforeEach
void mockMapper() {
when(mapper.mapVorgangManagerPostfach(any(), any())).thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder());
}
@Test
void shouldCallGetSettingWithPostfachFromDb() {
service.getVorgangManagerSettingDTO();
verify(service).getSettingWithPostfachFromDb();
}
@Test
void shouldCallMapperWithPostfach() {
when(mapper.mapVorgangManagerPostfach(vorgangManagerBuilderCaptor.capture(), postfachCaptor.capture()))
.thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder());
void shouldCallMapperWithEmptyBuilderAndPostfach() {
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
void shouldCallMapperWithVorgangManagerBuilder() {
when(mapper.mapVorgangManagerPostfach(vorgangManagerBuilderCaptor.capture(), postfachCaptor.capture()))
.thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder());
void shouldCallRepository() {
when(repository.findOneByName(POSTFACH)).thenReturn(Optional.of(settingWithPostfach));
service.getVorgangManagerSettingDTO();
service.getSettingWithPostfachFromDb();
assertThat(vorgangManagerBuilderCaptor.getValue()).usingRecursiveComparison().isEqualTo(VorgangManagerSettingDTO.builder());
verify(repository).findOneByName(POSTFACH);
}
@Test
void shouldReturnBuiltVorgangManagerSettingDTO() {
when(mapper.mapVorgangManagerPostfach(any(), any())).thenReturn(VorgangManagerSettingDTOTestFactory.createBuilder());
void shouldReturnPostfachSettingBody() {
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