mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-16 03:06:11 -04:00
22 lines
605 B
Kotlin
22 lines
605 B
Kotlin
package testhelpers.preferences
|
|
|
|
import eu.darken.capod.common.preferences.FlowPreference
|
|
import io.mockk.every
|
|
import io.mockk.mockk
|
|
import kotlinx.coroutines.flow.MutableStateFlow
|
|
|
|
fun <T> mockFlowPreference(
|
|
defaultValue: T
|
|
): FlowPreference<T> {
|
|
val instance = mockk<FlowPreference<T>>()
|
|
val flow = MutableStateFlow(defaultValue)
|
|
every { instance.flow } answers { flow }
|
|
every { instance.value } answers { flow.value }
|
|
every { instance.update(any()) } answers {
|
|
val updateCall = arg<(T) -> T>(0)
|
|
flow.value = updateCall(flow.value)
|
|
}
|
|
|
|
return instance
|
|
}
|