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

Commit 2964de1d authored by Alejandro Nijamkin's avatar Alejandro Nijamkin
Browse files

Fixes failing test after coroutine lib upgrade.

The changed test case started failing after the coroutines library has
been upgraded; not sure why.

This fixes it by adding an additional runCurrent() right after
collectLastValue is called. This gives an opportunity for the upstream
conflatedCallbackFlow to do its work and register its callback.

When the value is queried in the assertion line, collectLastValue runs
its own runCurrent() to trigger any pending coroutines, updating the
value that the test sees.

Bug: 292807808
Test: N/A
Change-Id: If42e96e9ae29ae6e0585f6c2b567cca7b15d581e
parent cd267675
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
@@ -51,6 +52,7 @@ class RetailModeSettingsRepositoryTest : SysuiTestCase() {
    fun retailMode_defaultFalse() =
        testScope.runTest {
            val value by collectLastValue(underTest.retailMode)
            runCurrent()

            assertThat(value).isFalse()
            assertThat(underTest.inRetailMode).isFalse()
@@ -60,6 +62,7 @@ class RetailModeSettingsRepositoryTest : SysuiTestCase() {
    fun retailMode_false() =
        testScope.runTest {
            val value by collectLastValue(underTest.retailMode)
            runCurrent()

            globalSettings.putInt(SETTING, 0)

@@ -71,6 +74,7 @@ class RetailModeSettingsRepositoryTest : SysuiTestCase() {
    fun retailMode_true() =
        testScope.runTest {
            val value by collectLastValue(underTest.retailMode)
            runCurrent()

            globalSettings.putInt(SETTING, 1)