Skip to content

Commit 4fa57ba

Browse files
committed
Add more tests
1 parent 0f23bb9 commit 4fa57ba

File tree

2 files changed

+124
-62
lines changed

2 files changed

+124
-62
lines changed

StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewModel_Tests.swift

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff 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()

0 commit comments

Comments
 (0)