mirror of
https://github.com/ouchadam/small-talk.git
synced 2025-02-16 12:10:45 +01:00
porting directory tests to engine
This commit is contained in:
parent
8f1d8cdcc1
commit
d491bb844a
@ -9,4 +9,5 @@ dependencies {
|
|||||||
|
|
||||||
kotlinFixtures(it)
|
kotlinFixtures(it)
|
||||||
testFixturesImplementation(testFixtures(project(":matrix:common")))
|
testFixturesImplementation(testFixtures(project(":matrix:common")))
|
||||||
|
testFixturesImplementation(testFixtures(project(":core")))
|
||||||
}
|
}
|
15
chat-engine/src/testFixtures/kotlin/fake/FakeChatEngine.kt
Normal file
15
chat-engine/src/testFixtures/kotlin/fake/FakeChatEngine.kt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package fake
|
||||||
|
|
||||||
|
import app.dapk.st.engine.ChatEngine
|
||||||
|
import app.dapk.st.matrix.common.RoomId
|
||||||
|
import io.mockk.every
|
||||||
|
import io.mockk.mockk
|
||||||
|
import test.delegateReturn
|
||||||
|
|
||||||
|
class FakeChatEngine : ChatEngine by mockk() {
|
||||||
|
|
||||||
|
fun givenMessages(roomId: RoomId, disableReadReceipts: Boolean) = every { messages(roomId, disableReadReceipts) }.delegateReturn()
|
||||||
|
|
||||||
|
fun givenDirectory() = every { directory() }.delegateReturn()
|
||||||
|
|
||||||
|
}
|
@ -11,11 +11,10 @@ dependencies {
|
|||||||
|
|
||||||
kotlinTest(it)
|
kotlinTest(it)
|
||||||
|
|
||||||
androidImportFixturesWorkaround(project, project(":matrix:services:sync"))
|
|
||||||
androidImportFixturesWorkaround(project, project(":matrix:services:message"))
|
|
||||||
androidImportFixturesWorkaround(project, project(":matrix:common"))
|
androidImportFixturesWorkaround(project, project(":matrix:common"))
|
||||||
androidImportFixturesWorkaround(project, project(":core"))
|
androidImportFixturesWorkaround(project, project(":core"))
|
||||||
androidImportFixturesWorkaround(project, project(":domains:store"))
|
androidImportFixturesWorkaround(project, project(":domains:store"))
|
||||||
androidImportFixturesWorkaround(project, project(":domains:android:viewmodel"))
|
androidImportFixturesWorkaround(project, project(":domains:android:viewmodel"))
|
||||||
androidImportFixturesWorkaround(project, project(":domains:android:stub"))
|
androidImportFixturesWorkaround(project, project(":domains:android:stub"))
|
||||||
|
androidImportFixturesWorkaround(project, project(":chat-engine"))
|
||||||
}
|
}
|
@ -1,25 +1,26 @@
|
|||||||
package app.dapk.st.directory
|
package app.dapk.st.directory
|
||||||
|
|
||||||
import ViewModelTest
|
import ViewModelTest
|
||||||
|
import app.dapk.st.engine.DirectoryItem
|
||||||
|
import app.dapk.st.engine.UnreadCount
|
||||||
|
import fake.FakeChatEngine
|
||||||
import fixture.aRoomOverview
|
import fixture.aRoomOverview
|
||||||
import io.mockk.every
|
|
||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
import kotlinx.coroutines.flow.flowOf
|
import kotlinx.coroutines.flow.flowOf
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import test.delegateReturn
|
|
||||||
|
|
||||||
private val AN_OVERVIEW = aRoomOverview()
|
private val AN_OVERVIEW = aRoomOverview()
|
||||||
private val AN_OVERVIEW_STATE = RoomFoo(AN_OVERVIEW, UnreadCount(1), null)
|
private val AN_OVERVIEW_STATE = DirectoryItem(AN_OVERVIEW, UnreadCount(1), null)
|
||||||
|
|
||||||
class DirectoryViewModelTest {
|
class DirectoryViewModelTest {
|
||||||
|
|
||||||
private val runViewModelTest = ViewModelTest()
|
private val runViewModelTest = ViewModelTest()
|
||||||
private val fakeDirectoryUseCase = FakeDirectoryUseCase()
|
|
||||||
private val fakeShortcutHandler = FakeShortcutHandler()
|
private val fakeShortcutHandler = FakeShortcutHandler()
|
||||||
|
private val fakeChatEngine = FakeChatEngine()
|
||||||
|
|
||||||
private val viewModel = DirectoryViewModel(
|
private val viewModel = DirectoryViewModel(
|
||||||
fakeShortcutHandler.instance,
|
fakeShortcutHandler.instance,
|
||||||
fakeDirectoryUseCase.instance,
|
fakeChatEngine,
|
||||||
runViewModelTest.testMutableStateFactory(),
|
runViewModelTest.testMutableStateFactory(),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ class DirectoryViewModelTest {
|
|||||||
@Test
|
@Test
|
||||||
fun `when starting, then updates shortcuts and emits room state`() = runViewModelTest {
|
fun `when starting, then updates shortcuts and emits room state`() = runViewModelTest {
|
||||||
fakeShortcutHandler.instance.expectUnit { it.onDirectoryUpdate(listOf(AN_OVERVIEW)) }
|
fakeShortcutHandler.instance.expectUnit { it.onDirectoryUpdate(listOf(AN_OVERVIEW)) }
|
||||||
fakeDirectoryUseCase.given().returns(flowOf(listOf(AN_OVERVIEW_STATE)))
|
fakeChatEngine.givenDirectory().returns(flowOf(listOf(AN_OVERVIEW_STATE)))
|
||||||
|
|
||||||
viewModel.test().start()
|
viewModel.test().start()
|
||||||
|
|
||||||
@ -44,9 +45,4 @@ class DirectoryViewModelTest {
|
|||||||
|
|
||||||
class FakeShortcutHandler {
|
class FakeShortcutHandler {
|
||||||
val instance = mockk<ShortcutHandler>()
|
val instance = mockk<ShortcutHandler>()
|
||||||
}
|
|
||||||
|
|
||||||
class FakeDirectoryUseCase {
|
|
||||||
val instance = mockk<DirectoryUseCase>()
|
|
||||||
fun given() = every { instance.state() }.delegateReturn()
|
|
||||||
}
|
}
|
@ -2,15 +2,17 @@ package app.dapk.st.messenger
|
|||||||
|
|
||||||
import ViewModelTest
|
import ViewModelTest
|
||||||
import app.dapk.st.core.Lce
|
import app.dapk.st.core.Lce
|
||||||
import app.dapk.st.engine.*
|
import app.dapk.st.engine.MessengerState
|
||||||
import app.dapk.st.matrix.common.*
|
import app.dapk.st.engine.RoomState
|
||||||
|
import app.dapk.st.engine.SendMessage
|
||||||
|
import app.dapk.st.matrix.common.EventId
|
||||||
|
import app.dapk.st.matrix.common.RoomId
|
||||||
|
import app.dapk.st.matrix.common.UserId
|
||||||
|
import fake.FakeChatEngine
|
||||||
import fake.FakeMessageOptionsStore
|
import fake.FakeMessageOptionsStore
|
||||||
import fixture.*
|
import fixture.*
|
||||||
import io.mockk.every
|
|
||||||
import io.mockk.mockk
|
|
||||||
import kotlinx.coroutines.flow.flowOf
|
import kotlinx.coroutines.flow.flowOf
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import test.delegateReturn
|
|
||||||
|
|
||||||
private const val READ_RECEIPTS_ARE_DISABLED = true
|
private const val READ_RECEIPTS_ARE_DISABLED = true
|
||||||
private val A_ROOM_ID = aRoomId("messenger state room id")
|
private val A_ROOM_ID = aRoomId("messenger state room id")
|
||||||
@ -18,12 +20,6 @@ private const val A_MESSAGE_CONTENT = "message content"
|
|||||||
private val AN_EVENT_ID = anEventId("state event")
|
private val AN_EVENT_ID = anEventId("state event")
|
||||||
private val A_SELF_ID = aUserId("self")
|
private val A_SELF_ID = aUserId("self")
|
||||||
|
|
||||||
class FakeChatEngine : ChatEngine by mockk() {
|
|
||||||
|
|
||||||
fun givenMessages(roomId: RoomId, disableReadReceipts: Boolean) = every { messages(roomId, disableReadReceipts) }.delegateReturn()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class MessengerViewModelTest {
|
class MessengerViewModelTest {
|
||||||
|
|
||||||
private val runViewModelTest = ViewModelTest()
|
private val runViewModelTest = ViewModelTest()
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
package fake
|
||||||
|
|
||||||
|
import app.dapk.st.engine.DirectoryUseCase
|
||||||
|
import io.mockk.every
|
||||||
|
import io.mockk.mockk
|
||||||
|
import test.delegateReturn
|
||||||
|
|
||||||
|
internal class FakeDirectoryUseCase {
|
||||||
|
val instance = mockk<DirectoryUseCase>()
|
||||||
|
fun given() = every { instance.state() }.delegateReturn()
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user