diff --git a/widgetssdk/src/main/java/com/glia/widgets/core/configuration/GliaSdkConfigurationManager.java b/widgetssdk/src/main/java/com/glia/widgets/core/configuration/GliaSdkConfigurationManager.java index 473088b88..80f32998f 100644 --- a/widgetssdk/src/main/java/com/glia/widgets/core/configuration/GliaSdkConfigurationManager.java +++ b/widgetssdk/src/main/java/com/glia/widgets/core/configuration/GliaSdkConfigurationManager.java @@ -40,9 +40,6 @@ public String getCompanyName() { String remoteCompanyName = fetchRemoteCompanyName(); boolean isCompanyNameSetFromGliaHub = remoteCompanyName != null && !remoteCompanyName.trim().isEmpty(); - Logger.d("CONFIGURATION", "companyName =" + companyName); - Logger.d("CONFIGURATION", "legacyCompanyName =" + legacyCompanyName); - if (isCompanyNameSetFromGliaHub) { // Apply company name from Glia Hub companyName = remoteCompanyName; diff --git a/widgetssdk/src/test/java/com/glia/widgets/core/configuration/GliaSdkConfigurationManagerTest.kt b/widgetssdk/src/test/java/com/glia/widgets/core/configuration/GliaSdkConfigurationManagerTest.kt index b4f81fc5f..106defad9 100644 --- a/widgetssdk/src/test/java/com/glia/widgets/core/configuration/GliaSdkConfigurationManagerTest.kt +++ b/widgetssdk/src/test/java/com/glia/widgets/core/configuration/GliaSdkConfigurationManagerTest.kt @@ -1,8 +1,18 @@ package com.glia.widgets.core.configuration +import com.glia.androidsdk.Glia import com.glia.widgets.R +import com.glia.widgets.StringProvider +import com.glia.widgets.di.Dependencies import com.glia.widgets.helper.ResourceProvider +import io.mockk.every +import io.mockk.justRun +import io.mockk.mockk +import io.mockk.mockkClass +import io.mockk.mockkObject +import io.mockk.mockkStatic import org.junit.Assert.assertEquals +import org.junit.Before import org.junit.Test import org.mockito.kotlin.mock import org.mockito.kotlin.whenever @@ -11,43 +21,52 @@ private const val DEFAULT_LOCAL_COMPANY_NAME = "Local Company Name" class GliaSdkConfigurationManagerTest { - private val configurationManager: GliaSdkConfigurationManager = mock() - private val resourceProvider: ResourceProvider = mock() + private val configurationManager: GliaSdkConfigurationManager = GliaSdkConfigurationManager() + private val resourceProvider: ResourceProvider = mockk() + private val stringProvider: StringProvider = mockk() + + @Before + fun setup() { + mockkStatic(Glia::class) + mockkStatic(Dependencies::class) + every { Dependencies.getResourceProvider() } returns resourceProvider + every { Dependencies.getStringProvider() } returns stringProvider + every { resourceProvider.getResourceKey(R.string.general_company_name)} returns "key" + every { resourceProvider.getString(any()) } returns DEFAULT_LOCAL_COMPANY_NAME + justRun { stringProvider.reportImproperInitialisation(any())} + } @Test fun `getCompanyName returns local default when remote value is null`() { - whenever(configurationManager.fetchRemoteCompanyName()).thenReturn(null) - whenever(configurationManager.resourceProvider).thenReturn(resourceProvider) - whenever(resourceProvider.getString(R.string.general_company_name)).thenReturn(DEFAULT_LOCAL_COMPANY_NAME) - whenever(configurationManager.companyName).thenCallRealMethod() + every { Glia.getRemoteString(any()) } returns null assertEquals(DEFAULT_LOCAL_COMPANY_NAME, configurationManager.companyName) } + @Test + fun `getCompanyName returns legacy value when remote value is empty`() { + configurationManager.setLegacyCompanyName("Legacy name") + every { configurationManager.fetchRemoteCompanyName() } returns null + assertEquals("Legacy name", configurationManager.companyName) + } + @Test fun `getCompanyName returns local default when remote value is empty`() { - whenever(configurationManager.fetchRemoteCompanyName()).thenReturn("") - whenever(configurationManager.resourceProvider).thenReturn(resourceProvider) - whenever(resourceProvider.getString(R.string.general_company_name)).thenReturn(DEFAULT_LOCAL_COMPANY_NAME) - whenever(configurationManager.companyName).thenCallRealMethod() + every { Glia.getRemoteString(any()) } returns "" assertEquals(DEFAULT_LOCAL_COMPANY_NAME, configurationManager.companyName) } @Test fun `getCompanyName returns remote value when remote value is not empty`() { - whenever(configurationManager.fetchRemoteCompanyName()).thenReturn("Remote company name") - whenever(configurationManager.resourceProvider).thenReturn(resourceProvider) - whenever(resourceProvider.getString(R.string.general_company_name)).thenReturn(DEFAULT_LOCAL_COMPANY_NAME) - whenever(configurationManager.companyName).thenCallRealMethod() + every { Glia.getRemoteString(any()) } returns "Remote company name" assertEquals("Remote company name", configurationManager.companyName) } @Test fun `getCompanyName should not be replaced when remote value is empty but local custom value is set using GliaWidgetsConfig setCompanyName`() { - whenever(configurationManager.fetchRemoteCompanyName()).thenReturn("") - whenever(configurationManager.resourceProvider).thenReturn(resourceProvider) - whenever(resourceProvider.getString(R.string.general_company_name)).thenReturn(DEFAULT_LOCAL_COMPANY_NAME) - whenever(configurationManager.isCompanyNameSetFromWidgetsConfig).thenReturn(true) - whenever(configurationManager.companyName).thenCallRealMethod() - assertEquals(null, configurationManager.companyName) + configurationManager.setLegacyCompanyName("Legacy name") + configurationManager.companyName = "Init company name" + every { Glia.getRemoteString(any()) } returns "" + every { resourceProvider.getString(R.string.general_company_name) } returns DEFAULT_LOCAL_COMPANY_NAME + assertEquals("Init company name", configurationManager.companyName) } }