From 155437bcab09d30e2d656b469ff4256007b1b4f1 Mon Sep 17 00:00:00 2001 From: Xiaowen Lei Date: Tue, 3 May 2022 16:43:36 +0000 Subject: [PATCH] Add test that ensures setIsDreaming(true) is called by the Smartspace on Dream. Bug: 227613246 Test: atest DreamSmartspaceControllerTest Change-Id: I08d2e04fc4c5feddb8efa6c21df410697acfdd5f --- .../DreamSmartspaceControllerTest.kt | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/packages/SystemUI/tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt index 446b51d40f60e..01fb77b55f1c1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt @@ -28,6 +28,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.dreams.smartspace.DreamSmartspaceController import com.android.systemui.plugins.BcSmartspaceDataPlugin +import com.android.systemui.plugins.BcSmartspaceDataPlugin.SmartspaceView import com.android.systemui.plugins.FalsingManager import com.android.systemui.smartspace.dagger.SmartspaceViewComponent import com.android.systemui.util.concurrency.Execution @@ -39,6 +40,7 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock +import org.mockito.Spy import org.mockito.Mockito import org.mockito.Mockito.`when` import org.mockito.Mockito.verify @@ -74,8 +76,8 @@ class DreamSmartspaceControllerTest : SysuiTestCase() { @Mock private lateinit var precondition: SmartspacePrecondition - @Mock - private lateinit var smartspaceView: BcSmartspaceDataPlugin.SmartspaceView + @Spy + private var smartspaceView: SmartspaceView = TestView(context) @Mock private lateinit var listener: BcSmartspaceDataPlugin.SmartspaceTargetListener @@ -83,6 +85,8 @@ class DreamSmartspaceControllerTest : SysuiTestCase() { @Mock private lateinit var session: SmartspaceSession + private lateinit var controller: DreamSmartspaceController + @Before fun setup() { MockitoAnnotations.initMocks(this) @@ -90,6 +94,9 @@ class DreamSmartspaceControllerTest : SysuiTestCase() { .thenReturn(viewComponent) `when`(viewComponent.getView()).thenReturn(smartspaceView) `when`(smartspaceManager.createSmartspaceSession(any())).thenReturn(session) + + controller = DreamSmartspaceController(context, smartspaceManager, execution, uiExecutor, + viewComponentFactory, precondition, Optional.of(targetFilter), Optional.of(plugin)) } /** @@ -97,10 +104,6 @@ class DreamSmartspaceControllerTest : SysuiTestCase() { */ @Test fun testConnectOnListen() { - val controller = DreamSmartspaceController(context, - smartspaceManager, execution, uiExecutor, viewComponentFactory, precondition, - Optional.of(targetFilter), Optional.of(plugin)) - `when`(precondition.conditionsMet()).thenReturn(true) controller.addListener(listener) @@ -130,8 +133,7 @@ class DreamSmartspaceControllerTest : SysuiTestCase() { * A class which implements SmartspaceView and extends View. This is mocked to provide the right * object inheritance and interface implementation used in DreamSmartspaceController */ - private class TestView(context: Context?) : View(context), - BcSmartspaceDataPlugin.SmartspaceView { + private class TestView(context: Context?) : View(context), SmartspaceView { override fun registerDataProvider(plugin: BcSmartspaceDataPlugin?) {} override fun setPrimaryTextColor(color: Int) {} @@ -158,11 +160,6 @@ class DreamSmartspaceControllerTest : SysuiTestCase() { */ @Test fun testConnectOnViewCreate() { - val controller = DreamSmartspaceController(context, - smartspaceManager, execution, uiExecutor, viewComponentFactory, precondition, - Optional.of(targetFilter), - Optional.of(plugin)) - `when`(precondition.conditionsMet()).thenReturn(true) controller.buildAndConnectView(Mockito.mock(ViewGroup::class.java)) @@ -181,4 +178,16 @@ class DreamSmartspaceControllerTest : SysuiTestCase() { verify(session).close() } + + /** + * Ensures setIsDreaming(true) is called when the view is built. + */ + @Test + fun testSetIsDreamingTrueOnViewCreate() { + `when`(precondition.conditionsMet()).thenReturn(true) + + controller.buildAndConnectView(Mockito.mock(ViewGroup::class.java)) + + verify(smartspaceView).setIsDreaming(true) + } } \ No newline at end of file