@@ -23,6 +23,7 @@ import com.duckduckgo.duckchat.api.DuckChatNativeSettingsNoParams
2323import com.duckduckgo.duckchat.api.DuckChatSettingsNoParams
2424import com.duckduckgo.duckchat.impl.DuckChatInternal
2525import com.duckduckgo.duckchat.impl.R
26+ import com.duckduckgo.duckchat.impl.feature.DuckChatFeature
2627import com.duckduckgo.duckchat.impl.inputscreen.ui.metrics.discovery.InputScreenDiscoveryFunnel
2728import com.duckduckgo.duckchat.impl.pixel.DuckChatPixelName
2829import 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