diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mysite/items/listitem/SiteListItemBuilder.kt b/WordPress/src/main/java/org/wordpress/android/ui/mysite/items/listitem/SiteListItemBuilder.kt index 196e1f8aee2e..7bc0263630ad 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mysite/items/listitem/SiteListItemBuilder.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mysite/items/listitem/SiteListItemBuilder.kt @@ -247,8 +247,13 @@ class SiteListItemBuilder @Inject constructor( } else null } + @Suppress("ComplexCondition") fun buildSiteMonitoringItemIfAvailable(site: SiteModel, onClick: (ListItemAction) -> Unit): MySiteCardAndItem? { - return if (siteMonitoringFeatureConfig.isEnabled() && site.isWPComAtomic && site.isAdmin) { + return if (buildConfigWrapper.isJetpackApp + && site.isWPComAtomic + && site.isAdmin + && siteMonitoringFeatureConfig.isEnabled() + ) { ListItem( R.drawable.gb_ic_tool, UiStringRes(R.string.site_monitoring), diff --git a/WordPress/src/main/java/org/wordpress/android/util/config/SiteMonitoringFeatureConfig.kt b/WordPress/src/main/java/org/wordpress/android/util/config/SiteMonitoringFeatureConfig.kt index 6a2cc90c1fdb..3102f90ad70a 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/config/SiteMonitoringFeatureConfig.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/config/SiteMonitoringFeatureConfig.kt @@ -13,8 +13,5 @@ class SiteMonitoringFeatureConfig @Inject constructor( appConfig, BuildConfig.ENABLE_SITE_MONITORING, SITE_MONITORING_FEATURE_REMOTE_FIELD -) { - override fun isEnabled(): Boolean { - return super.isEnabled() && BuildConfig.IS_JETPACK_APP - } -} +) + diff --git a/WordPress/src/test/java/org/wordpress/android/ui/mysite/items/listitem/SiteListItemBuilderTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/mysite/items/listitem/SiteListItemBuilderTest.kt index f0fe7a9a46a4..d1bfd2e7eac7 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/mysite/items/listitem/SiteListItemBuilderTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/mysite/items/listitem/SiteListItemBuilderTest.kt @@ -422,8 +422,9 @@ class SiteListItemBuilderTest { /* SITE MONITORING */ @Test - fun `give site monitoring FF is true, when is atomic and admin, then site monitoring item is built`() { + fun `give jetpack app, when FF is true and site is atomic and admin, then site monitoring item is built`() { setupSiteMonitoringItems( + isJetpackApp = true, isSiteMonitoringFeatureFlagEnabled = true, isAtomic = true, isAdmin = true @@ -435,8 +436,9 @@ class SiteListItemBuilderTest { } @Test - fun `give site monitoring FF is true, when is atomic and NOT admin, then site monitoring item is not built`() { + fun `give jetpack app, when FF is true and site is atomic and NOT admin, then site monitoring item is not built`() { setupSiteMonitoringItems( + isJetpackApp = true, isSiteMonitoringFeatureFlagEnabled = true, isAtomic = true, isAdmin = false @@ -448,8 +450,9 @@ class SiteListItemBuilderTest { } @Test - fun `give site monitoring FF is true, when is admin and NOT atomic, then site monitoring item is not built`() { + fun `give jetpack app, when FF is true and site is admin and NOT atomic, then site monitoring item is not built`() { setupSiteMonitoringItems( + isJetpackApp = true, isSiteMonitoringFeatureFlagEnabled = true, isAdmin = true ) @@ -460,8 +463,23 @@ class SiteListItemBuilderTest { } @Test - fun `give site monitoring FF is false, when is admin and atomic, then site monitoring item is not built`() { + fun `give jetpack app, when FF is false and site is admin and atomic, then site monitoring item is not built`() { setupSiteMonitoringItems( + isJetpackApp = true, + isAtomic = true, + isAdmin = true + ) + + val item = siteListItemBuilder.buildSiteMonitoringItemIfAvailable(siteModel, SITE_ITEM_ACTION) + + assertThat(item).isNull() + } + + @Test + fun `give not jetpack app, when FF is true and site is atomic and admin, then site monitoring item is not built`() { + setupSiteMonitoringItems( + isJetpackApp = false, + isSiteMonitoringFeatureFlagEnabled = true, isAtomic = true, isAdmin = true ) @@ -472,10 +490,12 @@ class SiteListItemBuilderTest { } private fun setupSiteMonitoringItems( + isJetpackApp: Boolean = false, isSiteMonitoringFeatureFlagEnabled: Boolean = false, isAtomic: Boolean = false, isAdmin: Boolean = false ) { + whenever(buildConfigWrapper.isJetpackApp).thenReturn(isJetpackApp) whenever(siteMonitoringFeatureConfig.isEnabled()).thenReturn(isSiteMonitoringFeatureFlagEnabled) whenever(siteModel.isAdmin).thenReturn(isAdmin) whenever(siteModel.isWPComAtomic).thenReturn(isAtomic)