diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchChangeTranslationStateTest.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchChangeTranslationStateTest.kt index 60ee5bba5f..cd119b500f 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchChangeTranslationStateTest.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchChangeTranslationStateTest.kt @@ -6,7 +6,6 @@ import io.tolgee.fixtures.waitForNotThrowing import io.tolgee.model.enums.TranslationState import io.tolgee.testing.annotations.ProjectJWTAuthTestMethod import io.tolgee.testing.assert -import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -20,11 +19,6 @@ class BatchChangeTranslationStateTest : ProjectAuthControllerTest("/v2/projects/ batchJobTestBase.setup() } - @AfterEach - fun after() { - batchJobTestBase.after() - } - val testData get() = batchJobTestBase.testData diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchClearTranslationsTest.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchClearTranslationsTest.kt index d4aa74ca26..e7d5756552 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchClearTranslationsTest.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchClearTranslationsTest.kt @@ -6,7 +6,6 @@ import io.tolgee.fixtures.waitForNotThrowing import io.tolgee.model.enums.TranslationState import io.tolgee.testing.annotations.ProjectJWTAuthTestMethod import io.tolgee.testing.assert -import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -20,11 +19,6 @@ class BatchClearTranslationsTest : ProjectAuthControllerTest("/v2/projects/") { batchJobTestBase.setup() } - @AfterEach - fun after() { - batchJobTestBase.after() - } - val testData get() = batchJobTestBase.testData diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchCopyTranslationsTest.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchCopyTranslationsTest.kt index 93e147b06f..7fa38c601f 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchCopyTranslationsTest.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchCopyTranslationsTest.kt @@ -7,7 +7,6 @@ import io.tolgee.model.enums.TranslationState import io.tolgee.model.key.Key import io.tolgee.testing.annotations.ProjectJWTAuthTestMethod import io.tolgee.testing.assert -import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -21,11 +20,6 @@ class BatchCopyTranslationsTest : ProjectAuthControllerTest("/v2/projects/") { batchJobTestBase.setup() } - @AfterEach - fun after() { - batchJobTestBase.after() - } - val testData get() = batchJobTestBase.testData diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchDeleteKeysTest.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchDeleteKeysTest.kt index adbeec5c58..0d9a60cedf 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchDeleteKeysTest.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchDeleteKeysTest.kt @@ -6,7 +6,6 @@ import io.tolgee.fixtures.waitForNotThrowing import io.tolgee.model.batch.BatchJob import io.tolgee.testing.annotations.ProjectJWTAuthTestMethod import io.tolgee.testing.assert -import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -20,11 +19,6 @@ class BatchDeleteKeysTest : ProjectAuthControllerTest("/v2/projects/") { batchJobTestBase.setup() } - @AfterEach - fun after() { - batchJobTestBase.after() - } - val testData get() = batchJobTestBase.testData diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchJobTestBase.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchJobTestBase.kt index 4c0e5020a9..391f6b6ed2 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchJobTestBase.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchJobTestBase.kt @@ -4,6 +4,8 @@ import io.tolgee.ProjectAuthControllerTest import io.tolgee.batch.BatchJobChunkExecutionQueue import io.tolgee.batch.BatchJobService import io.tolgee.configuration.tolgee.InternalProperties +import io.tolgee.configuration.tolgee.machineTranslation.AwsMachineTranslationProperties +import io.tolgee.configuration.tolgee.machineTranslation.GoogleMachineTranslationProperties import io.tolgee.configuration.tolgee.machineTranslation.MachineTranslationProperties import io.tolgee.development.testDataBuilder.TestDataService import io.tolgee.development.testDataBuilder.data.BatchJobsTestData @@ -13,7 +15,10 @@ import io.tolgee.fixtures.waitForNotThrowing import io.tolgee.model.translation.Translation import io.tolgee.testing.assert import jakarta.persistence.EntityManager +import org.mockito.kotlin.mock +import org.mockito.kotlin.whenever import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.test.mock.mockito.SpyBean import org.springframework.stereotype.Component import org.springframework.test.web.servlet.ResultActions import java.util.function.Consumer @@ -29,6 +34,7 @@ class BatchJobTestBase { lateinit var batchJobService: BatchJobService @Autowired + @SpyBean lateinit var machineTranslationProperties: MachineTranslationProperties @Autowired @@ -37,6 +43,7 @@ class BatchJobTestBase { var fakeBefore: Boolean = false @Autowired + @SpyBean private lateinit var internalProperties: InternalProperties @Autowired @@ -45,18 +52,22 @@ class BatchJobTestBase { fun setup() { batchJobOperationQueue.clear() testData = BatchJobsTestData() - fakeBefore = internalProperties.fakeMtProviders - internalProperties.fakeMtProviders = true - machineTranslationProperties.google.apiKey = "mock" - machineTranslationProperties.google.defaultEnabled = true - machineTranslationProperties.google.defaultPrimary = true - machineTranslationProperties.aws.defaultEnabled = false - machineTranslationProperties.aws.accessKey = "mock" - machineTranslationProperties.aws.secretKey = "mock" - } - fun after() { - internalProperties.fakeMtProviders = fakeBefore + whenever(internalProperties.fakeMtProviders).thenReturn(true) + + val googleMock = mock() + whenever(googleMock.apiKey).thenReturn("mock") + whenever(googleMock.defaultEnabled).thenReturn(true) + whenever(googleMock.defaultPrimary).thenReturn(true) + + whenever(machineTranslationProperties.google).thenReturn(googleMock) + + val awsMock = mock() + whenever(awsMock.defaultEnabled).thenReturn(false) + whenever(awsMock.accessKey).thenReturn("mock") + whenever(awsMock.secretKey).thenReturn("mock") + + whenever(machineTranslationProperties.aws).thenReturn(awsMock) } fun saveAndPrepare(testClass: ProjectAuthControllerTest) { diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchMoveToNamespaceTest.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchMoveToNamespaceTest.kt index 294e3127a8..cbc511a895 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchMoveToNamespaceTest.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchMoveToNamespaceTest.kt @@ -8,7 +8,6 @@ import io.tolgee.model.batch.BatchJobStatus import io.tolgee.testing.ContextRecreatingTest import io.tolgee.testing.annotations.ProjectJWTAuthTestMethod import io.tolgee.testing.assert -import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -33,11 +32,6 @@ class BatchMoveToNamespaceTest : ProjectAuthControllerTest("/v2/projects/") { batchJobTestBase.setup() } - @AfterEach - fun after() { - batchJobTestBase.after() - } - val testData get() = batchJobTestBase.testData diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchMtTranslateTest.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchMtTranslateTest.kt index 0411c47e1d..af587bcaba 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchMtTranslateTest.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchMtTranslateTest.kt @@ -8,7 +8,6 @@ import io.tolgee.model.batch.BatchJob import io.tolgee.model.batch.BatchJobStatus import io.tolgee.testing.annotations.ProjectJWTAuthTestMethod import io.tolgee.testing.assert -import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -22,11 +21,6 @@ class BatchMtTranslateTest : ProjectAuthControllerTest("/v2/projects/") { batchJobTestBase.setup() } - @AfterEach - fun after() { - batchJobTestBase.after() - } - val testData get() = batchJobTestBase.testData diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchPreTranslateByMtTest.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchPreTranslateByMtTest.kt index 07fdfb2af7..b8a285dfb6 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchPreTranslateByMtTest.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchPreTranslateByMtTest.kt @@ -8,7 +8,6 @@ import io.tolgee.model.batch.BatchJob import io.tolgee.model.batch.BatchJobStatus import io.tolgee.testing.annotations.ProjectJWTAuthTestMethod import io.tolgee.testing.assert -import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -22,11 +21,6 @@ class BatchPreTranslateByMtTest : ProjectAuthControllerTest("/v2/projects/") { batchJobTestBase.setup() } - @AfterEach - fun after() { - batchJobTestBase.after() - } - val testData get() = batchJobTestBase.testData diff --git a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchTagKeysTest.kt b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchTagKeysTest.kt index 4c94a6863e..954efae93f 100644 --- a/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchTagKeysTest.kt +++ b/backend/app/src/test/kotlin/io/tolgee/api/v2/controllers/batch/BatchTagKeysTest.kt @@ -4,7 +4,6 @@ import io.tolgee.ProjectAuthControllerTest import io.tolgee.fixtures.* import io.tolgee.testing.annotations.ProjectJWTAuthTestMethod import io.tolgee.testing.assert -import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -18,11 +17,6 @@ class BatchTagKeysTest : ProjectAuthControllerTest("/v2/projects/") { batchJobTestBase.setup() } - @AfterEach - fun after() { - batchJobTestBase.after() - } - val testData get() = batchJobTestBase.testData diff --git a/backend/data/src/main/kotlin/io/tolgee/service/translation/SetTranslationTextUtil.kt b/backend/data/src/main/kotlin/io/tolgee/service/translation/SetTranslationTextUtil.kt index 33a9d6b100..9d444ebeb4 100644 --- a/backend/data/src/main/kotlin/io/tolgee/service/translation/SetTranslationTextUtil.kt +++ b/backend/data/src/main/kotlin/io/tolgee/service/translation/SetTranslationTextUtil.kt @@ -93,6 +93,7 @@ class SetTranslationTextUtil( translation.state = when { + translation.state == TranslationState.DISABLED -> TranslationState.DISABLED translation.isUntranslated && hasText -> TranslationState.TRANSLATED hasTextChanged -> TranslationState.TRANSLATED text.isNullOrEmpty() -> TranslationState.UNTRANSLATED