Skip to content

Commit

Permalink
feat: OB-8353
Browse files Browse the repository at this point in the history
* Correct unit tests for the TranslationService
* Add translation system property to the test properties file
* rename the DefaultTranslationsServiceIT file
  • Loading branch information
Leandro13Silva13 committed Jan 16, 2024
1 parent 0489c8a commit 98e052d
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 17 deletions.
1 change: 1 addition & 0 deletions src/main/resources/application-testing.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ mail.exchange.version=Exchange2010_SP2

template.use.custom.resources.path=false
template.custom.resources.path=false
translation.management.system.enabled=false

csrf.header.property=csrfHeader
csrf.cookie.property=csrfCookie
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@

@SpringBootTest
@ActiveProfiles("testing")
class DefaultTranslationsServiceTest {
class DefaultTranslationsServiceIT {

@Autowired
DefaultTranslationsService defaultTranslationsService;
private DefaultTranslationsService defaultTranslationsService;

@Test
void fetchDefaultTranslations_Should_FetchTranlsationsForInformalGerman() {
Expand Down Expand Up @@ -45,4 +45,4 @@ void fetchDefaultTranslations_Should_FetchTranlsationsForEnglish() {
assertThat(translations).contains("has assigned you {0} new advice seeker.");
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,28 @@

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.ActiveProfiles;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.test.util.ReflectionTestUtils;

import de.caritas.cob.mailservice.api.model.Dialect;
import de.caritas.cob.mailservice.config.apiclient.TranslationManagementServiceApiClient;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;

@SpringBootTest
@ActiveProfiles("testing")
@ExtendWith(MockitoExtension.class)
class TranslationServiceTest {

@Autowired
private TranslationService translationService;

@MockBean
@Mock
private TranslationManagementServiceApiClient translationManagementServiceApiClient;

@MockBean
@Mock
private DefaultTranslationsService defaultTranslationsService;

public final String TRANSLATION_MANAGEMENT_SYSTEM_ENABLED_FIELD_NAME = "translationManagementSystemEnabled";
Expand All @@ -43,14 +40,13 @@ void fetchTranslations_Should_call_tryFetchTranslationsFromTranslationManagement
final boolean TRANSLATION_MANAGEMENT_SYSTEM_ENABLED_FIELD_VALUE = true;
ReflectionTestUtils.setField(translationService, TRANSLATION_MANAGEMENT_SYSTEM_ENABLED_FIELD_NAME, TRANSLATION_MANAGEMENT_SYSTEM_ENABLED_FIELD_VALUE);
when(translationManagementServiceApiClient.tryFetchTranslationsFromTranslationManagementService(any(), any(), any(), any())).thenReturn("{\"mail.label.header\": \"Beratung\"}");
when(defaultTranslationsService.fetchDefaultTranslations(any(), any(), any())).thenReturn("{\"mail.label.header\": \"Beratung\"}");

//Act
translationService.fetchTranslations("test", Dialect.INFORMAL);

//Assert
verify(translationManagementServiceApiClient).tryFetchTranslationsFromTranslationManagementService(any(), any(), any(), any());
verify(defaultTranslationsService, never()).fetchDefaultTranslations(any(), any(), any());
verifyNoInteractions(defaultTranslationsService);

}

Expand All @@ -60,14 +56,13 @@ void fetchTranslations_Should_call_fetchDefaultTranslations_When_translationMana
//Arrange
final boolean TRANSLATION_MANAGEMENT_SYSTEM_ENABLED_FIELD_VALUE = false;
ReflectionTestUtils.setField(translationService, TRANSLATION_MANAGEMENT_SYSTEM_ENABLED_FIELD_NAME, TRANSLATION_MANAGEMENT_SYSTEM_ENABLED_FIELD_VALUE);
when(translationManagementServiceApiClient.tryFetchTranslationsFromTranslationManagementService(any(), any(), any(), any())).thenReturn("{\"mail.label.header\": \"Beratung\"}");
when(defaultTranslationsService.fetchDefaultTranslations(any(), any(), any())).thenReturn("{\"mail.label.header\": \"Beratung\"}");

//Act
translationService.fetchTranslations("test", Dialect.INFORMAL);

//Assert
verify(translationManagementServiceApiClient, never()).tryFetchTranslationsFromTranslationManagementService(any(), any(), any(), any());
verifyNoInteractions(translationManagementServiceApiClient);
verify(defaultTranslationsService).fetchDefaultTranslations(any(), any(), any());

}
Expand Down

0 comments on commit 98e052d

Please sign in to comment.