FakeNodeRepository

A test double for NodeRepository that provides an in-memory implementation.

Tracks node operations and exposes mutable state for assertions in tests.

Example:

val nodeRepository = FakeNodeRepository()
nodeRepository.setNodes(TestDataFactory.createTestNodes(3))
assertEquals(3, nodeRepository.nodeDBbyNum.value.size)

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
open override val localStats: StateFlow<LocalStats>
Link copied to clipboard
open override val myId: StateFlow<String?>
Link copied to clipboard
open override val myNodeInfo: StateFlow<MyNodeInfo?>
Link copied to clipboard
open override val nodeDBbyNum: StateFlow<Map<Int, Node>>
Link copied to clipboard
open override val onlineNodeCount: Flow<Int>
Link copied to clipboard
open override val ourNodeInfo: StateFlow<Node?>
Link copied to clipboard
open override val totalNodeCount: Flow<Int>

Functions

Link copied to clipboard
open suspend override fun clearMyNodeInfo()
Link copied to clipboard
open suspend override fun clearNodeDB(preserveFavorites: Boolean)
Link copied to clipboard
open suspend override fun deleteNode(num: Int)
Link copied to clipboard
open suspend override fun deleteNodes(nodeNums: List<Int>)
Link copied to clipboard
open override fun effectiveLogNodeId(nodeNum: Int): Flow<Int>
Link copied to clipboard
open override fun getNode(userId: String): Node
Link copied to clipboard
open suspend override fun getNodeDbSnapshot(): Map<Int, Node>
Link copied to clipboard
open override fun getNodes(sort: NodeSortOption, filter: String, includeUnknown: Boolean, onlyOnline: Boolean, onlyDirect: Boolean): Flow<List<Node>>
Link copied to clipboard
open suspend override fun getNodesOlderThan(lastHeard: Int): List<Node>
Link copied to clipboard
open suspend override fun getUnknownNodes(): List<Node>
Link copied to clipboard
open override fun getUser(nodeNum: Int): User
open override fun getUser(userId: String): User
Link copied to clipboard
open suspend override fun insertMetadata(nodeNum: Int, metadata: DeviceMetadata)
Link copied to clipboard
open suspend override fun installConfig(mi: MyNodeInfo, nodes: List<Node>): List<Int>
Link copied to clipboard
open suspend override fun markAllHeardOnCurrentLora()
Link copied to clipboard
open fun reset()

Resets all registered state flows and custom actions to their initial state.

Link copied to clipboard
fun setMyId(id: String)
Link copied to clipboard
Link copied to clipboard
open suspend override fun setNodeNotes(num: Int, notes: String)
Link copied to clipboard
fun setNodes(nodes: List<Node>)
Link copied to clipboard
fun setOurNode(node: Node?)
Link copied to clipboard
open override fun updateLocalStats(stats: LocalStats)
Link copied to clipboard
open suspend override fun updatePowerChannelLabel(num: Int, channelIndex: Int, label: String)
Link copied to clipboard
open suspend override fun upsert(node: Node)