@@ -307,6 +307,28 @@ struct POSTabEligibilityCheckerTests {
307307 #expect( result == false )
308308 }
309309
310+ @Test func is_invisible_when_site_is_CIAB( ) async throws {
311+ // Given
312+ let featureFlagService = MockFeatureFlagService ( isPointOfSaleAsATabi2Enabled: true )
313+ setupCountry ( country: . us, currency: . USD)
314+ accountWhitelistedInBackend ( true )
315+ let ciabEligibilityChecker = MockCIABEligibilityChecker ( mockedIsCurrentSiteCIAB: true ,
316+ mockedCIABSites: [ site] ,
317+ mockedCIABDisabledFeatures: [ . pointOfSale] )
318+ let checker = POSTabEligibilityChecker ( site: site,
319+ userInterfaceIdiom: . pad,
320+ siteSettings: siteSettings,
321+ stores: stores,
322+ featureFlagService: featureFlagService,
323+ siteCIABEligibilityChecker: ciabEligibilityChecker)
324+
325+ // When
326+ let result = await checker. checkVisibility ( )
327+
328+ // Then
329+ #expect( result == false )
330+ }
331+
310332 @Test func checkVisibility_and_checkEligibility_return_expected_result_after_site_settings_available( ) async throws {
311333 // Given - no site settings are immediately available (empty stream that will emit values later)
312334 let featureFlagService = MockFeatureFlagService ( isPointOfSaleAsATabi2Enabled: true )
@@ -344,6 +366,29 @@ struct POSTabEligibilityCheckerTests {
344366 #expect( eligibilityResult == . eligible)
345367 }
346368
369+ @Test func is_ineligible_when_site_is_CIAB( ) async throws {
370+ // Given
371+ let featureFlagService = MockFeatureFlagService ( isPointOfSaleAsATabi2Enabled: true )
372+ setupCountry ( country: . us, currency: . USD)
373+ accountWhitelistedInBackend ( true )
374+ let ciabEligibilityChecker = MockCIABEligibilityChecker ( mockedIsCurrentSiteCIAB: true ,
375+ mockedCIABSites: [ site] ,
376+ mockedCIABDisabledFeatures: [ . pointOfSale] )
377+ let checker = POSTabEligibilityChecker ( site: site,
378+ userInterfaceIdiom: . pad,
379+ siteSettings: siteSettings,
380+ stores: stores,
381+ featureFlagService: featureFlagService,
382+ systemStatusService: mockSystemStatusService,
383+ siteCIABEligibilityChecker: ciabEligibilityChecker)
384+
385+ // When
386+ let result = await checker. checkEligibility ( )
387+
388+ // Then
389+ #expect( result == . ineligible( reason: . unsupportedInCIABSites) )
390+ }
391+
347392 // MARK: - `checkInitialVisibility Tests
348393
349394 @Test func checkInitialVisibility_returns_true_when_cached_tab_visibility_is_enabled( ) async throws {
0 commit comments