Adds test for existing space
This commit is contained in:
parent
fbdbfb6be2
commit
49992f682e
|
@ -16,32 +16,56 @@
|
||||||
|
|
||||||
package im.vector.app
|
package im.vector.app
|
||||||
|
|
||||||
import im.vector.app.core.di.ActiveSessionHolder
|
|
||||||
import im.vector.app.features.analytics.AnalyticsTracker
|
import im.vector.app.features.analytics.AnalyticsTracker
|
||||||
import im.vector.app.features.ui.UiStateRepository
|
import im.vector.app.features.ui.UiStateRepository
|
||||||
|
import im.vector.app.test.fakes.FakeActiveSessionHolder
|
||||||
|
import im.vector.app.test.fakes.FakeSession
|
||||||
|
import io.mockk.every
|
||||||
|
import io.mockk.justRun
|
||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
import org.amshove.kluent.shouldBe
|
import org.amshove.kluent.shouldBe
|
||||||
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
||||||
|
|
||||||
internal class AppStateHandlerTest {
|
internal class AppStateHandlerTest {
|
||||||
|
|
||||||
|
private val spaceId = "spaceId"
|
||||||
|
private val spaceSummary: RoomSummary = mockk {
|
||||||
|
every { roomId } returns spaceId
|
||||||
|
}
|
||||||
|
private val session = FakeSession.withRoomSummary(spaceSummary)
|
||||||
|
|
||||||
private val sessionDataSource: ActiveSessionDataSource = mockk()
|
private val sessionDataSource: ActiveSessionDataSource = mockk()
|
||||||
private val uiStateRepository: UiStateRepository = mockk()
|
private val uiStateRepository: UiStateRepository = mockk()
|
||||||
private val activeSessionHolder: ActiveSessionHolder = mockk()
|
private val activeSessionHolder = FakeActiveSessionHolder(session).instance
|
||||||
private val analyticsTracker: AnalyticsTracker = mockk()
|
private val analyticsTracker: AnalyticsTracker = mockk()
|
||||||
|
|
||||||
private val appStateHandlerImpl = AppStateHandlerImpl(
|
private val appStateHandler = AppStateHandlerImpl(
|
||||||
sessionDataSource,
|
sessionDataSource,
|
||||||
uiStateRepository,
|
uiStateRepository,
|
||||||
activeSessionHolder,
|
activeSessionHolder,
|
||||||
analyticsTracker,
|
analyticsTracker,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@Before
|
||||||
|
fun setup() {
|
||||||
|
justRun { uiStateRepository.storeSelectedSpace(any(), any()) }
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `given selected space is null, when getCurrentSpace, then return null`() {
|
fun `given selected space doesn't exist, when getCurrentSpace, then return null`() {
|
||||||
val currentSpace = appStateHandlerImpl.getCurrentSpace()
|
val currentSpace = appStateHandler.getCurrentSpace()
|
||||||
|
|
||||||
currentSpace shouldBe null
|
currentSpace shouldBe null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `given selected space exists, when getCurrentSpace, then return selected space`() {
|
||||||
|
appStateHandler.setCurrentSpace(spaceId, session)
|
||||||
|
|
||||||
|
val currentSpace = appStateHandler.getCurrentSpace()
|
||||||
|
|
||||||
|
currentSpace shouldBe spaceSummary
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,11 +23,14 @@ import im.vector.app.features.session.VectorSessionStore
|
||||||
import im.vector.app.test.testCoroutineDispatchers
|
import im.vector.app.test.testCoroutineDispatchers
|
||||||
import io.mockk.coEvery
|
import io.mockk.coEvery
|
||||||
import io.mockk.coJustRun
|
import io.mockk.coJustRun
|
||||||
|
import io.mockk.every
|
||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
import io.mockk.mockkStatic
|
import io.mockk.mockkStatic
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
|
import org.matrix.android.sdk.api.session.getRoomSummary
|
||||||
import org.matrix.android.sdk.api.session.homeserver.HomeServerCapabilitiesService
|
import org.matrix.android.sdk.api.session.homeserver.HomeServerCapabilitiesService
|
||||||
import org.matrix.android.sdk.api.session.profile.ProfileService
|
import org.matrix.android.sdk.api.session.profile.ProfileService
|
||||||
|
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
||||||
|
|
||||||
class FakeSession(
|
class FakeSession(
|
||||||
val fakeCryptoService: FakeCryptoService = FakeCryptoService(),
|
val fakeCryptoService: FakeCryptoService = FakeCryptoService(),
|
||||||
|
@ -65,4 +68,11 @@ class FakeSession(
|
||||||
this@FakeSession.startSyncing(any())
|
this@FakeSession.startSyncing(any())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun withRoomSummary(roomSummary: RoomSummary) = FakeSession().apply {
|
||||||
|
every { getRoomSummary(any()) } returns roomSummary
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue