2023-02-26 18:01:23 +00:00
//
// E v e n t G r o u p V i e w T e s t s . s w i f t
// d a m u s T e s t s
//
// C r e a t e d b y T e r r y Y i u o n 2 / 2 6 / 2 3 .
//
import XCTest
@ testable import damus
final class EventGroupViewTests : XCTestCase {
override func setUpWithError ( ) throws {
// P u t s e t u p c o d e h e r e . T h i s m e t h o d i s c a l l e d b e f o r e t h e i n v o c a t i o n o f e a c h t e s t m e t h o d i n t h e c l a s s .
}
override func tearDownWithError ( ) throws {
// P u t t e a r d o w n c o d e h e r e . T h i s m e t h o d i s c a l l e d a f t e r t h e i n v o c a t i o n o f e a c h t e s t m e t h o d i n t h e c l a s s .
}
2023-06-26 03:35:01 +00:00
func testEventAuthorName ( ) {
let damusState = test_damus_state ( )
XCTAssertEqual ( event_author_name ( profiles : damusState . profiles , pubkey : " pk1 " ) , " pk1:pk1 " )
XCTAssertEqual ( event_author_name ( profiles : damusState . profiles , pubkey : " pk2 " ) , " pk2:pk2 " )
XCTAssertEqual ( event_author_name ( profiles : damusState . profiles , pubkey : " anon " ) , " Anonymous " )
}
func testEventGroupUniquePubkeys ( ) {
let damusState = test_damus_state ( )
let encodedPost = " { \" id \" : \" 8ba545ab96959fe0ce7db31bc10f3ac3aa5353bc4428dbf1e56a7be7062516db \" , \" pubkey \" : \" 7e27509ccf1e297e1df164912a43406218f8bd80129424c3ef798ca3ef5c8444 \" , \" created_at \" : 1677013417, \" kind \" : 1, \" tags \" : [], \" content \" : \" hello \" , \" sig \" : \" 93684f15eddf11f42afbdd81828ee9fc35350344d8650c78909099d776e9ad8d959cd5c4bff7045be3b0b255144add43d0feef97940794a1bc9c309791bebe4a \" } "
let repost1 = NostrEvent ( id : " " , content : encodedPost , pubkey : " pk1 " , kind : NostrKind . boost . rawValue , tags : [ ] , createdAt : 1 )
let repost2 = NostrEvent ( id : " " , content : encodedPost , pubkey : " pk2 " , kind : NostrKind . boost . rawValue , tags : [ ] , createdAt : 1 )
let repost3 = NostrEvent ( id : " " , content : encodedPost , pubkey : " pk3 " , kind : NostrKind . boost . rawValue , tags : [ ] , createdAt : 1 )
XCTAssertEqual ( event_group_unique_pubkeys ( profiles : damusState . profiles , group : . repost ( EventGroup ( events : [ ] ) ) ) , [ ] )
XCTAssertEqual ( event_group_unique_pubkeys ( profiles : damusState . profiles , group : . repost ( EventGroup ( events : [ repost1 ] ) ) ) , [ " pk1 " ] )
XCTAssertEqual ( event_group_unique_pubkeys ( profiles : damusState . profiles , group : . repost ( EventGroup ( events : [ repost1 , repost2 ] ) ) ) , [ " pk1 " , " pk2 " ] )
XCTAssertEqual ( event_group_unique_pubkeys ( profiles : damusState . profiles , group : . repost ( EventGroup ( events : [ repost1 , repost2 , repost3 ] ) ) ) , [ " pk1 " , " pk2 " , " pk3 " ] )
}
2023-02-26 18:01:23 +00:00
func testReactingToText ( ) throws {
let enUsLocale = Locale ( identifier : " en-US " )
let damusState = test_damus_state ( )
let encodedPost = " { \" id \" : \" 8ba545ab96959fe0ce7db31bc10f3ac3aa5353bc4428dbf1e56a7be7062516db \" , \" pubkey \" : \" 7e27509ccf1e297e1df164912a43406218f8bd80129424c3ef798ca3ef5c8444 \" , \" created_at \" : 1677013417, \" kind \" : 1, \" tags \" : [], \" content \" : \" hello \" , \" sig \" : \" 93684f15eddf11f42afbdd81828ee9fc35350344d8650c78909099d776e9ad8d959cd5c4bff7045be3b0b255144add43d0feef97940794a1bc9c309791bebe4a \" } "
let repost1 = NostrEvent ( id : " " , content : encodedPost , pubkey : " pk1 " , kind : NostrKind . boost . rawValue , tags : [ ] , createdAt : 1 )
let repost2 = NostrEvent ( id : " " , content : encodedPost , pubkey : " pk2 " , kind : NostrKind . boost . rawValue , tags : [ ] , createdAt : 1 )
2023-06-26 03:35:01 +00:00
let repost3 = NostrEvent ( id : " " , content : encodedPost , pubkey : " pk3 " , kind : NostrKind . boost . rawValue , tags : [ ] , createdAt : 1 )
2023-02-26 18:01:23 +00:00
2023-06-23 18:30:02 +00:00
let nozaps = true
2023-06-27 11:09:33 +00:00
XCTAssertEqual ( reacting_to_text ( profiles : damusState . profiles , our_pubkey : damusState . pubkey , group : . repost ( EventGroup ( events : [ ] ) ) , ev : test_event , pubkeys : [ ] , locale : enUsLocale ) , " ?? " )
XCTAssertEqual ( reacting_to_text ( profiles : damusState . profiles , our_pubkey : damusState . pubkey , group : . repost ( EventGroup ( events : [ repost1 ] ) ) , ev : test_event , pubkeys : [ " pk1 " ] , locale : enUsLocale ) , " pk1:pk1 reposted a note you were tagged in " )
XCTAssertEqual ( reacting_to_text ( profiles : damusState . profiles , our_pubkey : damusState . pubkey , group : . repost ( EventGroup ( events : [ repost1 , repost2 ] ) ) , ev : test_event , pubkeys : [ " pk1 " , " pk2 " ] , locale : enUsLocale ) , " pk1:pk1 and pk2:pk2 reposted a note you were tagged in " )
XCTAssertEqual ( reacting_to_text ( profiles : damusState . profiles , our_pubkey : damusState . pubkey , group : . repost ( EventGroup ( events : [ repost1 , repost2 , repost2 ] ) ) , ev : test_event , pubkeys : [ " pk1 " , " pk2 " , " pk3 " ] , locale : enUsLocale ) , " pk1:pk1 and 2 others reposted a note you were tagged in " )
2023-02-26 18:01:23 +00:00
Bundle . main . localizations . map { Locale ( identifier : $0 ) } . forEach {
2023-06-27 11:09:33 +00:00
XCTAssertNoThrow ( reacting_to_text ( profiles : damusState . profiles , our_pubkey : damusState . pubkey , group : . repost ( EventGroup ( events : [ ] ) ) , ev : test_event , pubkeys : [ ] , locale : $0 ) , " ?? " )
XCTAssertNoThrow ( reacting_to_text ( profiles : damusState . profiles , our_pubkey : damusState . pubkey , group : . repost ( EventGroup ( events : [ repost1 ] ) ) , ev : test_event , pubkeys : [ " pk1 " ] , locale : $0 ) )
XCTAssertNoThrow ( reacting_to_text ( profiles : damusState . profiles , our_pubkey : damusState . pubkey , group : . repost ( EventGroup ( events : [ repost1 , repost2 ] ) ) , ev : test_event , pubkeys : [ " pk1 " , " pk2 " ] , locale : $0 ) )
XCTAssertNoThrow ( reacting_to_text ( profiles : damusState . profiles , our_pubkey : damusState . pubkey , group : . repost ( EventGroup ( events : [ repost1 , repost2 , repost3 ] ) ) , ev : test_event , pubkeys : [ " pk1 " , " pk2 " , " pk3 " ] , locale : $0 ) )
2023-02-26 18:01:23 +00:00
}
}
}