Coverage Summary for Class: NoOpAppVersionGate (com.georgeci.moneysurfer.offline.noop)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| NoOpAppVersionGate |
0%
(0/1)
|
0%
(0/3)
|
|
0%
(0/5)
|
0%
(0/15)
|
package com.georgeci.moneysurfer.offline.noop
import com.georgeci.moneysurfer.domain.model.AppVersionStatus
import com.georgeci.moneysurfer.domain.repositories.AppVersionGate
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
/**
* Offline build skips the remote version gate; status stays `Supported`
* forever and `isSyncAllowed()` is always true (sync itself is a no-op).
*/
class NoOpAppVersionGate : AppVersionGate {
private val _status = MutableStateFlow<AppVersionStatus?>(AppVersionStatus.Supported)
override val status: StateFlow<AppVersionStatus?> = _status.asStateFlow()
override suspend fun refresh(): AppVersionStatus = AppVersionStatus.Supported
override fun isSyncAllowed(): Boolean = true
}