Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 155437bc authored by Xiaowen Lei's avatar Xiaowen Lei
Browse files

Add test that ensures setIsDreaming(true) is called by the Smartspace on Dream.

Bug: 227613246
Test: atest DreamSmartspaceControllerTest
Change-Id: I08d2e04fc4c5feddb8efa6c21df410697acfdd5f
parent 2ed12e6f
Loading
Loading
Loading
Loading
+22 −13
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.SysuiTestCase
import com.android.systemui.dreams.smartspace.DreamSmartspaceController
import com.android.systemui.dreams.smartspace.DreamSmartspaceController
import com.android.systemui.plugins.BcSmartspaceDataPlugin
import com.android.systemui.plugins.BcSmartspaceDataPlugin
import com.android.systemui.plugins.BcSmartspaceDataPlugin.SmartspaceView
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.smartspace.dagger.SmartspaceViewComponent
import com.android.systemui.smartspace.dagger.SmartspaceViewComponent
import com.android.systemui.util.concurrency.Execution
import com.android.systemui.util.concurrency.Execution
@@ -39,6 +40,7 @@ import org.junit.Before
import org.junit.Test
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mock
import org.mockito.Spy
import org.mockito.Mockito
import org.mockito.Mockito
import org.mockito.Mockito.`when`
import org.mockito.Mockito.`when`
import org.mockito.Mockito.verify
import org.mockito.Mockito.verify
@@ -74,8 +76,8 @@ class DreamSmartspaceControllerTest : SysuiTestCase() {
    @Mock
    @Mock
    private lateinit var precondition: SmartspacePrecondition
    private lateinit var precondition: SmartspacePrecondition


    @Mock
    @Spy
    private lateinit var smartspaceView: BcSmartspaceDataPlugin.SmartspaceView
    private var smartspaceView: SmartspaceView = TestView(context)


    @Mock
    @Mock
    private lateinit var listener: BcSmartspaceDataPlugin.SmartspaceTargetListener
    private lateinit var listener: BcSmartspaceDataPlugin.SmartspaceTargetListener
@@ -83,6 +85,8 @@ class DreamSmartspaceControllerTest : SysuiTestCase() {
    @Mock
    @Mock
    private lateinit var session: SmartspaceSession
    private lateinit var session: SmartspaceSession


    private lateinit var controller: DreamSmartspaceController

    @Before
    @Before
    fun setup() {
    fun setup() {
        MockitoAnnotations.initMocks(this)
        MockitoAnnotations.initMocks(this)
@@ -90,6 +94,9 @@ class DreamSmartspaceControllerTest : SysuiTestCase() {
                .thenReturn(viewComponent)
                .thenReturn(viewComponent)
        `when`(viewComponent.getView()).thenReturn(smartspaceView)
        `when`(viewComponent.getView()).thenReturn(smartspaceView)
        `when`(smartspaceManager.createSmartspaceSession(any())).thenReturn(session)
        `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
    @Test
    fun testConnectOnListen() {
    fun testConnectOnListen() {
        val controller = DreamSmartspaceController(context,
        smartspaceManager, execution, uiExecutor, viewComponentFactory, precondition,
                Optional.of(targetFilter), Optional.of(plugin))

        `when`(precondition.conditionsMet()).thenReturn(true)
        `when`(precondition.conditionsMet()).thenReturn(true)
        controller.addListener(listener)
        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
     * A class which implements SmartspaceView and extends View. This is mocked to provide the right
     * object inheritance and interface implementation used in DreamSmartspaceController
     * object inheritance and interface implementation used in DreamSmartspaceController
     */
     */
    private class TestView(context: Context?) : View(context),
    private class TestView(context: Context?) : View(context), SmartspaceView {
            BcSmartspaceDataPlugin.SmartspaceView {
        override fun registerDataProvider(plugin: BcSmartspaceDataPlugin?) {}
        override fun registerDataProvider(plugin: BcSmartspaceDataPlugin?) {}


        override fun setPrimaryTextColor(color: Int) {}
        override fun setPrimaryTextColor(color: Int) {}
@@ -158,11 +160,6 @@ class DreamSmartspaceControllerTest : SysuiTestCase() {
     */
     */
    @Test
    @Test
    fun testConnectOnViewCreate() {
    fun testConnectOnViewCreate() {
        val controller = DreamSmartspaceController(context,
                smartspaceManager, execution, uiExecutor, viewComponentFactory, precondition,
                Optional.of(targetFilter),
                Optional.of(plugin))

        `when`(precondition.conditionsMet()).thenReturn(true)
        `when`(precondition.conditionsMet()).thenReturn(true)
        controller.buildAndConnectView(Mockito.mock(ViewGroup::class.java))
        controller.buildAndConnectView(Mockito.mock(ViewGroup::class.java))


@@ -181,4 +178,16 @@ class DreamSmartspaceControllerTest : SysuiTestCase() {


        verify(session).close()
        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