NIP05DomainTimelineHeaderViewTests.swift (1896B)
1 // 2 // NIP05DomainTimelineHeaderViewTests.swift 3 // damusTests 4 // 5 // Created by Terry Yiu on 5/23/25. 6 // 7 8 import XCTest 9 @testable import damus 10 11 final class NIP05DomainTimelineHeaderViewTests: XCTestCase { 12 13 let enUsLocale = Locale(identifier: "en-US") 14 15 func testFriendsOfFriendsString() throws { 16 let pk1 = test_pubkey 17 let pk2 = test_pubkey_2 18 let pk3 = Pubkey(hex: "b42e44b555013239a0d5dcdb09ebde0857cd8a5a57efbba5a2b6ac78833cb9f0")! 19 let pk4 = Pubkey(hex: "cc590e46363d0fa66bb27081368d01f169b8ffc7c614629d4e9eef6c88b38670")! 20 let pk5 = Pubkey(hex: "f2aa579bb998627e04a8f553842a09446360c9d708c6141dd119c479f6ab9d29")! 21 22 let ndb = Ndb(path: Ndb.db_path)! 23 24 let damus_name = "17ldvg64:nq5mhr77" 25 XCTAssertEqual(friendsOfFriendsString([pk1], ndb: ndb, locale: enUsLocale), "Notes from \(damus_name)") 26 XCTAssertEqual(friendsOfFriendsString([pk1, pk2], ndb: ndb, locale: enUsLocale), "Notes from \(damus_name) & 1rppft3m:4qxhsgnj") 27 XCTAssertEqual(friendsOfFriendsString([pk1, pk2, pk3], ndb: ndb, locale: enUsLocale), "Notes from \(damus_name), 1rppft3m:4qxhsgnj & 1kshyfd2:cq04aze0") 28 XCTAssertEqual(friendsOfFriendsString([pk1, pk2, pk3, pk4,], ndb: ndb, locale: enUsLocale), "Notes from \(damus_name), 1rppft3m:4qxhsgnj, 1kshyfd2:cq04aze0 & 1 other in your trusted network") 29 XCTAssertEqual(friendsOfFriendsString([pk1, pk2, pk3, pk4, pk5], ndb: ndb, locale: enUsLocale), "Notes from \(damus_name), 1rppft3m:4qxhsgnj, 1kshyfd2:cq04aze0 & 2 others in your trusted network") 30 31 let pubkeys = [pk1, pk2, pk3, pk4, pk5, pk1, pk2, pk3, pk4, pk5] 32 Bundle.main.localizations.map { Locale(identifier: $0) }.forEach { 33 for count in 1...10 { 34 XCTAssertNoThrow(friendsOfFriendsString(pubkeys.prefix(count).map { $0 }, ndb: ndb, locale: $0)) 35 } 36 } 37 } 38 39 }