Coverage Summary for Class: SyncVersionStatus (com.georgeci.moneysurfer.sync.version)

Class Method, % Branch, % Line, % Instruction, %
SyncVersionStatus$Allowed 100% (1/1) 100% (1/1) 100% (2/2)
SyncVersionStatus$Blocked 100% (1/1) 100% (1/1) 100% (7/7)
Total 100% (2/2) 100% (2/2) 100% (9/9)


 package com.georgeci.moneysurfer.sync.version
 
 /**
  * Version gate decoupled from domain. `:sync` checks this; `:sync-impl` provides the
  * adapter that reads from [com.georgeci.moneysurfer.domain.repositories.AppVersionGate].
  *
  * See block.md.
  */
 interface SyncVersionGate {
     suspend fun refresh(): SyncVersionStatus
     fun isSyncAllowed(): Boolean
 }
 
 sealed interface SyncVersionStatus {
     data object Allowed : SyncVersionStatus
     data class Blocked(val message: String) : SyncVersionStatus
 }