Skip to content

Commit 0285938

Browse files
authored
Insert CTAs into concept test experience #1 (duckduckgo#697)
* Introducing new variants and setting to 0.0 previous ones. * Fix: fragment not showing cta when application is opened * Introducing a new feature type to skip continue screen when DDG is selected as default browser * Avoid adding continue screen to onboarding pages when DDG is default browser and suppressing continue screen is active * Replace single ViewState for sealed class * Copy update introducing continuation feeling after finishing our onboarding process
1 parent 5603bad commit 0285938

File tree

10 files changed

+398
-91
lines changed

10 files changed

+398
-91
lines changed

app/src/androidTest/java/com/duckduckgo/app/onboarding/ui/OnboardingPageManagerTest.kt

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ import org.junit.Test
2929
class OnboardingPageManagerTest {
3030

3131
private lateinit var testee: OnboardingPageManager
32-
private val variantManager: VariantManager = mock()
32+
private val mockVariantManager: VariantManager = mock()
3333
private val onboardingPageBuilder: OnboardingPageBuilder = mock()
3434
private val mockDefaultBrowserDetector: DefaultBrowserDetector = mock()
3535

3636
@Before
3737
fun setup() {
38-
whenever(variantManager.getVariant()).thenReturn(Variant("test", features = emptyList(), filterBy = { true }))
39-
testee = OnboardingPageManagerWithTrackerBlocking(onboardingPageBuilder, mockDefaultBrowserDetector, variantManager)
38+
whenever(mockVariantManager.getVariant()).thenReturn(Variant("test", features = emptyList(), filterBy = { true }))
39+
testee = OnboardingPageManagerWithTrackerBlocking(onboardingPageBuilder, mockDefaultBrowserDetector, mockVariantManager)
4040
}
4141

4242
@Test
@@ -55,6 +55,17 @@ class OnboardingPageManagerTest {
5555
assertEquals(R.string.onboardingContinueFinalPage, resourceId)
5656
}
5757

58+
@Test
59+
fun whenDDGAsDefaultBrowserAndSuppressContinueScreenVariantEnabledThenSinglePageOnBoarding() {
60+
configureDeviceSupportsDefaultBrowser()
61+
givenSuppressDefaultBrowserContinueScreen()
62+
whenever(mockDefaultBrowserDetector.isDefaultBrowser()).thenReturn(true)
63+
64+
testee.buildPageBlueprints()
65+
66+
assertEquals(1, testee.pageCount())
67+
}
68+
5869
private fun configureDeviceSupportsDefaultBrowser() {
5970
whenever(mockDefaultBrowserDetector.deviceSupportsDefaultBrowserConfiguration()).thenReturn(true)
6071
}
@@ -63,4 +74,12 @@ class OnboardingPageManagerTest {
6374
whenever(mockDefaultBrowserDetector.deviceSupportsDefaultBrowserConfiguration()).thenReturn(false)
6475
}
6576

77+
private fun givenSuppressDefaultBrowserContinueScreen() {
78+
whenever(mockVariantManager.getVariant()).thenReturn(
79+
Variant("test", features = listOf(
80+
VariantManager.VariantFeature.ConceptTest,
81+
VariantManager.VariantFeature.SuppressDefaultBrowserContinueScreen
82+
), filterBy = { true })
83+
)
84+
}
6685
}

0 commit comments

Comments
 (0)