File tree Expand file tree Collapse file tree 2 files changed +124
-62
lines changed
StreamChatSwiftUITests/Tests/ChatChannel Expand file tree Collapse file tree 2 files changed +124
-62
lines changed Original file line number Diff line number Diff line change @@ -654,6 +654,36 @@ class ChatChannelViewModel_Tests: StreamChatTestCase {
654654 XCTAssertTrue ( viewModel. threadMessageShown)
655655 }
656656
657+ func test_chatChannelVM_jumpToMessage_firstMessage_returnsTrue( ) {
658+ // Given
659+ let message = ChatMessage . mock ( )
660+ let channelController = makeChannelController ( messages: [ message] )
661+ let viewModel = ChatChannelViewModel ( channelController: channelController)
662+
663+ // When
664+ let shouldJump = viewModel. jumpToMessage ( messageId: message. messageId)
665+
666+ // Then
667+ XCTAssertTrue ( shouldJump)
668+ XCTAssertNil ( viewModel. scrolledId) // First message clears scrolledId
669+ }
670+
671+ func test_chatChannelVM_jumpToMessage_scrolledIdAlreadySet_keepsScrolledId( ) {
672+ // Given
673+ let message1 = ChatMessage . mock ( )
674+ let message2 = ChatMessage . mock ( )
675+ let channelController = makeChannelController ( messages: [ message1, message2] )
676+ let viewModel = ChatChannelViewModel ( channelController: channelController)
677+ viewModel. scrolledId = message1. messageId
678+
679+ // When
680+ let shouldJump = viewModel. jumpToMessage ( messageId: message2. messageId)
681+
682+ // Then
683+ XCTAssertTrue ( shouldJump)
684+ XCTAssertEqual ( viewModel. scrolledId, message2. messageId) // Should update to message2
685+ }
686+
657687 func test_chatChannelVM_crashWhenIndexAccess( ) {
658688 // Given
659689 let message1 = ChatMessage . mock ( )
You can’t perform that action at this time.
0 commit comments