@@ -495,18 +495,27 @@ class IMMessageTestCase: RTMBaseTestCase {
495495 XCTFail ( )
496496 return
497497 }
498+ RTMConnectionManager . default. imProtobuf1Registry. removeAll ( )
499+ RTMConnectionManager . default. imProtobuf3Registry. removeAll ( )
500+ guard let client4 = newOpenedClient ( clientIDSuffix: " 4 " ) else {
501+ XCTFail ( )
502+ return
503+ }
498504
499505 let delegator1 = IMClientTestCase . Delegator ( )
500506 client1. delegate = delegator1
501507 let delegator2 = IMClientTestCase . Delegator ( )
502508 client2. delegate = delegator2
503509 let delegator3 = IMClientTestCase . Delegator ( )
504510 client3. delegate = delegator3
511+ let delegator4 = IMClientTestCase . Delegator ( )
512+ client4. delegate = delegator4
505513 var chatRoom1 : IMChatRoom ?
506514 var chatRoom2 : IMChatRoom ?
507515 var chatRoom3 : IMChatRoom ?
516+ var chatRoom4 : IMChatRoom ?
508517
509- expecting ( count: 5 ) { ( exp) in
518+ expecting ( count: 7 ) { ( exp) in
510519 try ? client1. createChatRoom ( completion: { ( result) in
511520 XCTAssertTrue ( result. isSuccess)
512521 XCTAssertNil ( result. error)
@@ -535,11 +544,24 @@ class IMMessageTestCase: RTMBaseTestCase {
535544 exp. fulfill ( )
536545 } )
537546 }
547+ try ? client4. conversationQuery. getConversation ( by: ID) { result in
548+ XCTAssertTrue ( result. isSuccess)
549+ XCTAssertNil ( result. error)
550+ chatRoom4 = result. value as? IMChatRoom
551+ exp. fulfill ( )
552+ try ? chatRoom4? . join ( completion: { ( result) in
553+ XCTAssertTrue ( result. isSuccess)
554+ XCTAssertNil ( result. error)
555+ exp. fulfill ( )
556+ } )
557+ }
538558 }
539559 } )
540560 }
541561
542- expecting ( count: 6 ) { ( exp) in
562+ delay ( )
563+
564+ expecting ( count: 8 ) { ( exp) in
543565 delegator1. messageEvent = { client, conv, event in
544566 switch event {
545567 case . received( message: _) :
@@ -564,6 +586,14 @@ class IMMessageTestCase: RTMBaseTestCase {
564586 break
565587 }
566588 }
589+ delegator4. messageEvent = { client, conv, event in
590+ switch event {
591+ case . received( message: _) :
592+ exp. fulfill ( )
593+ default :
594+ break
595+ }
596+ }
567597 try ? chatRoom1? . send ( message: IMTextMessage ( text: " 1 " ) , priority: . high, completion: { ( result) in
568598 XCTAssertTrue ( result. isSuccess)
569599 XCTAssertNil ( result. error)
@@ -579,13 +609,16 @@ class IMMessageTestCase: RTMBaseTestCase {
579609 delegator1. reset ( )
580610 delegator2. reset ( )
581611 delegator3. reset ( )
612+ delegator4. reset ( )
582613
583614 XCTAssertNil ( chatRoom1? . lastMessage)
584615 XCTAssertNil ( chatRoom2? . lastMessage)
585616 XCTAssertNil ( chatRoom3? . lastMessage)
617+ XCTAssertNil ( chatRoom4? . lastMessage)
586618 XCTAssertTrue ( ( chatRoom1? . members ?? [ ] ) . isEmpty)
587619 XCTAssertTrue ( ( chatRoom2? . members ?? [ ] ) . isEmpty)
588620 XCTAssertTrue ( ( chatRoom3? . members ?? [ ] ) . isEmpty)
621+ XCTAssertTrue ( ( chatRoom4? . members ?? [ ] ) . isEmpty)
589622 }
590623
591624 func testReceiveMessageFromServiceConversation( ) {
0 commit comments