@@ -3,6 +3,8 @@ package com.woocommerce.android.ui.payments.taptopay
33import com.woocommerce.android.cardreader.config.CardReaderConfigForCanada
44import com.woocommerce.android.cardreader.config.CardReaderConfigForUSA
55import com.woocommerce.android.cardreader.config.CardReaderConfigForUnsupportedCountry
6+ import com.woocommerce.android.ciab.CIABAffectedFeature
7+ import com.woocommerce.android.ciab.CIABSiteGateKeeper
68import com.woocommerce.android.tools.SelectedSite
79import com.woocommerce.android.ui.payments.cardreader.CardReaderCountryConfigProvider
810import com.woocommerce.android.util.DeviceFeatures
@@ -30,15 +32,18 @@ class TapToPayAvailabilityStatusTest {
3032 private val wooStore: WooCommerceStore = mock {
3133 on { getStoreCountryCode(siteModel) }.thenReturn(" US" )
3234 }
33-
3435 private val deviceFeatures = mock<DeviceFeatures >()
36+ private val ciabSiteGateKeeper: CIABSiteGateKeeper = mock {
37+ on { isFeatureUnsupported(CIABAffectedFeature .WooPayments ) }.thenReturn(false )
38+ }
3539
3640 private val availabilityStatus = TapToPayAvailabilityStatus (
37- selectedSite,
38- deviceFeatures,
39- systemVersionUtilsWrapper,
40- cardReaderCountryConfigProvider,
41- wooStore,
41+ selectedSite = selectedSite,
42+ deviceFeatures = deviceFeatures,
43+ systemVersionUtilsWrapper = systemVersionUtilsWrapper,
44+ cardReaderCountryConfigProvider = cardReaderCountryConfigProvider,
45+ wooStore = wooStore,
46+ ciabSiteGateKeeper = ciabSiteGateKeeper
4247 )
4348
4449 @Test
@@ -96,4 +101,16 @@ class TapToPayAvailabilityStatusTest {
96101
97102 assertThat(result).isEqualTo(TapToPayAvailabilityStatus .Result .Available )
98103 }
104+
105+ @Test
106+ fun `given CIAB blocks WooPayments, when invoking, then tpp hidden returned` () {
107+ whenever(deviceFeatures.isNFCAvailable()).thenReturn(true )
108+ whenever(deviceFeatures.isGooglePlayServicesAvailable()).thenReturn(true )
109+ whenever(systemVersionUtilsWrapper.isAtLeastR()).thenReturn(true )
110+ whenever(ciabSiteGateKeeper.isFeatureUnsupported(CIABAffectedFeature .WooPayments )).thenReturn(true )
111+
112+ val result = availabilityStatus.invoke()
113+
114+ assertThat(result).isEqualTo(TapToPayAvailabilityStatus .Result .Hidden )
115+ }
99116}
0 commit comments