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

Commit 1186336d authored by burakov's avatar burakov Committed by Danny Burakov
Browse files

Remove redundant runCurrent() in VolumeDialogVisibilityInteractorTest.

Bug: 437085586
Test: Unit test passes.
Flag: EXEMPT TEST_ONLY
Change-Id: I22af69e6ae433194bd912682db2822dd7e1c88f5
parent e5bc2710
Loading
Loading
Loading
Loading
+107 −141
Original line number Original line Diff line number Diff line
@@ -23,10 +23,11 @@ import androidx.test.filters.SmallTest
import com.android.systemui.Flags.FLAG_QS_TILE_DETAILED_VIEW
import com.android.systemui.Flags.FLAG_QS_TILE_DETAILED_VIEW
import com.android.systemui.SysuiTestCase
import com.android.systemui.SysuiTestCase
import com.android.systemui.accessibility.data.repository.accessibilityRepository
import com.android.systemui.accessibility.data.repository.accessibilityRepository
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.flags.EnableSceneContainer
import com.android.systemui.flags.EnableSceneContainer
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.testScope
import com.android.systemui.kosmos.advanceTimeBy
import com.android.systemui.kosmos.collectLastValue
import com.android.systemui.kosmos.runTest
import com.android.systemui.kosmos.useUnconfinedTestDispatcher
import com.android.systemui.kosmos.useUnconfinedTestDispatcher
import com.android.systemui.plugins.fakeVolumeDialogController
import com.android.systemui.plugins.fakeVolumeDialogController
import com.android.systemui.res.R
import com.android.systemui.res.R
@@ -38,9 +39,6 @@ import com.android.systemui.volume.dialog.shared.model.VolumeDialogVisibilityMod
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.seconds
import kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.test.advanceTimeBy
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runner.RunWith


@@ -64,16 +62,13 @@ class VolumeDialogVisibilityInteractorTest : SysuiTestCase() {


    @Test
    @Test
    fun testShowRequest_visible() =
    fun testShowRequest_visible() =
        with(kosmos) {
        kosmos.runTest {
            testScope.runTest {
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
                runCurrent()
            fakeVolumeDialogController.onShowRequested(
            fakeVolumeDialogController.onShowRequested(
                Events.SHOW_REASON_VOLUME_CHANGED,
                Events.SHOW_REASON_VOLUME_CHANGED,
                false,
                false,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
            )
            )
                runCurrent()


            assertThat(visibilityModel!!)
            assertThat(visibilityModel!!)
                .isEqualTo(
                .isEqualTo(
@@ -84,63 +79,48 @@ class VolumeDialogVisibilityInteractorTest : SysuiTestCase() {
                    )
                    )
                )
                )
        }
        }
        }


    @Test
    @Test
    fun testDismissRequest_dismissed() =
    fun testDismissRequest_dismissed() =
        with(kosmos) {
        kosmos.runTest {
            testScope.runTest {
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
                runCurrent()
            fakeVolumeDialogController.onShowRequested(
            fakeVolumeDialogController.onShowRequested(
                Events.SHOW_REASON_VOLUME_CHANGED,
                Events.SHOW_REASON_VOLUME_CHANGED,
                false,
                false,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
            )
            )
                runCurrent()


            fakeVolumeDialogController.onDismissRequested(Events.DISMISS_REASON_SCREEN_OFF)
            fakeVolumeDialogController.onDismissRequested(Events.DISMISS_REASON_SCREEN_OFF)
                runCurrent()


            assertThat(visibilityModel!!)
            assertThat(visibilityModel!!)
                    .isEqualTo(
                .isEqualTo(VolumeDialogVisibilityModel.Dismissed(Events.DISMISS_REASON_SCREEN_OFF))
                        VolumeDialogVisibilityModel.Dismissed(Events.DISMISS_REASON_SCREEN_OFF)
                    )
            }
        }
        }


    @Test
    @Test
    fun testTimeout_dismissed() =
    fun testTimeout_dismissed() =
        with(kosmos) {
        kosmos.runTest {
            testScope.runTest {
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
                runCurrent()
            fakeVolumeDialogController.onShowRequested(
            fakeVolumeDialogController.onShowRequested(
                Events.SHOW_REASON_VOLUME_CHANGED,
                Events.SHOW_REASON_VOLUME_CHANGED,
                false,
                false,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
            )
            )
                runCurrent()


            advanceTimeBy(1.days)
            advanceTimeBy(1.days)


            assertThat(visibilityModel!!)
            assertThat(visibilityModel!!)
                .isEqualTo(VolumeDialogVisibilityModel.Dismissed(Events.DISMISS_REASON_TIMEOUT))
                .isEqualTo(VolumeDialogVisibilityModel.Dismissed(Events.DISMISS_REASON_TIMEOUT))
        }
        }
        }


    @Test
    @Test
    fun testResetTimeoutInterruptsEvents() =
    fun testResetTimeoutInterruptsEvents() =
        with(kosmos) {
        kosmos.runTest {
            testScope.runTest {
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
                runCurrent()
            fakeVolumeDialogController.onShowRequested(
            fakeVolumeDialogController.onShowRequested(
                Events.SHOW_REASON_VOLUME_CHANGED,
                Events.SHOW_REASON_VOLUME_CHANGED,
                false,
                false,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
            )
            )
                runCurrent()


            advanceTimeBy(dialogTimeoutDuration / 2)
            advanceTimeBy(dialogTimeoutDuration / 2)
            underTest.resetDismissTimeout()
            underTest.resetDismissTimeout()
@@ -152,25 +132,21 @@ class VolumeDialogVisibilityInteractorTest : SysuiTestCase() {
                .isInstanceOf(VolumeDialogVisibilityModel.Visible::class.java)
                .isInstanceOf(VolumeDialogVisibilityModel.Visible::class.java)
            assertThat(fakeVolumeDialogController.hasUserActivity).isTrue()
            assertThat(fakeVolumeDialogController.hasUserActivity).isTrue()
        }
        }
        }


    @Test
    @Test
    @EnableSceneContainer
    @EnableSceneContainer
    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
    fun testShowRequest_whenQsSliderFeatureEnabledAndQsNotExpanded_dialogVisible() {
    fun testShowRequest_whenQsSliderFeatureEnabledAndQsNotExpanded_dialogVisible() {
        with(kosmos) {
        kosmos.runTest {
            testScope.runTest {
            overrideResource(R.bool.config_enableDesktopAudioTileDetailsView, true)
            overrideResource(R.bool.config_enableDesktopAudioTileDetailsView, true)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            shadeTestUtil.setQsExpansion(0f)
            shadeTestUtil.setQsExpansion(0f)
                runCurrent()


            fakeVolumeDialogController.onShowRequested(
            fakeVolumeDialogController.onShowRequested(
                Events.SHOW_REASON_VOLUME_CHANGED,
                Events.SHOW_REASON_VOLUME_CHANGED,
                false,
                false,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
            )
            )
                runCurrent()


            assertThat(visibilityModel!!)
            assertThat(visibilityModel!!)
                .isEqualTo(
                .isEqualTo(
@@ -182,51 +158,42 @@ class VolumeDialogVisibilityInteractorTest : SysuiTestCase() {
                )
                )
        }
        }
    }
    }
    }


    @Test
    @Test
    @EnableSceneContainer
    @EnableSceneContainer
    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
    fun testShowRequest_whenQsSliderFeatureEnabledAndQsExpanded_dialogInvisible() {
    fun testShowRequest_whenQsSliderFeatureEnabledAndQsExpanded_dialogInvisible() {
        with(kosmos) {
        kosmos.runTest {
            testScope.runTest {
            overrideResource(R.bool.config_enableDesktopAudioTileDetailsView, true)
            overrideResource(R.bool.config_enableDesktopAudioTileDetailsView, true)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            shadeTestUtil.setQsExpansion(1f)
            shadeTestUtil.setQsExpansion(1f)
                runCurrent()


            fakeVolumeDialogController.onShowRequested(
            fakeVolumeDialogController.onShowRequested(
                Events.SHOW_REASON_VOLUME_CHANGED,
                Events.SHOW_REASON_VOLUME_CHANGED,
                false,
                false,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
            )
            )
                runCurrent()


            assertThat(visibilityModel!!).isEqualTo(VolumeDialogVisibilityModel.Invisible)
            assertThat(visibilityModel!!).isEqualTo(VolumeDialogVisibilityModel.Invisible)
        }
        }
    }
    }
    }


    @Test
    @Test
    @EnableSceneContainer
    @EnableSceneContainer
    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
    fun testShowRequest_whenQsSliderFeatureEnabledAndQsBecomesExpanded_dialogDismissed() {
    fun testShowRequest_whenQsSliderFeatureEnabledAndQsBecomesExpanded_dialogDismissed() {
        with(kosmos) {
        kosmos.runTest {
            testScope.runTest {
            overrideResource(R.bool.config_enableDesktopAudioTileDetailsView, true)
            overrideResource(R.bool.config_enableDesktopAudioTileDetailsView, true)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            val visibilityModel by collectLastValue(underTest.dialogVisibility)
            shadeTestUtil.setQsExpansion(0f)
            shadeTestUtil.setQsExpansion(0f)
                runCurrent()


            fakeVolumeDialogController.onShowRequested(
            fakeVolumeDialogController.onShowRequested(
                Events.SHOW_REASON_VOLUME_CHANGED,
                Events.SHOW_REASON_VOLUME_CHANGED,
                false,
                false,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
                ActivityManager.LOCK_TASK_MODE_LOCKED,
            )
            )
                runCurrent()


            shadeTestUtil.setQsExpansion(1f)
            shadeTestUtil.setQsExpansion(1f)
                runCurrent()


            assertThat(visibilityModel!!)
            assertThat(visibilityModel!!)
                .isEqualTo(
                .isEqualTo(
@@ -237,4 +204,3 @@ class VolumeDialogVisibilityInteractorTest : SysuiTestCase() {
        }
        }
    }
    }
}
}
}