TM-SGNL-iOS/SignalServiceKit/Mocks/Contacts/MockNicknameManager.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

38 lines
1 KiB
Swift

//
// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
#if TESTABLE_BUILD
public class MockNicknameManager: NicknameManager {
private var mockNicknames: [Int64: NicknameRecord] = [:]
public func fetchNickname(for recipient: SignalRecipient, tx: DBReadTransaction) -> NicknameRecord? {
recipient.id.flatMap { mockNicknames[$0] }
}
public func createOrUpdate(
nicknameRecord: NicknameRecord,
updateStorageServiceFor recipientUniqueId: RecipientUniqueId?,
tx: DBWriteTransaction
) {
self.insert(nicknameRecord, tx: tx)
}
func insert(_ nicknameRecord: NicknameRecord, tx: DBWriteTransaction) {
mockNicknames[nicknameRecord.recipientRowID] = nicknameRecord
}
public func deleteNickname(
recipientRowID: Int64,
updateStorageServiceFor recipientUniqueId: RecipientUniqueId?,
tx: DBWriteTransaction
) {
mockNicknames.removeValue(forKey: recipientRowID)
}
}
#endif