diff --git a/src/test/java/de/deadlocker8/budgetmaster/integration/DateRepairTest.java b/src/test/java/de/deadlocker8/budgetmaster/integration/DateRepairTest.java index 828541c0461c9ac3cfa27f95e58fdabeff1c5d5a..b665d072c97fa9092d98c3c33726d19a631238b5 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/integration/DateRepairTest.java +++ b/src/test/java/de/deadlocker8/budgetmaster/integration/DateRepairTest.java @@ -1,6 +1,7 @@ package de.deadlocker8.budgetmaster.integration; import de.deadlocker8.budgetmaster.Main; +import de.deadlocker8.budgetmaster.integration.helpers.SeleniumTest; import de.deadlocker8.budgetmaster.tags.Tag; import de.deadlocker8.budgetmaster.transactions.Transaction; import de.deadlocker8.budgetmaster.transactions.TransactionRepository; @@ -31,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest(classes = Main.class) @Import(DateRepairTest.TestDatabaseConfiguration.class) @ActiveProfiles("test") +@SeleniumTest @Transactional public class DateRepairTest { diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/CategoryServiceTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/CategoryServiceTest.java index 635b44ba17983d885711f6189ed294cdecbaa3c7..be0d6e22815a5d6224571324819f38aa7609fd6f 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/unit/CategoryServiceTest.java +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/CategoryServiceTest.java @@ -4,33 +4,31 @@ import de.deadlocker8.budgetmaster.categories.Category; import de.deadlocker8.budgetmaster.categories.CategoryRepository; import de.deadlocker8.budgetmaster.categories.CategoryService; import de.deadlocker8.budgetmaster.categories.CategoryType; +import de.deadlocker8.budgetmaster.unit.helpers.LocalizedTest; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; +import org.mockito.InjectMocks; +import org.mockito.Mock; import org.mockito.Mockito; -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.junit4.SpringRunner; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.ArrayList; import java.util.List; import java.util.Optional; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.BDDMockito.given; -@RunWith(SpringRunner.class) -@SpringBootTest +@RunWith(SpringJUnit4ClassRunner.class) +@LocalizedTest public class CategoryServiceTest { private static final Category CATEGORY_NONE = new Category("No Category", "#FFFFFF", CategoryType.NONE); private static final Category CATEGORY_REST = new Category("Rest", "#FFFF00", CategoryType.REST); - @MockBean(CategoryRepository.class) + @Mock private CategoryRepository categoryRepository; - @Autowired + @InjectMocks private CategoryService categoryService; @Test diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java index 4daf8e2732d21b26f63d6b606283cc0129aafb60..6bbc70088de6c1f125eca15ef1125129c95a8617 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java @@ -1,38 +1,25 @@ package de.deadlocker8.budgetmaster.unit; import de.deadlocker8.budgetmaster.Main; -import de.deadlocker8.budgetmaster.accounts.Account; import de.deadlocker8.budgetmaster.accounts.AccountService; import de.deadlocker8.budgetmaster.accounts.AccountType; -import de.deadlocker8.budgetmaster.categories.Category; -import de.deadlocker8.budgetmaster.categories.CategoryType; import de.deadlocker8.budgetmaster.filter.FilterConfiguration; -import de.deadlocker8.budgetmaster.repeating.RepeatingOption; -import de.deadlocker8.budgetmaster.repeating.RepeatingOptionRepository; -import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndAfterXTimes; -import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierDays; +import de.deadlocker8.budgetmaster.integration.helpers.SeleniumTest; import de.deadlocker8.budgetmaster.transactions.Transaction; -import de.deadlocker8.budgetmaster.transactions.TransactionRepository; import de.deadlocker8.budgetmaster.transactions.TransactionService; -import de.deadlocker8.budgetmaster.transactions.TransactionSpecifications; -import de.deadlocker8.budgetmaster.utils.eventlistener.DateRepair; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.TestConfiguration; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Primary; import org.springframework.core.io.Resource; -import org.springframework.data.jpa.domain.Specification; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; @@ -40,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.sql.DataSource; import java.io.IOException; import java.util.List; -import java.util.Optional; import static org.assertj.core.api.Assertions.assertThat; @@ -48,6 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest(classes = Main.class) @Import(TransactionServiceDatabaseTest.TestDatabaseConfiguration.class) @ActiveProfiles("test") +@SeleniumTest @Transactional public class TransactionServiceDatabaseTest { diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceTest.java index 41f45297eb1bbb62f1f4a3f09b083fc8904124d0..c25c24357962b721ac1d930f3520bce9a8c01b8d 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceTest.java +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceTest.java @@ -7,20 +7,24 @@ import de.deadlocker8.budgetmaster.categories.CategoryType; import de.deadlocker8.budgetmaster.transactions.Transaction; import de.deadlocker8.budgetmaster.transactions.TransactionRepository; import de.deadlocker8.budgetmaster.transactions.TransactionService; +import de.deadlocker8.budgetmaster.unit.helpers.LocalizedTest; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; import org.mockito.Mockito; 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.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringRunner; import java.util.Optional; import static org.assertj.core.api.Assertions.assertThat; -@RunWith(SpringRunner.class) -@SpringBootTest +@RunWith(SpringJUnit4ClassRunner.class) +@LocalizedTest public class TransactionServiceTest { private static final Category CATEGORY_REST = new Category("Rest", "#FFFF00", CategoryType.REST); @@ -28,10 +32,10 @@ public class TransactionServiceTest private static final Account ACCOUNT = new Account("MyAccount", AccountType.CUSTOM); - @MockBean(TransactionRepository.class) + @Mock private TransactionRepository transactionRepository; - @Autowired + @InjectMocks private TransactionService transactionService; @Test diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/helpers/LocalizationHelpers.java b/src/test/java/de/deadlocker8/budgetmaster/unit/helpers/LocalizationHelpers.java new file mode 100644 index 0000000000000000000000000000000000000000..a78dbae012c00befff7a45a74ec0dcf2527ac595 --- /dev/null +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/helpers/LocalizationHelpers.java @@ -0,0 +1,44 @@ +package de.deadlocker8.budgetmaster.unit.helpers; + +import de.thecodelabs.utils.util.Localization; +import de.thecodelabs.utils.util.localization.LocalizationMessageFormatter; +import de.thecodelabs.utils.util.localization.formatter.JavaMessageFormatter; +import org.springframework.test.context.TestContext; +import org.springframework.test.context.support.AbstractTestExecutionListener; + +import java.util.Locale; + +public class LocalizationHelpers extends AbstractTestExecutionListener +{ + @Override + public void beforeTestClass(TestContext testContext) throws Exception + { + Localization.setDelegate(new Localization.LocalizationDelegate() + { + @Override + public Locale getLocale() + { + return Locale.ENGLISH; + } + + @Override + public String[] getBaseResources() + { + return new String[]{"languages/base", "languages/news"}; + } + + @Override + public LocalizationMessageFormatter messageFormatter() + { + return new JavaMessageFormatter(); + } + + @Override + public boolean useMultipleResourceBundles() + { + return true; + } + }); + Localization.load(); + } +} diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/helpers/LocalizedTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/helpers/LocalizedTest.java new file mode 100644 index 0000000000000000000000000000000000000000..78cebf6993d35d49e695070544115cf3164afc78 --- /dev/null +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/helpers/LocalizedTest.java @@ -0,0 +1,19 @@ +package de.deadlocker8.budgetmaster.unit.helpers; + +import org.springframework.test.context.TestExecutionListeners; + +import java.lang.annotation.*; + +import static org.springframework.test.context.TestExecutionListeners.MergeMode.MERGE_WITH_DEFAULTS; + +@Documented +@Inherited +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +@TestExecutionListeners( + listeners = LocalizationHelpers.class, + mergeMode = MERGE_WITH_DEFAULTS) +public @interface LocalizedTest +{ + +}