// // Copyright 2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only // import XCTest @testable import SignalServiceKit class TSContactThreadTest: SSKBaseTest { private func contactThread() -> TSContactThread { TSContactThread.getOrCreateThread(contactAddress: SignalServiceAddress.randomForTesting()) } override func setUp() { super.setUp() databaseStorage.write { tx in (DependenciesBridge.shared.registrationStateChangeManager as! RegistrationStateChangeManagerImpl).registerForTests( localIdentifiers: .forUnitTests, tx: tx.asV2Write ) } } func testHasSafetyNumbersWithoutRemoteIdentity() { XCTAssertFalse(contactThread().hasSafetyNumbers()) } func testHasSafetyNumbersWithRemoteIdentity() { let contactThread = self.contactThread() let identityManager = DependenciesBridge.shared.identityManager databaseStorage.write { tx in identityManager.saveIdentityKey(Data(count: 32), for: contactThread.contactAddress.serviceId!, tx: tx.asV2Write) } XCTAssert(contactThread.hasSafetyNumbers()) } func testCanSendChatMessagesToThread() { XCTAssertTrue(contactThread().canSendChatMessagesToThread()) } }