stream-chat-react-native-core 9.0.1 → 9.0.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/commonjs/components/Message/MessageItemView/utils/renderText.test.js +1 -1
- package/lib/commonjs/components/Message/MessageItemView/utils/renderText.test.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/api/channelMocks.js +38 -31
- package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
- package/lib/commonjs/mock-builders/api/error.js.map +1 -1
- package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js +1 -1
- package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js +12 -11
- package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
- package/lib/commonjs/mock-builders/api/threadReplies.js.map +1 -1
- package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/commonjs/mock-builders/api/utils.js.map +1 -1
- package/lib/commonjs/mock-builders/attachments.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelDeleted.js +3 -2
- package/lib/commonjs/mock-builders/event/channelDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelHidden.js +3 -2
- package/lib/commonjs/mock-builders/event/channelHidden.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelTruncated.js +3 -2
- package/lib/commonjs/mock-builders/event/channelTruncated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/channelUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelVisible.js +3 -2
- package/lib/commonjs/mock-builders/event/channelVisible.js.map +1 -1
- package/lib/commonjs/mock-builders/event/connectionChanged.js +3 -2
- package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/commonjs/mock-builders/event/connectionRecovered.js +3 -2
- package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberAdded.js +3 -2
- package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberRemoved.js +3 -2
- package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageDeleted.js +3 -2
- package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageNew.js +3 -2
- package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageRead.js +3 -2
- package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMarkRead.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationMarkRead.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMessageNew.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationMessageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js +3 -2
- package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionDeleted.js +3 -2
- package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionNew.js +3 -2
- package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/typing.js +3 -2
- package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
- package/lib/commonjs/mock-builders/event/userPresence.js +3 -2
- package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
- package/lib/commonjs/mock-builders/event/userUpdated.js +3 -2
- package/lib/commonjs/mock-builders/event/userUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/attachment.js +0 -3
- package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js +10 -12
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/member.js +3 -2
- package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/message.js +12 -7
- package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/reaction.js +3 -2
- package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/user.js +4 -3
- package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
- package/lib/commonjs/mock-builders/mock.js +15 -11
- package/lib/commonjs/mock-builders/mock.js.map +1 -1
- package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
- package/lib/commonjs/store/apis/upsertDraft.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/commonjs/test-utils/BetterSqlite.js +11 -7
- package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageItemView/utils/renderText.test.js +1 -1
- package/lib/module/components/Message/MessageItemView/utils/renderText.test.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/mock-builders/DB/mock.js.map +1 -1
- package/lib/module/mock-builders/api/channelMocks.js +38 -31
- package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
- package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
- package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
- package/lib/module/mock-builders/api/error.js.map +1 -1
- package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/module/mock-builders/api/initiateClientWithChannels.js +1 -1
- package/lib/module/mock-builders/api/initiateClientWithChannels.js.map +1 -1
- package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/module/mock-builders/api/queryMembers.js +12 -11
- package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
- package/lib/module/mock-builders/api/threadReplies.js.map +1 -1
- package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/module/mock-builders/api/utils.js.map +1 -1
- package/lib/module/mock-builders/attachments.js.map +1 -1
- package/lib/module/mock-builders/event/channelDeleted.js +3 -2
- package/lib/module/mock-builders/event/channelDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/channelHidden.js +3 -2
- package/lib/module/mock-builders/event/channelHidden.js.map +1 -1
- package/lib/module/mock-builders/event/channelTruncated.js +3 -2
- package/lib/module/mock-builders/event/channelTruncated.js.map +1 -1
- package/lib/module/mock-builders/event/channelUpdated.js +3 -2
- package/lib/module/mock-builders/event/channelUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/channelVisible.js +3 -2
- package/lib/module/mock-builders/event/channelVisible.js.map +1 -1
- package/lib/module/mock-builders/event/connectionChanged.js +3 -2
- package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/module/mock-builders/event/connectionRecovered.js +3 -2
- package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
- package/lib/module/mock-builders/event/memberAdded.js +3 -2
- package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/module/mock-builders/event/memberRemoved.js +3 -2
- package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/module/mock-builders/event/memberUpdated.js +3 -2
- package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/messageDeleted.js +3 -2
- package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/messageNew.js +3 -2
- package/lib/module/mock-builders/event/messageNew.js.map +1 -1
- package/lib/module/mock-builders/event/messageRead.js +3 -2
- package/lib/module/mock-builders/event/messageRead.js.map +1 -1
- package/lib/module/mock-builders/event/messageUpdated.js +3 -2
- package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationAddedToChannel.js +3 -2
- package/lib/module/mock-builders/event/notificationAddedToChannel.js.map +1 -1
- package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js +3 -2
- package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMarkRead.js +3 -2
- package/lib/module/mock-builders/event/notificationMarkRead.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMarkUnread.js +3 -2
- package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMessageNew.js +3 -2
- package/lib/module/mock-builders/event/notificationMessageNew.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMutesUpdated.js +3 -2
- package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationRemovedFromChannel.js +3 -2
- package/lib/module/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
- package/lib/module/mock-builders/event/reactionDeleted.js +3 -2
- package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/reactionNew.js +3 -2
- package/lib/module/mock-builders/event/reactionNew.js.map +1 -1
- package/lib/module/mock-builders/event/reactionUpdated.js +3 -2
- package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/typing.js +3 -2
- package/lib/module/mock-builders/event/typing.js.map +1 -1
- package/lib/module/mock-builders/event/userPresence.js +3 -2
- package/lib/module/mock-builders/event/userPresence.js.map +1 -1
- package/lib/module/mock-builders/event/userUpdated.js +3 -2
- package/lib/module/mock-builders/event/userUpdated.js.map +1 -1
- package/lib/module/mock-builders/generator/attachment.js +0 -3
- package/lib/module/mock-builders/generator/attachment.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js +10 -12
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/mock-builders/generator/member.js +3 -2
- package/lib/module/mock-builders/generator/member.js.map +1 -1
- package/lib/module/mock-builders/generator/message.js +12 -7
- package/lib/module/mock-builders/generator/message.js.map +1 -1
- package/lib/module/mock-builders/generator/reaction.js +3 -2
- package/lib/module/mock-builders/generator/reaction.js.map +1 -1
- package/lib/module/mock-builders/generator/user.js +4 -3
- package/lib/module/mock-builders/generator/user.js.map +1 -1
- package/lib/module/mock-builders/mock.js +15 -11
- package/lib/module/mock-builders/mock.js.map +1 -1
- package/lib/module/store/apis/addPendingTask.js.map +1 -1
- package/lib/module/store/apis/deleteMessage.js.map +1 -1
- package/lib/module/store/apis/upsertDraft.js.map +1 -1
- package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
- package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/module/test-utils/BetterSqlite.js +11 -7
- package/lib/module/test-utils/BetterSqlite.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/UIComponents/SwipableWrapper.d.ts +1 -1
- package/lib/typescript/components/UIComponents/SwipableWrapper.d.ts.map +1 -1
- package/lib/typescript/store/OfflineDB.d.ts +1 -1
- package/lib/typescript/store/OfflineDB.d.ts.map +1 -1
- package/lib/typescript/store/apis/addPendingTask.d.ts.map +1 -1
- package/lib/typescript/store/apis/deleteMessage.d.ts +2 -1
- package/lib/typescript/store/apis/deleteMessage.d.ts.map +1 -1
- package/lib/typescript/store/apis/upsertDraft.d.ts +1 -1
- package/lib/typescript/store/apis/upsertDraft.d.ts.map +1 -1
- package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts.map +1 -1
- package/lib/typescript/test-utils/BetterSqlite.d.ts +4 -3
- package/lib/typescript/test-utils/BetterSqlite.d.ts.map +1 -1
- package/package.json +5 -3
- package/src/__tests__/offline-support/{offline-feature.js → offline-feature.tsx} +282 -139
- package/src/__tests__/offline-support/{optimistic-update.js → optimistic-update.tsx} +154 -84
- package/src/components/Attachment/__tests__/{Attachment.test.js → Attachment.test.tsx} +12 -8
- package/src/components/Attachment/__tests__/{Gallery.test.js → Gallery.test.tsx} +10 -3
- package/src/components/Attachment/__tests__/{Giphy.test.js → Giphy.test.tsx} +48 -19
- package/src/components/Attachment/__tests__/{buildGallery.test.js → buildGallery.test.ts} +4 -2
- package/src/components/AutoCompleteInput/__tests__/{AutoCompleteInput.test.js → AutoCompleteInput.test.tsx} +21 -11
- package/src/components/Channel/__tests__/{Channel.test.js → Channel.test.tsx} +129 -89
- package/src/components/Channel/__tests__/{isAttachmentEqualHandler.test.js → isAttachmentEqualHandler.test.tsx} +25 -8
- package/src/components/Channel/__tests__/{ownCapabilities.test.js → ownCapabilities.test.tsx} +16 -12
- package/src/components/Channel/__tests__/{useMessageListPagination.test.js → useMessageListPagination.test.tsx} +105 -63
- package/src/components/ChannelList/__tests__/{ChannelList.test.js → ChannelList.test.tsx} +63 -29
- package/src/components/ChannelList/__tests__/{ChannelListView.test.js → ChannelListView.test.tsx} +30 -20
- package/src/components/ChannelList/hooks/__tests__/useChannelActionItems.test.tsx +6 -6
- package/src/components/ChannelList/hooks/__tests__/useChannelActionItemsById.test.tsx +2 -2
- package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +17 -14
- package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +14 -4
- package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +23 -12
- package/src/components/ChannelPreview/__tests__/{ChannelPreviewView.test.js → ChannelPreviewView.test.tsx} +9 -34
- package/src/components/ChannelPreview/__tests__/ChannelSwipableWrapper.test.tsx +4 -2
- package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayPresence.test.tsx +1 -1
- package/src/components/Chat/__tests__/{Chat.test.js → Chat.test.tsx} +37 -30
- package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +10 -14
- package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -3
- package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +5 -4
- package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +7 -6
- package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +9 -13
- package/src/components/Message/MessageItemView/__tests__/{Message.test.js → Message.test.tsx} +20 -11
- package/src/components/Message/MessageItemView/__tests__/{MessageAuthor.test.js → MessageAuthor.test.tsx} +10 -12
- package/src/components/Message/MessageItemView/__tests__/{MessageContent.test.js → MessageContent.test.tsx} +22 -12
- package/src/components/Message/MessageItemView/__tests__/{MessageItemView.test.js → MessageItemView.test.tsx} +11 -4
- package/src/components/Message/MessageItemView/__tests__/{MessagePinnedHeader.test.js → MessagePinnedHeader.test.tsx} +5 -3
- package/src/components/Message/MessageItemView/__tests__/{MessageReplies.test.js → MessageReplies.test.tsx} +15 -36
- package/src/components/Message/MessageItemView/__tests__/{MessageStatus.test.js → MessageStatus.test.tsx} +20 -10
- package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +8 -8
- package/src/components/Message/MessageItemView/__tests__/{ReactionListBottom.test.js → ReactionListBottom.test.tsx} +19 -8
- package/src/components/Message/MessageItemView/__tests__/{ReactionListTop.test.js → ReactionListTop.test.tsx} +8 -4
- package/src/components/Message/MessageItemView/utils/renderText.test.tsx +2 -4
- package/src/components/Message/MessageItemView/utils/renderText.tsx +1 -1
- package/src/components/Message/hooks/__tests__/useShouldUseOverlayStyles.test.tsx +2 -2
- package/src/components/MessageInput/__tests__/{AttachButton.test.js → AttachButton.test.tsx} +14 -4
- package/src/components/MessageInput/__tests__/{AttachmentUploadPreviewList.test.js → AttachmentUploadPreviewList.test.tsx} +27 -8
- package/src/components/MessageInput/__tests__/{AudioAttachmentUploadPreview.test.js → AudioAttachmentUploadPreview.test.tsx} +18 -5
- package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewExpo.test.tsx +47 -15
- package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewNative.test.tsx +57 -17
- package/src/components/MessageInput/__tests__/{InputButtons.test.js → InputButtons.test.tsx} +14 -4
- package/src/components/MessageInput/__tests__/{MessageComposer.test.js → MessageComposer.test.tsx} +28 -20
- package/src/components/MessageInput/__tests__/{SendButton.test.js → SendButton.test.tsx} +13 -4
- package/src/components/MessageInput/__tests__/{SendMessageDisallowedIndicator.test.js → SendMessageDisallowedIndicator.test.tsx} +47 -31
- package/src/components/MessageList/__tests__/{MessageList.test.js → MessageList.test.tsx} +31 -34
- package/src/components/MessageList/__tests__/{MessageSystem.test.js → MessageSystem.test.tsx} +13 -5
- package/src/components/MessageList/__tests__/{ScrollToBottomButton.test.js → ScrollToBottomButton.test.tsx} +8 -12
- package/src/components/MessageList/__tests__/{TypingIndicator.test.js → TypingIndicator.test.tsx} +6 -4
- package/src/components/MessageList/__tests__/useMessageList.test.tsx +2 -2
- package/src/components/MessageList/hooks/useMessageList.ts +1 -1
- package/src/components/MessageMenu/__tests__/MessageActionList.test.tsx +4 -1
- package/src/components/MessageMenu/__tests__/MessageActionListItem.test.tsx +1 -0
- package/src/components/MessageMenu/__tests__/MessageReactionPicker.test.tsx +6 -2
- package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +3 -3
- package/src/components/MessageMenu/__tests__/MessageUserReactionsAvatar.test.tsx +7 -3
- package/src/components/MessageMenu/__tests__/MessageUserReactionsItem.test.tsx +2 -1
- package/src/components/Thread/__tests__/{Thread.test.js → Thread.test.tsx} +41 -13
- package/src/components/Thread/__tests__/__snapshots__/{Thread.test.js.snap → Thread.test.tsx.snap} +0 -21
- package/src/components/UIComponents/SwipableWrapper.tsx +1 -1
- package/src/components/UIComponents/__tests__/SwipableWrapper.test.tsx +1 -1
- package/src/contexts/messageInputContext/__tests__/filePickers.test.tsx +31 -10
- package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +24 -12
- package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +2 -2
- package/src/hooks/__tests__/useTranslatedMessage.test.tsx +4 -4
- package/src/mock-builders/DB/mock.ts +1 -1
- package/src/mock-builders/api/channelMocks.tsx +39 -29
- package/src/mock-builders/api/deleteMessage.ts +21 -0
- package/src/mock-builders/api/deleteReaction.ts +23 -0
- package/src/mock-builders/api/{error.js → error.ts} +13 -5
- package/src/mock-builders/api/getOrCreateChannel.ts +22 -11
- package/src/mock-builders/api/{initiateClientWithChannels.js → initiateClientWithChannels.ts} +21 -3
- package/src/mock-builders/api/{queryChannels.js → queryChannels.ts} +2 -4
- package/src/mock-builders/api/{queryMembers.js → queryMembers.ts} +29 -27
- package/src/mock-builders/api/sendMessage.ts +25 -0
- package/src/mock-builders/api/sendReaction.ts +9 -5
- package/src/mock-builders/api/threadReplies.ts +18 -0
- package/src/mock-builders/api/{useMockedApis.js → useMockedApis.ts} +5 -4
- package/src/mock-builders/api/utils.ts +16 -0
- package/src/mock-builders/{attachments.js → attachments.ts} +24 -8
- package/src/mock-builders/event/channelDeleted.ts +12 -0
- package/src/mock-builders/event/channelHidden.ts +12 -0
- package/src/mock-builders/event/channelTruncated.ts +12 -0
- package/src/mock-builders/event/channelUpdated.ts +12 -0
- package/src/mock-builders/event/channelVisible.ts +12 -0
- package/src/mock-builders/event/connectionChanged.ts +11 -0
- package/src/mock-builders/event/connectionRecovered.ts +10 -0
- package/src/mock-builders/event/memberAdded.ts +19 -0
- package/src/mock-builders/event/memberRemoved.ts +18 -0
- package/src/mock-builders/event/memberUpdated.ts +18 -0
- package/src/mock-builders/event/messageDeleted.ts +23 -0
- package/src/mock-builders/event/messageNew.ts +26 -0
- package/src/mock-builders/event/messageRead.ts +23 -0
- package/src/mock-builders/event/messageUpdated.ts +23 -0
- package/src/mock-builders/event/notificationAddedToChannel.ts +12 -0
- package/src/mock-builders/event/notificationChannelMutesUpdated.ts +12 -0
- package/src/mock-builders/event/notificationMarkRead.ts +12 -0
- package/src/mock-builders/event/notificationMarkUnread.ts +22 -0
- package/src/mock-builders/event/notificationMessageNew.ts +12 -0
- package/src/mock-builders/event/notificationMutesUpdated.ts +16 -0
- package/src/mock-builders/event/notificationRemovedFromChannel.ts +12 -0
- package/src/mock-builders/event/reactionDeleted.ts +26 -0
- package/src/mock-builders/event/reactionNew.ts +26 -0
- package/src/mock-builders/event/reactionUpdated.ts +26 -0
- package/src/mock-builders/event/typing.ts +18 -0
- package/src/mock-builders/event/userPresence.ts +13 -0
- package/src/mock-builders/event/userUpdated.ts +13 -0
- package/src/mock-builders/generator/{attachment.js → attachment.ts} +17 -13
- package/src/mock-builders/generator/channel.ts +70 -39
- package/src/mock-builders/generator/member.ts +18 -0
- package/src/mock-builders/generator/message.ts +50 -0
- package/src/mock-builders/generator/reaction.ts +15 -0
- package/src/mock-builders/generator/{user.js → user.ts} +20 -16
- package/src/mock-builders/mock.ts +79 -0
- package/src/state-store/__tests__/audio-player.test.ts +3 -1
- package/src/state-store/__tests__/image-gallery-state-store.test.ts +31 -28
- package/src/state-store/__tests__/video-player-pool.test.ts +9 -9
- package/src/store/apis/__tests__/updatePendingTask.test.ts +17 -6
- package/src/store/apis/addPendingTask.ts +2 -1
- package/src/store/apis/deleteMessage.ts +2 -1
- package/src/store/apis/upsertDraft.ts +2 -2
- package/src/store/sqlite-utils/appendOrderByClause.ts +1 -1
- package/src/store/sqlite-utils/appendWhereCluase.ts +1 -1
- package/src/store/sqlite-utils/createCreateTableQuery.ts +7 -5
- package/src/test-utils/BetterSqlite.ts +38 -0
- package/src/utils/__tests__/{Streami18n.test.js → Streami18n.test.ts} +66 -31
- package/src/utils/__tests__/getResizedImageUrl.test.ts +10 -8
- package/src/utils/__tests__/{utils.test.js → utils.test.ts} +1 -1
- package/src/version.json +1 -1
- package/src/mock-builders/api/deleteMessage.js +0 -18
- package/src/mock-builders/api/deleteReaction.js +0 -19
- package/src/mock-builders/api/sendMessage.js +0 -18
- package/src/mock-builders/api/threadReplies.js +0 -16
- package/src/mock-builders/api/utils.js +0 -7
- package/src/mock-builders/event/channelDeleted.js +0 -7
- package/src/mock-builders/event/channelHidden.js +0 -7
- package/src/mock-builders/event/channelTruncated.js +0 -7
- package/src/mock-builders/event/channelUpdated.js +0 -7
- package/src/mock-builders/event/channelVisible.js +0 -7
- package/src/mock-builders/event/connectionChanged.js +0 -6
- package/src/mock-builders/event/connectionRecovered.js +0 -5
- package/src/mock-builders/event/memberAdded.js +0 -10
- package/src/mock-builders/event/memberRemoved.js +0 -9
- package/src/mock-builders/event/memberUpdated.js +0 -9
- package/src/mock-builders/event/messageDeleted.js +0 -8
- package/src/mock-builders/event/messageNew.js +0 -11
- package/src/mock-builders/event/messageRead.js +0 -15
- package/src/mock-builders/event/messageUpdated.js +0 -8
- package/src/mock-builders/event/notificationAddedToChannel.js +0 -7
- package/src/mock-builders/event/notificationChannelMutesUpdated.js +0 -7
- package/src/mock-builders/event/notificationMarkRead.js +0 -7
- package/src/mock-builders/event/notificationMarkUnread.js +0 -12
- package/src/mock-builders/event/notificationMessageNew.js +0 -7
- package/src/mock-builders/event/notificationMutesUpdated.js +0 -11
- package/src/mock-builders/event/notificationRemovedFromChannel.js +0 -7
- package/src/mock-builders/event/reactionDeleted.js +0 -9
- package/src/mock-builders/event/reactionNew.js +0 -9
- package/src/mock-builders/event/reactionUpdated.js +0 -9
- package/src/mock-builders/event/typing.js +0 -9
- package/src/mock-builders/event/userPresence.js +0 -8
- package/src/mock-builders/event/userUpdated.js +0 -8
- package/src/mock-builders/generator/member.js +0 -13
- package/src/mock-builders/generator/message.js +0 -32
- package/src/mock-builders/generator/reaction.js +0 -12
- package/src/mock-builders/mock.js +0 -57
- package/src/test-utils/BetterSqlite.js +0 -36
- /package/src/components/Message/MessageItemView/__tests__/__snapshots__/{MessageAuthor.test.js.snap → MessageAuthor.test.tsx.snap} +0 -0
- /package/src/components/Message/MessageItemView/__tests__/__snapshots__/{MessagePinnedHeader.test.js.snap → MessagePinnedHeader.test.tsx.snap} +0 -0
- /package/src/components/MessageInput/__tests__/__snapshots__/{AttachButton.test.js.snap → AttachButton.test.tsx.snap} +0 -0
- /package/src/components/MessageInput/__tests__/__snapshots__/{SendButton.test.js.snap → SendButton.test.tsx.snap} +0 -0
- /package/src/components/MessageList/__tests__/__snapshots__/{MessageSystem.test.js.snap → MessageSystem.test.tsx.snap} +0 -0
- /package/src/components/MessageList/__tests__/__snapshots__/{ScrollToBottomButton.test.js.snap → ScrollToBottomButton.test.tsx.snap} +0 -0
- /package/src/components/MessageList/__tests__/__snapshots__/{TypingIndicator.test.js.snap → TypingIndicator.test.tsx.snap} +0 -0
|
@@ -2,6 +2,8 @@ import React from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { act, fireEvent, render, screen } from '@testing-library/react-native';
|
|
4
4
|
|
|
5
|
+
import type { LocalAudioAttachment } from 'stream-chat';
|
|
6
|
+
|
|
5
7
|
import {
|
|
6
8
|
MessageInputContext,
|
|
7
9
|
MessageInputContextValue,
|
|
@@ -23,9 +25,15 @@ jest.mock('../../../native.ts', () => ({
|
|
|
23
25
|
},
|
|
24
26
|
}));
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
type GetComponentProps = Omit<Partial<AudioAttachmentProps>, 'item'> & {
|
|
29
|
+
fileUploads?: unknown[];
|
|
30
|
+
item?: unknown;
|
|
31
|
+
onLoad?: (...args: unknown[]) => unknown;
|
|
32
|
+
onPlayPause?: (...args: unknown[]) => unknown;
|
|
33
|
+
onProgress?: (...args: unknown[]) => unknown;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const getComponent = (props: GetComponentProps) => (
|
|
29
37
|
<ThemeProvider theme={defaultTheme}>
|
|
30
38
|
<MessageInputContext.Provider
|
|
31
39
|
value={{ fileUploads: props.fileUploads } as unknown as MessageInputContextValue}
|
|
@@ -47,12 +55,16 @@ describe.skip('AudioAttachmentExpo', () => {
|
|
|
47
55
|
const onPlayPauseMock = jest.fn();
|
|
48
56
|
render(
|
|
49
57
|
getComponent({
|
|
50
|
-
fileUploads: [
|
|
58
|
+
fileUploads: [
|
|
59
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
60
|
+
typeof generateFileUploadPreview
|
|
61
|
+
>[0]),
|
|
62
|
+
],
|
|
51
63
|
item: {
|
|
52
64
|
file: { name: 'audio.mp3', uri: 'https://www.test.com/audio.mp3' },
|
|
53
65
|
paused: true,
|
|
54
66
|
progress: 1,
|
|
55
|
-
} as unknown as
|
|
67
|
+
} as unknown as LocalAudioAttachment,
|
|
56
68
|
onPlayPause: onPlayPauseMock,
|
|
57
69
|
}),
|
|
58
70
|
);
|
|
@@ -76,12 +88,16 @@ describe.skip('AudioAttachmentExpo', () => {
|
|
|
76
88
|
const onPlayPauseMock = jest.fn();
|
|
77
89
|
render(
|
|
78
90
|
getComponent({
|
|
79
|
-
fileUploads: [
|
|
91
|
+
fileUploads: [
|
|
92
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
93
|
+
typeof generateFileUploadPreview
|
|
94
|
+
>[0]),
|
|
95
|
+
],
|
|
80
96
|
item: {
|
|
81
97
|
file: { name: 'audio.mp3', uri: 'https://www.test.com/audio.mp3' },
|
|
82
98
|
paused: true,
|
|
83
99
|
progress: 1,
|
|
84
|
-
} as unknown as
|
|
100
|
+
} as unknown as LocalAudioAttachment,
|
|
85
101
|
onPlayPause: onPlayPauseMock,
|
|
86
102
|
}),
|
|
87
103
|
);
|
|
@@ -105,12 +121,16 @@ describe.skip('AudioAttachmentExpo', () => {
|
|
|
105
121
|
const onPlayPauseMock = jest.fn();
|
|
106
122
|
render(
|
|
107
123
|
getComponent({
|
|
108
|
-
fileUploads: [
|
|
124
|
+
fileUploads: [
|
|
125
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
126
|
+
typeof generateFileUploadPreview
|
|
127
|
+
>[0]),
|
|
128
|
+
],
|
|
109
129
|
item: {
|
|
110
130
|
file: { name: 'audio.mp3', uri: 'https://www.test.com/audio.mp3' },
|
|
111
131
|
paused: false,
|
|
112
132
|
progress: 1,
|
|
113
|
-
} as unknown as
|
|
133
|
+
} as unknown as LocalAudioAttachment,
|
|
114
134
|
onPlayPause: onPlayPauseMock,
|
|
115
135
|
}),
|
|
116
136
|
);
|
|
@@ -136,12 +156,16 @@ describe.skip('AudioAttachmentExpo', () => {
|
|
|
136
156
|
|
|
137
157
|
const { unmount } = render(
|
|
138
158
|
getComponent({
|
|
139
|
-
fileUploads: [
|
|
159
|
+
fileUploads: [
|
|
160
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
161
|
+
typeof generateFileUploadPreview
|
|
162
|
+
>[0]),
|
|
163
|
+
],
|
|
140
164
|
item: {
|
|
141
165
|
file: { name: 'audio.mp3', uri: 'https://www.test.com/audio.mp3' },
|
|
142
166
|
paused: false,
|
|
143
167
|
progress: 1,
|
|
144
|
-
} as unknown as
|
|
168
|
+
} as unknown as LocalAudioAttachment,
|
|
145
169
|
}),
|
|
146
170
|
);
|
|
147
171
|
|
|
@@ -154,11 +178,15 @@ describe.skip('AudioAttachmentExpo', () => {
|
|
|
154
178
|
it('render text in rtl mode', () => {
|
|
155
179
|
render(
|
|
156
180
|
getComponent({
|
|
157
|
-
fileUploads: [
|
|
181
|
+
fileUploads: [
|
|
182
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
183
|
+
typeof generateFileUploadPreview
|
|
184
|
+
>[0]),
|
|
185
|
+
],
|
|
158
186
|
item: {
|
|
159
187
|
file: { name: 'audio.mp3', uri: 'https://www.test.com/audio.mp3' },
|
|
160
188
|
progress: 1,
|
|
161
|
-
} as unknown as
|
|
189
|
+
} as unknown as LocalAudioAttachment,
|
|
162
190
|
}),
|
|
163
191
|
);
|
|
164
192
|
|
|
@@ -178,8 +206,12 @@ describe.skip('AudioAttachmentExpo', () => {
|
|
|
178
206
|
|
|
179
207
|
render(
|
|
180
208
|
getComponent({
|
|
181
|
-
fileUploads: [
|
|
182
|
-
|
|
209
|
+
fileUploads: [
|
|
210
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
211
|
+
typeof generateFileUploadPreview
|
|
212
|
+
>[0]),
|
|
213
|
+
],
|
|
214
|
+
item: { file: { name: 'audio.mp3' }, paused: false } as unknown as LocalAudioAttachment,
|
|
183
215
|
onProgress: onProgressMock,
|
|
184
216
|
}),
|
|
185
217
|
);
|
|
@@ -2,6 +2,8 @@ import React from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { act, fireEvent, render, screen } from '@testing-library/react-native';
|
|
4
4
|
|
|
5
|
+
import type { LocalAudioAttachment } from 'stream-chat';
|
|
6
|
+
|
|
5
7
|
import {
|
|
6
8
|
MessageInputContext,
|
|
7
9
|
MessageInputContextValue,
|
|
@@ -23,9 +25,15 @@ jest.mock('../../../native.ts', () => {
|
|
|
23
25
|
};
|
|
24
26
|
});
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
type GetComponentProps = Omit<Partial<AudioAttachmentProps>, 'item'> & {
|
|
29
|
+
fileUploads?: unknown[];
|
|
30
|
+
item?: unknown;
|
|
31
|
+
onLoad?: (...args: unknown[]) => unknown;
|
|
32
|
+
onPlayPause?: (...args: unknown[]) => unknown;
|
|
33
|
+
onProgress?: (...args: unknown[]) => unknown;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const getComponent = (props: GetComponentProps) => (
|
|
29
37
|
<ThemeProvider theme={defaultTheme}>
|
|
30
38
|
<MessageInputContext.Provider
|
|
31
39
|
value={{ fileUploads: props.fileUploads } as unknown as MessageInputContextValue}
|
|
@@ -47,8 +55,16 @@ describe.skip('AudioAttachment', () => {
|
|
|
47
55
|
const onPlayPauseMock = jest.fn();
|
|
48
56
|
render(
|
|
49
57
|
getComponent({
|
|
50
|
-
fileUploads: [
|
|
51
|
-
|
|
58
|
+
fileUploads: [
|
|
59
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
60
|
+
typeof generateFileUploadPreview
|
|
61
|
+
>[0]),
|
|
62
|
+
],
|
|
63
|
+
item: {
|
|
64
|
+
file: { name: 'audio.mp3' },
|
|
65
|
+
paused: true,
|
|
66
|
+
progress: 1,
|
|
67
|
+
} as unknown as LocalAudioAttachment,
|
|
52
68
|
onPlayPause: onPlayPauseMock,
|
|
53
69
|
}),
|
|
54
70
|
);
|
|
@@ -71,8 +87,12 @@ describe.skip('AudioAttachment', () => {
|
|
|
71
87
|
|
|
72
88
|
render(
|
|
73
89
|
getComponent({
|
|
74
|
-
fileUploads: [
|
|
75
|
-
|
|
90
|
+
fileUploads: [
|
|
91
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
92
|
+
typeof generateFileUploadPreview
|
|
93
|
+
>[0]),
|
|
94
|
+
],
|
|
95
|
+
item: { file: { name: 'audio.mp3' }, paused: true } as unknown as LocalAudioAttachment,
|
|
76
96
|
onPlayPause: onPlayPauseMock,
|
|
77
97
|
}),
|
|
78
98
|
);
|
|
@@ -98,8 +118,12 @@ describe.skip('AudioAttachment', () => {
|
|
|
98
118
|
|
|
99
119
|
render(
|
|
100
120
|
getComponent({
|
|
101
|
-
fileUploads: [
|
|
102
|
-
|
|
121
|
+
fileUploads: [
|
|
122
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
123
|
+
typeof generateFileUploadPreview
|
|
124
|
+
>[0]),
|
|
125
|
+
],
|
|
126
|
+
item: { file: { name: 'audio.mp3' }, paused: false } as unknown as LocalAudioAttachment,
|
|
103
127
|
onPlayPause: onPlayPauseMock,
|
|
104
128
|
}),
|
|
105
129
|
);
|
|
@@ -118,8 +142,12 @@ describe.skip('AudioAttachment', () => {
|
|
|
118
142
|
|
|
119
143
|
render(
|
|
120
144
|
getComponent({
|
|
121
|
-
fileUploads: [
|
|
122
|
-
|
|
145
|
+
fileUploads: [
|
|
146
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
147
|
+
typeof generateFileUploadPreview
|
|
148
|
+
>[0]),
|
|
149
|
+
],
|
|
150
|
+
item: { file: { name: 'audio.mp3' }, paused: false } as unknown as LocalAudioAttachment,
|
|
123
151
|
onLoad: onLoadMock,
|
|
124
152
|
}),
|
|
125
153
|
);
|
|
@@ -141,8 +169,12 @@ describe.skip('AudioAttachment', () => {
|
|
|
141
169
|
|
|
142
170
|
render(
|
|
143
171
|
getComponent({
|
|
144
|
-
fileUploads: [
|
|
145
|
-
|
|
172
|
+
fileUploads: [
|
|
173
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
174
|
+
typeof generateFileUploadPreview
|
|
175
|
+
>[0]),
|
|
176
|
+
],
|
|
177
|
+
item: { file: { name: 'audio.mp3' }, paused: false } as unknown as LocalAudioAttachment,
|
|
146
178
|
onPlayPause: onPlayPauseMock,
|
|
147
179
|
onProgress: onProgressMock,
|
|
148
180
|
}),
|
|
@@ -163,8 +195,12 @@ describe.skip('AudioAttachment', () => {
|
|
|
163
195
|
|
|
164
196
|
render(
|
|
165
197
|
getComponent({
|
|
166
|
-
fileUploads: [
|
|
167
|
-
|
|
198
|
+
fileUploads: [
|
|
199
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
200
|
+
typeof generateFileUploadPreview
|
|
201
|
+
>[0]),
|
|
202
|
+
],
|
|
203
|
+
item: { file: { name: 'audio.mp3' }, paused: false } as unknown as LocalAudioAttachment,
|
|
168
204
|
onProgress: onProgressMock,
|
|
169
205
|
}),
|
|
170
206
|
);
|
|
@@ -193,8 +229,12 @@ describe.skip('AudioAttachment', () => {
|
|
|
193
229
|
|
|
194
230
|
render(
|
|
195
231
|
getComponent({
|
|
196
|
-
fileUploads: [
|
|
197
|
-
|
|
232
|
+
fileUploads: [
|
|
233
|
+
generateFileUploadPreview({ type: 'audio/mp3' } as unknown as Parameters<
|
|
234
|
+
typeof generateFileUploadPreview
|
|
235
|
+
>[0]),
|
|
236
|
+
],
|
|
237
|
+
item: { file: { name: 'audio.mp3' }, paused: false } as unknown as LocalAudioAttachment,
|
|
198
238
|
onProgress: onProgressMock,
|
|
199
239
|
}),
|
|
200
240
|
);
|
package/src/components/MessageInput/__tests__/{InputButtons.test.js → InputButtons.test.tsx}
RENAMED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
3
|
import { act, cleanup, render, screen, waitFor } from '@testing-library/react-native';
|
|
4
|
+
import type { Channel as ChannelType, StreamChat } from 'stream-chat';
|
|
4
5
|
|
|
5
6
|
import { OverlayProvider } from '../../../contexts';
|
|
6
7
|
|
|
7
8
|
import { initiateClientWithChannels } from '../../../mock-builders/api/initiateClientWithChannels';
|
|
9
|
+
import type { ChannelProps } from '../../Channel/Channel';
|
|
8
10
|
import { Channel } from '../../Channel/Channel';
|
|
9
11
|
import { Chat } from '../../Chat/Chat';
|
|
10
12
|
import { InputButtons } from '../components/InputButtons/index';
|
|
11
13
|
|
|
12
|
-
const renderComponent = ({
|
|
14
|
+
const renderComponent = ({
|
|
15
|
+
channelProps,
|
|
16
|
+
client,
|
|
17
|
+
props,
|
|
18
|
+
}: {
|
|
19
|
+
channelProps: Partial<ChannelProps>;
|
|
20
|
+
client: StreamChat;
|
|
21
|
+
props: React.ComponentProps<typeof InputButtons>;
|
|
22
|
+
}) => {
|
|
13
23
|
return render(
|
|
14
24
|
<OverlayProvider>
|
|
15
25
|
<Chat client={client}>
|
|
16
|
-
<Channel {...channelProps}>
|
|
26
|
+
<Channel {...(channelProps as ChannelProps)}>
|
|
17
27
|
<InputButtons {...props} />
|
|
18
28
|
</Channel>
|
|
19
29
|
</Chat>
|
|
@@ -22,8 +32,8 @@ const renderComponent = ({ channelProps, client, props }) => {
|
|
|
22
32
|
};
|
|
23
33
|
|
|
24
34
|
describe('InputButtons', () => {
|
|
25
|
-
let client;
|
|
26
|
-
let channel;
|
|
35
|
+
let client: StreamChat;
|
|
36
|
+
let channel: ChannelType;
|
|
27
37
|
|
|
28
38
|
beforeEach(async () => {
|
|
29
39
|
const { client: chatClient, channels } = await initiateClientWithChannels();
|
package/src/components/MessageInput/__tests__/{MessageComposer.test.js → MessageComposer.test.tsx}
RENAMED
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import { Alert } from 'react-native';
|
|
4
4
|
|
|
5
5
|
import { act, cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react-native';
|
|
6
|
+
import type { Channel as ChannelType, StreamChat } from 'stream-chat';
|
|
6
7
|
|
|
7
8
|
import * as AttachmentPickerUtils from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';
|
|
8
9
|
import { OverlayProvider } from '../../../contexts/overlayContext/OverlayProvider';
|
|
@@ -12,32 +13,39 @@ import { initiateClientWithChannels } from '../../../mock-builders/api/initiateC
|
|
|
12
13
|
import { AttachmentPickerStore } from '../../../state-store/attachment-picker-store';
|
|
13
14
|
import { AttachmentPickerContent } from '../../AttachmentPicker/components/AttachmentPickerContent';
|
|
14
15
|
import { AttachmentPickerSelectionBar } from '../../AttachmentPicker/components/AttachmentPickerSelectionBar';
|
|
16
|
+
import type { ChannelProps } from '../../Channel/Channel';
|
|
15
17
|
import { Channel } from '../../Channel/Channel';
|
|
16
18
|
import { Chat } from '../../Chat/Chat';
|
|
17
19
|
import { MessageComposer } from '../MessageComposer';
|
|
18
20
|
|
|
19
21
|
jest.spyOn(Alert, 'alert');
|
|
20
|
-
jest.spyOn(AttachmentPickerUtils, 'useAttachmentPickerContext').mockImplementation(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
22
|
+
jest.spyOn(AttachmentPickerUtils, 'useAttachmentPickerContext').mockImplementation(() => {
|
|
23
|
+
const attachmentPickerStore = new AttachmentPickerStore();
|
|
24
|
+
attachmentPickerStore.setSelectedPicker('images');
|
|
25
|
+
return {
|
|
26
|
+
AttachmentPickerSelectionBar,
|
|
27
|
+
AttachmentPickerContent,
|
|
28
|
+
closePicker: jest.fn(),
|
|
29
|
+
openPicker: jest.fn(),
|
|
30
|
+
setBottomInset: jest.fn(),
|
|
31
|
+
setTopInset: jest.fn(),
|
|
32
|
+
attachmentPickerStore,
|
|
33
|
+
} as unknown as ReturnType<typeof AttachmentPickerUtils.useAttachmentPickerContext>;
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const renderComponent = ({
|
|
37
|
+
channelProps,
|
|
38
|
+
client,
|
|
39
|
+
props,
|
|
40
|
+
}: {
|
|
41
|
+
channelProps: Partial<ChannelProps>;
|
|
42
|
+
client: StreamChat;
|
|
43
|
+
props: React.ComponentProps<typeof MessageComposer>;
|
|
44
|
+
}) => {
|
|
37
45
|
return render(
|
|
38
46
|
<OverlayProvider>
|
|
39
47
|
<Chat client={client}>
|
|
40
|
-
<Channel {...channelProps}>
|
|
48
|
+
<Channel {...(channelProps as ChannelProps)}>
|
|
41
49
|
<MessageComposer {...props} />
|
|
42
50
|
</Channel>
|
|
43
51
|
</Chat>
|
|
@@ -46,8 +54,8 @@ const renderComponent = ({ channelProps, client, props }) => {
|
|
|
46
54
|
};
|
|
47
55
|
|
|
48
56
|
describe('MessageComposer', () => {
|
|
49
|
-
let client;
|
|
50
|
-
let channel;
|
|
57
|
+
let client: StreamChat;
|
|
58
|
+
let channel: ChannelType;
|
|
51
59
|
|
|
52
60
|
beforeEach(async () => {
|
|
53
61
|
jest.clearAllMocks();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
3
|
import { act, cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react-native';
|
|
4
|
+
import type { Channel as ChannelType, StreamChat } from 'stream-chat';
|
|
4
5
|
|
|
5
6
|
import { OverlayProvider } from '../../../contexts';
|
|
6
7
|
|
|
@@ -9,12 +10,20 @@ import { Channel } from '../../Channel/Channel';
|
|
|
9
10
|
import { Chat } from '../../Chat/Chat';
|
|
10
11
|
import { SendButton } from '../components/OutputButtons/SendButton';
|
|
11
12
|
|
|
12
|
-
const renderComponent = ({
|
|
13
|
+
const renderComponent = ({
|
|
14
|
+
client,
|
|
15
|
+
channel,
|
|
16
|
+
props,
|
|
17
|
+
}: {
|
|
18
|
+
channel: ChannelType;
|
|
19
|
+
client: StreamChat;
|
|
20
|
+
props: Partial<React.ComponentProps<typeof SendButton>>;
|
|
21
|
+
}) => {
|
|
13
22
|
return render(
|
|
14
23
|
<OverlayProvider>
|
|
15
24
|
<Chat client={client}>
|
|
16
25
|
<Channel channel={channel}>
|
|
17
|
-
<SendButton {...props} />
|
|
26
|
+
<SendButton {...(props as React.ComponentProps<typeof SendButton>)} />
|
|
18
27
|
</Channel>
|
|
19
28
|
</Chat>
|
|
20
29
|
</OverlayProvider>,
|
|
@@ -22,8 +31,8 @@ const renderComponent = ({ client, channel, props }) => {
|
|
|
22
31
|
};
|
|
23
32
|
|
|
24
33
|
describe('SendButton', () => {
|
|
25
|
-
let client;
|
|
26
|
-
let channel;
|
|
34
|
+
let client: StreamChat;
|
|
35
|
+
let channel: ChannelType;
|
|
27
36
|
|
|
28
37
|
beforeEach(async () => {
|
|
29
38
|
const { client: chatClient, channels } = await initiateClientWithChannels();
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ComponentProps } from 'react';
|
|
2
2
|
|
|
3
3
|
import { Alert } from 'react-native';
|
|
4
4
|
|
|
5
5
|
import { act, cleanup, render, screen, waitFor } from '@testing-library/react-native';
|
|
6
6
|
|
|
7
|
+
import type { Channel as ChannelType, StreamChat } from 'stream-chat';
|
|
7
8
|
import { MessageComposer as StreamMessageComposer } from 'stream-chat';
|
|
8
9
|
|
|
9
10
|
import * as AttachmentPickerUtils from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';
|
|
@@ -24,23 +25,29 @@ import { Chat } from '../../Chat/Chat';
|
|
|
24
25
|
import { MessageComposer } from '../MessageComposer';
|
|
25
26
|
|
|
26
27
|
jest.spyOn(Alert, 'alert');
|
|
27
|
-
jest.spyOn(AttachmentPickerUtils, 'useAttachmentPickerContext').mockImplementation(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
28
|
+
jest.spyOn(AttachmentPickerUtils, 'useAttachmentPickerContext').mockImplementation(() => {
|
|
29
|
+
const attachmentPickerStore = new AttachmentPickerStore();
|
|
30
|
+
attachmentPickerStore.setSelectedPicker('images');
|
|
31
|
+
return {
|
|
32
|
+
AttachmentPickerSelectionBar,
|
|
33
|
+
AttachmentPickerContent,
|
|
34
|
+
closePicker: jest.fn(),
|
|
35
|
+
openPicker: jest.fn(),
|
|
36
|
+
setBottomInset: jest.fn(),
|
|
37
|
+
setTopInset: jest.fn(),
|
|
38
|
+
attachmentPickerStore,
|
|
39
|
+
} as unknown as ReturnType<typeof AttachmentPickerUtils.useAttachmentPickerContext>;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const renderComponent = ({
|
|
43
|
+
channelProps,
|
|
44
|
+
client,
|
|
45
|
+
props,
|
|
46
|
+
}: {
|
|
47
|
+
channelProps: Partial<ComponentProps<typeof Channel>> & { channel: ChannelType };
|
|
48
|
+
client: StreamChat;
|
|
49
|
+
props: Partial<ComponentProps<typeof MessageComposer>>;
|
|
50
|
+
}) => {
|
|
44
51
|
return render(
|
|
45
52
|
<OverlayProvider>
|
|
46
53
|
<Chat client={client}>
|
|
@@ -52,14 +59,22 @@ const renderComponent = ({ channelProps, client, props }) => {
|
|
|
52
59
|
);
|
|
53
60
|
};
|
|
54
61
|
|
|
55
|
-
const editedMessageSetup = async ({
|
|
62
|
+
const editedMessageSetup = async ({
|
|
63
|
+
composerConfig,
|
|
64
|
+
composition,
|
|
65
|
+
}: {
|
|
66
|
+
composerConfig?: ConstructorParameters<typeof StreamMessageComposer>[0]['config'];
|
|
67
|
+
composition?: ConstructorParameters<typeof StreamMessageComposer>[0]['composition'];
|
|
68
|
+
} = {}) => {
|
|
56
69
|
const { client: chatClient, channels } = await initiateClientWithChannels();
|
|
57
70
|
const channel = channels[0];
|
|
58
71
|
|
|
59
72
|
const messageComposer = new StreamMessageComposer({
|
|
60
73
|
client: chatClient,
|
|
61
74
|
composition,
|
|
62
|
-
compositionContext: composition
|
|
75
|
+
compositionContext: composition as unknown as ConstructorParameters<
|
|
76
|
+
typeof StreamMessageComposer
|
|
77
|
+
>[0]['compositionContext'],
|
|
63
78
|
config: composerConfig,
|
|
64
79
|
});
|
|
65
80
|
|
|
@@ -70,8 +85,8 @@ const editedMessageSetup = async ({ composerConfig, composition } = {}) => {
|
|
|
70
85
|
};
|
|
71
86
|
|
|
72
87
|
describe('SendMessageDisallowedIndicator', () => {
|
|
73
|
-
let client;
|
|
74
|
-
let channel;
|
|
88
|
+
let client: StreamChat;
|
|
89
|
+
let channel: ChannelType;
|
|
75
90
|
|
|
76
91
|
beforeEach(async () => {
|
|
77
92
|
const { client: chatClient, channels } = await initiateClientWithChannels();
|
|
@@ -101,8 +116,8 @@ describe('SendMessageDisallowedIndicator', () => {
|
|
|
101
116
|
|
|
102
117
|
act(() => {
|
|
103
118
|
client.dispatchEvent({
|
|
104
|
-
cid: channel.data
|
|
105
|
-
own_capabilities: channel.data
|
|
119
|
+
cid: channel.data!.cid,
|
|
120
|
+
own_capabilities: channel.data!.own_capabilities!.filter(
|
|
106
121
|
(capability) => capability !== 'send-message',
|
|
107
122
|
),
|
|
108
123
|
type: 'capabilities.changed',
|
|
@@ -139,11 +154,12 @@ describe('SendMessageDisallowedIndicator', () => {
|
|
|
139
154
|
client.dispatchEvent({
|
|
140
155
|
channel: {
|
|
141
156
|
...channel.data,
|
|
142
|
-
own_capabilities: channel.data
|
|
143
|
-
(capability) => capability !== 'send-message',
|
|
157
|
+
own_capabilities: channel.data!.own_capabilities!.filter(
|
|
158
|
+
(capability: string) => capability !== 'send-message',
|
|
144
159
|
),
|
|
145
|
-
|
|
146
|
-
|
|
160
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
161
|
+
} as any,
|
|
162
|
+
cid: channel.data!.cid,
|
|
147
163
|
type: 'channel.updated',
|
|
148
164
|
});
|
|
149
165
|
});
|
|
@@ -180,9 +196,9 @@ describe("SendMessageDisallowedIndicator's edited state", () => {
|
|
|
180
196
|
|
|
181
197
|
act(() => {
|
|
182
198
|
chatClient.dispatchEvent({
|
|
183
|
-
cid: customChannel.data
|
|
184
|
-
own_capabilities: customChannel.data
|
|
185
|
-
(capability) => capability !== 'send-message',
|
|
199
|
+
cid: customChannel.data!.cid,
|
|
200
|
+
own_capabilities: customChannel.data!.own_capabilities!.filter(
|
|
201
|
+
(capability: string) => capability !== 'send-message',
|
|
186
202
|
),
|
|
187
203
|
type: 'capabilities.changed',
|
|
188
204
|
});
|