Skip to content

Commit d3fd31a

Browse files
committed
Fix tests
1 parent 7e394a0 commit d3fd31a

File tree

17 files changed

+97
-76
lines changed

17 files changed

+97
-76
lines changed

app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ import com.duckduckgo.savedsites.impl.dialogs.EditSavedSiteDialogFragment.Delete
352352
import com.duckduckgo.savedsites.impl.dialogs.EditSavedSiteDialogFragment.EditSavedSiteListener
353353
import com.duckduckgo.serp.logos.api.SerpEasterEggLogosToggles
354354
import com.duckduckgo.serp.logos.api.SerpLogo
355-
import com.duckduckgo.settings.api.SettingsPageFeature
355+
import com.duckduckgo.settings.api.SerpSettingsFeature
356356
import com.duckduckgo.site.permissions.api.SitePermissionsManager
357357
import com.duckduckgo.site.permissions.api.SitePermissionsManager.LocationPermissionRequest
358358
import com.duckduckgo.site.permissions.api.SitePermissionsManager.SitePermissionQueryResponse
@@ -495,7 +495,7 @@ class BrowserTabViewModel @Inject constructor(
495495
private val autoconsentPixelManager: AutoconsentPixelManager,
496496
private val omnibarRepository: OmnibarRepository,
497497
private val contentScopeScriptsSubscriptionEventPluginPoint: PluginPoint<ContentScopeScriptsSubscriptionEventPlugin>,
498-
private val settingsPageFeature: SettingsPageFeature,
498+
private val serpSettingsFeature: SerpSettingsFeature,
499499
) : ViewModel(),
500500
WebViewClientListener,
501501
EditSavedSiteListener,
@@ -943,7 +943,7 @@ class BrowserTabViewModel @Inject constructor(
943943
command.value = Command.RefreshOmnibar
944944
}
945945

946-
if (settingsPageFeature.serpSettingsSync().isEnabled()) {
946+
if (serpSettingsFeature.storeSerpSettings().isEnabled()) {
947947
viewModelScope.launch {
948948
contentScopeScriptsSubscriptionEventPluginPoint.getPlugins().forEach { plugin ->
949949
_subscriptionEventDataChannel.send(plugin.getSubscriptionEventData())

app/src/main/java/com/duckduckgo/app/browser/DuckDuckGoRequestRewriter.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import com.duckduckgo.common.utils.AppUrl.ParamKey
2424
import com.duckduckgo.common.utils.AppUrl.ParamValue
2525
import com.duckduckgo.duckchat.api.DuckChat
2626
import com.duckduckgo.experiments.api.VariantManager
27-
import com.duckduckgo.settings.api.SettingsPageFeature
27+
import com.duckduckgo.settings.api.SerpSettingsFeature
2828
import logcat.logcat
2929

3030
interface RequestRewriter {
@@ -40,7 +40,7 @@ class DuckDuckGoRequestRewriter(
4040
private val appReferrerDataStore: AppReferrerDataStore,
4141
private val duckChat: DuckChat,
4242
private val androidConfigFeatures: AndroidBrowserConfigFeature,
43-
private val settingsPageFeature: SettingsPageFeature,
43+
private val serpSettingsFeature: SerpSettingsFeature,
4444
) : RequestRewriter {
4545

4646
private val hideDuckAiSerpKillSwitch by lazy { androidConfigFeatures.hideDuckAiInSerpKillSwitch().isEnabled() }
@@ -82,7 +82,7 @@ class DuckDuckGoRequestRewriter(
8282
val sourceValue = if (appReferrerDataStore.installedFromEuAuction) ParamValue.SOURCE_EU_AUCTION else ParamValue.SOURCE
8383

8484
builder.appendQueryParameter(ParamKey.HIDE_SERP, ParamValue.HIDE_SERP)
85-
if (!settingsPageFeature.serpSettingsSync().isEnabled()) {
85+
if (!serpSettingsFeature.storeSerpSettings().isEnabled()) {
8686
// Once serpSettingsSync feature is permanently enabled this can be removed.
8787
if (!duckChat.isEnabled() && hideDuckAiSerpKillSwitch) {
8888
builder.appendQueryParameter(ParamKey.HIDE_DUCK_AI, ParamValue.HIDE_DUCK_AI)

app/src/main/java/com/duckduckgo/app/browser/di/BrowserModule.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ import com.duckduckgo.privacy.config.api.AmpLinks
9393
import com.duckduckgo.privacy.config.api.Gpc
9494
import com.duckduckgo.privacy.config.api.TrackingParameters
9595
import com.duckduckgo.request.filterer.api.RequestFilterer
96-
import com.duckduckgo.settings.api.SettingsPageFeature
96+
import com.duckduckgo.settings.api.SerpSettingsFeature
9797
import com.duckduckgo.subscriptions.api.Subscriptions
9898
import com.duckduckgo.user.agent.api.UserAgentProvider
9999
import dagger.Module
@@ -115,7 +115,7 @@ class BrowserModule {
115115
appReferrerDataStore: AppReferrerDataStore,
116116
duckChat: DuckChat,
117117
androidBrowserConfigFeature: AndroidBrowserConfigFeature,
118-
settingsPageFeature: SettingsPageFeature,
118+
serpSettingsFeature: SerpSettingsFeature,
119119
): RequestRewriter {
120120
return DuckDuckGoRequestRewriter(
121121
urlDetector,
@@ -124,7 +124,7 @@ class BrowserModule {
124124
appReferrerDataStore,
125125
duckChat,
126126
androidBrowserConfigFeature,
127-
settingsPageFeature,
127+
serpSettingsFeature,
128128
)
129129
}
130130

app/src/test/java/com/duckduckgo/app/browser/DuckDuckGoRequestRewriterTest.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ import com.duckduckgo.duckchat.api.DuckChat
3030
import com.duckduckgo.experiments.api.VariantManager
3131
import com.duckduckgo.feature.toggles.api.FakeFeatureToggleFactory
3232
import com.duckduckgo.feature.toggles.api.Toggle.State
33-
import com.duckduckgo.settings.api.SettingsPageFeature
34-
import org.junit.Assert.*
33+
import com.duckduckgo.settings.api.SerpSettingsFeature
34+
import org.junit.Assert.assertEquals
35+
import org.junit.Assert.assertFalse
36+
import org.junit.Assert.assertTrue
3537
import org.junit.Before
3638
import org.junit.Test
3739
import org.junit.runner.RunWith
@@ -47,7 +49,7 @@ class DuckDuckGoRequestRewriterTest {
4749
private val mockVariantManager: VariantManager = mock()
4850
private val mockAppReferrerDataStore: AppReferrerDataStore = mock()
4951
private val duckChat: DuckChat = mock()
50-
private val settingsPageFeature: SettingsPageFeature = FakeFeatureToggleFactory.create(SettingsPageFeature::class.java)
52+
private val serpSettingsFeature: SerpSettingsFeature = FakeFeatureToggleFactory.create(SerpSettingsFeature::class.java)
5153
private val androidBrowserConfigFeature: AndroidBrowserConfigFeature = FakeFeatureToggleFactory.create(AndroidBrowserConfigFeature::class.java)
5254
private lateinit var builder: Uri.Builder
5355

@@ -66,7 +68,7 @@ class DuckDuckGoRequestRewriterTest {
6668
mockAppReferrerDataStore,
6769
duckChat,
6870
androidBrowserConfigFeature,
69-
settingsPageFeature,
71+
serpSettingsFeature,
7072
)
7173
builder = Uri.Builder()
7274
}
@@ -157,7 +159,7 @@ class DuckDuckGoRequestRewriterTest {
157159

158160
@Test
159161
fun whenSerpSettingsSyncIsEnabledThenDoNotHideDuckAi() {
160-
settingsPageFeature.serpSettingsSync().setRawStoredState(State(true))
162+
serpSettingsFeature.storeSerpSettings().setRawStoredState(State(true))
161163
whenever(duckChat.isEnabled()).thenReturn(false)
162164
androidBrowserConfigFeature.hideDuckAiInSerpKillSwitch().setRawStoredState(State(true))
163165

app/src/test/java/com/duckduckgo/app/browser/QueryUrlConverterTest.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,11 @@ import com.duckduckgo.duckchat.api.DuckChat
2828
import com.duckduckgo.experiments.api.VariantManager
2929
import com.duckduckgo.feature.toggles.api.FakeFeatureToggleFactory
3030
import com.duckduckgo.feature.toggles.api.Toggle.State
31-
import com.duckduckgo.settings.api.SettingsPageFeature
32-
import org.junit.Assert.*
31+
import com.duckduckgo.settings.api.SerpSettingsFeature
32+
import org.junit.Assert.assertEquals
33+
import org.junit.Assert.assertFalse
34+
import org.junit.Assert.assertNotNull
35+
import org.junit.Assert.assertTrue
3336
import org.junit.Before
3437
import org.junit.Test
3538
import org.junit.runner.RunWith
@@ -44,7 +47,7 @@ class QueryUrlConverterTest {
4447
private val mockAppReferrerDataStore: AppReferrerDataStore = mock()
4548
private val duckChat: DuckChat = mock()
4649
private val androidBrowserConfigFeature: AndroidBrowserConfigFeature = FakeFeatureToggleFactory.create(AndroidBrowserConfigFeature::class.java)
47-
private val settingsPageFeature: SettingsPageFeature = FakeFeatureToggleFactory.create(SettingsPageFeature::class.java)
50+
private val serpSettingsFeature: SerpSettingsFeature = FakeFeatureToggleFactory.create(SerpSettingsFeature::class.java)
4851
private val requestRewriter =
4952
DuckDuckGoRequestRewriter(
5053
DuckDuckGoUrlDetectorImpl(),
@@ -53,7 +56,7 @@ class QueryUrlConverterTest {
5356
mockAppReferrerDataStore,
5457
duckChat,
5558
androidBrowserConfigFeature,
56-
settingsPageFeature,
59+
serpSettingsFeature,
5760
)
5861
private val testee: QueryUrlConverter = QueryUrlConverter(requestRewriter)
5962

duckchat/duckchat-impl/src/main/java/com/duckduckgo/duckchat/impl/messaging/IsNativeDuckAiEnabledHandler.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import com.duckduckgo.js.messaging.api.JsMessage
2727
import com.duckduckgo.js.messaging.api.JsMessageCallback
2828
import com.duckduckgo.js.messaging.api.JsMessageHandler
2929
import com.duckduckgo.js.messaging.api.JsMessaging
30-
import com.duckduckgo.settings.api.SettingsPageFeature
30+
import com.duckduckgo.settings.api.SerpSettingsFeature
3131
import com.squareup.anvil.annotations.ContributesMultibinding
3232
import kotlinx.coroutines.CoroutineScope
3333
import kotlinx.coroutines.launch
@@ -45,7 +45,7 @@ import javax.inject.Inject
4545
class IsNativeDuckAiEnabledHandler @Inject constructor(
4646
private val dispatcherProvider: DispatcherProvider,
4747
@AppCoroutineScope private val appScope: CoroutineScope,
48-
private val settingsPageFeature: SettingsPageFeature,
48+
private val serpSettingsFeature: SerpSettingsFeature,
4949
private val duckChat: DuckChat,
5050
) : ContentScopeJsMessageHandlersPlugin {
5151

@@ -57,7 +57,7 @@ class IsNativeDuckAiEnabledHandler @Inject constructor(
5757
jsMessageCallback: JsMessageCallback?,
5858
) {
5959
appScope.launch(dispatcherProvider.main()) {
60-
if (settingsPageFeature.serpSettingsSync().isEnabled()) {
60+
if (serpSettingsFeature.storeSerpSettings().isEnabled()) {
6161
logcat { "SERP-SETTINGS: IsNativeDuckAiEnabledHandler processing message" }
6262
val response = JSONObject().apply {
6363
put("enabled", duckChat.isEnabled())

duckchat/duckchat-impl/src/test/kotlin/com/duckduckgo/duckchat/impl/messaging/IsNativeDuckAiEnabledHandlerTest.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import com.duckduckgo.duckchat.impl.messaging.fakes.FakeJsMessaging
2323
import com.duckduckgo.feature.toggles.api.FakeFeatureToggleFactory
2424
import com.duckduckgo.feature.toggles.api.Toggle
2525
import com.duckduckgo.js.messaging.api.JsMessage
26-
import com.duckduckgo.settings.api.SettingsPageFeature
26+
import com.duckduckgo.settings.api.SerpSettingsFeature
2727
import kotlinx.coroutines.test.runTest
2828
import org.json.JSONObject
2929
import org.junit.Assert.assertEquals
@@ -39,15 +39,15 @@ class IsNativeDuckAiEnabledHandlerTest {
3939
val coroutineTestRule: CoroutineTestRule = CoroutineTestRule()
4040

4141
private val fakeDuckChat = FakeDuckChat(enabled = true)
42-
private val settingsPageFeature = FakeFeatureToggleFactory.create(SettingsPageFeature::class.java)
42+
private val serpSettingsFeature = FakeFeatureToggleFactory.create(SerpSettingsFeature::class.java)
4343
private lateinit var handler: IsNativeDuckAiEnabledHandler
4444

4545
@Before
4646
fun setUp() {
4747
handler = IsNativeDuckAiEnabledHandler(
4848
dispatcherProvider = coroutineTestRule.testDispatcherProvider,
4949
appScope = coroutineTestRule.testScope,
50-
settingsPageFeature = settingsPageFeature,
50+
serpSettingsFeature = serpSettingsFeature,
5151
duckChat = fakeDuckChat,
5252
)
5353
}
@@ -74,7 +74,7 @@ class IsNativeDuckAiEnabledHandlerTest {
7474
@Test
7575
fun `when id is null then no response is sent`() = runTest {
7676
@Suppress("DenyListedApi")
77-
settingsPageFeature.serpSettingsSync().setRawStoredState(Toggle.State(enable = true))
77+
serpSettingsFeature.storeSerpSettings().setRawStoredState(Toggle.State(enable = true))
7878
fakeDuckChat.setEnabled(true)
7979

8080
val fakeJsMessaging = FakeJsMessaging()
@@ -96,7 +96,7 @@ class IsNativeDuckAiEnabledHandlerTest {
9696
@Test
9797
fun `when id is not null then response is sent`() = runTest {
9898
@Suppress("DenyListedApi")
99-
settingsPageFeature.serpSettingsSync().setRawStoredState(Toggle.State(enable = true))
99+
serpSettingsFeature.storeSerpSettings().setRawStoredState(Toggle.State(enable = true))
100100
fakeDuckChat.setEnabled(true)
101101

102102
val fakeJsMessaging = FakeJsMessaging()

duckchat/duckchat-impl/src/test/kotlin/com/duckduckgo/duckchat/impl/ui/settings/DuckChatSettingsViewModelTest.kt

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import com.duckduckgo.duckchat.api.DuckChatNativeSettingsNoParams
2323
import com.duckduckgo.duckchat.api.DuckChatSettingsNoParams
2424
import com.duckduckgo.duckchat.impl.DuckChatInternal
2525
import com.duckduckgo.duckchat.impl.R
26+
import com.duckduckgo.duckchat.impl.feature.DuckChatFeature
2627
import com.duckduckgo.duckchat.impl.inputscreen.ui.metrics.discovery.InputScreenDiscoveryFunnel
2728
import com.duckduckgo.duckchat.impl.pixel.DuckChatPixelName
2829
import com.duckduckgo.duckchat.impl.ui.settings.DuckChatSettingsViewModel.Command.LaunchFeedback
@@ -55,6 +56,7 @@ class DuckChatSettingsViewModelTest {
5556
private val mockPixel: Pixel = mock()
5657
private val mockInputScreenDiscoveryFunnel: InputScreenDiscoveryFunnel = mock()
5758
private val settingsPageFeature = FakeFeatureToggleFactory.create(SettingsPageFeature::class.java)
59+
private val duckChatFeature = FakeFeatureToggleFactory.create(DuckChatFeature::class.java)
5860

5961
@Before
6062
fun setUp() =
@@ -74,6 +76,7 @@ class DuckChatSettingsViewModelTest {
7476
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
7577
settingsPageFeature = settingsPageFeature,
7678
dispatcherProvider = coroutineRule.testDispatcherProvider,
79+
duckChatFeature = duckChatFeature,
7780
)
7881
}
7982

@@ -158,6 +161,7 @@ class DuckChatSettingsViewModelTest {
158161
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
159162
settingsPageFeature = settingsPageFeature,
160163
dispatcherProvider = coroutineRule.testDispatcherProvider,
164+
duckChatFeature = duckChatFeature,
161165
)
162166

163167
testee.viewState.test {
@@ -176,6 +180,7 @@ class DuckChatSettingsViewModelTest {
176180
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
177181
settingsPageFeature = settingsPageFeature,
178182
dispatcherProvider = coroutineRule.testDispatcherProvider,
183+
duckChatFeature = duckChatFeature,
179184
)
180185

181186
testee.viewState.test {
@@ -195,6 +200,7 @@ class DuckChatSettingsViewModelTest {
195200
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
196201
settingsPageFeature = settingsPageFeature,
197202
dispatcherProvider = coroutineRule.testDispatcherProvider,
203+
duckChatFeature = duckChatFeature,
198204
)
199205

200206
testee.viewState.test {
@@ -215,6 +221,7 @@ class DuckChatSettingsViewModelTest {
215221
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
216222
settingsPageFeature = settingsPageFeature,
217223
dispatcherProvider = coroutineRule.testDispatcherProvider,
224+
duckChatFeature = duckChatFeature,
218225
)
219226

220227
testee.viewState.test {
@@ -235,6 +242,7 @@ class DuckChatSettingsViewModelTest {
235242
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
236243
settingsPageFeature = settingsPageFeature,
237244
dispatcherProvider = coroutineRule.testDispatcherProvider,
245+
duckChatFeature = duckChatFeature,
238246
)
239247

240248
testee.viewState.test {
@@ -290,7 +298,7 @@ class DuckChatSettingsViewModelTest {
290298
@Suppress("DenyListedApi")
291299
settingsPageFeature.embeddedSettingsWebView().setRawStoredState(State(enable = true))
292300
@Suppress("DenyListedApi")
293-
settingsPageFeature.hideAiGeneratedImagesOption().setRawStoredState(State(enable = false))
301+
duckChatFeature.showHideAiGeneratedImages().setRawStoredState(State(enable = false))
294302

295303
testee.duckChatSearchAISettingsClicked()
296304

@@ -313,7 +321,7 @@ class DuckChatSettingsViewModelTest {
313321
@Suppress("DenyListedApi")
314322
settingsPageFeature.embeddedSettingsWebView().setRawStoredState(State(enable = true))
315323
@Suppress("DenyListedApi")
316-
settingsPageFeature.hideAiGeneratedImagesOption().setRawStoredState(State(enable = true))
324+
duckChatFeature.showHideAiGeneratedImages().setRawStoredState(State(enable = true))
317325

318326
testee = DuckChatSettingsViewModel(
319327
duckChatActivityParams = DuckChatSettingsNoParams,
@@ -322,6 +330,7 @@ class DuckChatSettingsViewModelTest {
322330
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
323331
settingsPageFeature = settingsPageFeature,
324332
dispatcherProvider = coroutineRule.testDispatcherProvider,
333+
duckChatFeature = duckChatFeature,
325334
)
326335

327336
testee.duckChatSearchAISettingsClicked()
@@ -423,14 +432,15 @@ class DuckChatSettingsViewModelTest {
423432
fun `when hideAiGeneratedImagesOption is enabled then viewState shows option visible`() =
424433
runTest {
425434
@Suppress("DenyListedApi")
426-
settingsPageFeature.hideAiGeneratedImagesOption().setRawStoredState(State(enable = true))
435+
duckChatFeature.showHideAiGeneratedImages().setRawStoredState(State(enable = true))
427436
testee = DuckChatSettingsViewModel(
428437
duckChatActivityParams = DuckChatSettingsNoParams,
429438
duckChat = duckChat,
430439
pixel = mockPixel,
431440
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
432441
settingsPageFeature = settingsPageFeature,
433442
dispatcherProvider = coroutineRule.testDispatcherProvider,
443+
duckChatFeature = duckChatFeature,
434444
)
435445

436446
testee.viewState.test {
@@ -443,14 +453,15 @@ class DuckChatSettingsViewModelTest {
443453
fun `when hideAiGeneratedImagesOption is disabled then viewState shows option not visible`() =
444454
runTest {
445455
@Suppress("DenyListedApi")
446-
settingsPageFeature.hideAiGeneratedImagesOption().setRawStoredState(State(enable = false))
456+
duckChatFeature.showHideAiGeneratedImages().setRawStoredState(State(enable = false))
447457
testee = DuckChatSettingsViewModel(
448458
duckChatActivityParams = DuckChatSettingsNoParams,
449459
duckChat = duckChat,
450460
pixel = mockPixel,
451461
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
452462
settingsPageFeature = settingsPageFeature,
453463
dispatcherProvider = coroutineRule.testDispatcherProvider,
464+
duckChatFeature = duckChatFeature,
454465
)
455466

456467
testee.viewState.test {
@@ -469,6 +480,7 @@ class DuckChatSettingsViewModelTest {
469480
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
470481
settingsPageFeature = settingsPageFeature,
471482
dispatcherProvider = coroutineRule.testDispatcherProvider,
483+
duckChatFeature = duckChatFeature,
472484
)
473485

474486
testee.viewState.test {
@@ -487,6 +499,7 @@ class DuckChatSettingsViewModelTest {
487499
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
488500
settingsPageFeature = settingsPageFeature,
489501
dispatcherProvider = coroutineRule.testDispatcherProvider,
502+
duckChatFeature = duckChatFeature,
490503
)
491504

492505
testee.viewState.test {
@@ -520,6 +533,7 @@ class DuckChatSettingsViewModelTest {
520533
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
521534
settingsPageFeature = settingsPageFeature,
522535
dispatcherProvider = coroutineRule.testDispatcherProvider,
536+
duckChatFeature = duckChatFeature,
523537
)
524538

525539
testee.viewState.test {
@@ -539,6 +553,7 @@ class DuckChatSettingsViewModelTest {
539553
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
540554
settingsPageFeature = settingsPageFeature,
541555
dispatcherProvider = coroutineRule.testDispatcherProvider,
556+
duckChatFeature = duckChatFeature,
542557
)
543558

544559
testee.viewState.test {
@@ -558,6 +573,7 @@ class DuckChatSettingsViewModelTest {
558573
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
559574
settingsPageFeature = settingsPageFeature,
560575
dispatcherProvider = coroutineRule.testDispatcherProvider,
576+
duckChatFeature = duckChatFeature,
561577
)
562578

563579
testee.viewState.test {
@@ -577,6 +593,7 @@ class DuckChatSettingsViewModelTest {
577593
inputScreenDiscoveryFunnel = mockInputScreenDiscoveryFunnel,
578594
settingsPageFeature = settingsPageFeature,
579595
dispatcherProvider = coroutineRule.testDispatcherProvider,
596+
duckChatFeature = duckChatFeature,
580597
)
581598

582599
testee.viewState.test {

0 commit comments

Comments
 (0)