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
|
@@ -1,21 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
ChannelMemberResponse,
|
|
3
|
+
ChannelResponse,
|
|
4
|
+
DraftResponse,
|
|
5
|
+
LocalMessage,
|
|
6
|
+
MessageResponse,
|
|
7
|
+
ReadResponse,
|
|
8
|
+
} from 'stream-chat';
|
|
9
|
+
|
|
10
|
+
import { mockedApiResponse, type MockedApiResponse } from './utils';
|
|
11
|
+
|
|
12
|
+
// Mock message input is either a `MessageResponse` (server shape) or a
|
|
13
|
+
// `LocalMessage` (client shape — what `generateMessage` produces). The
|
|
14
|
+
// downstream stream-chat client formats these interchangeably.
|
|
15
|
+
type MockMessage = Partial<MessageResponse> | LocalMessage;
|
|
3
16
|
|
|
4
17
|
export type GetOrCreateChannelApiParams = {
|
|
5
|
-
draft?:
|
|
6
|
-
channel?:
|
|
7
|
-
members?:
|
|
8
|
-
messages?:
|
|
9
|
-
pinnedMessages?:
|
|
10
|
-
read?:
|
|
18
|
+
draft?: Partial<DraftResponse>;
|
|
19
|
+
channel?: Partial<ChannelResponse>;
|
|
20
|
+
members?: Partial<ChannelMemberResponse>[];
|
|
21
|
+
messages?: MockMessage[];
|
|
22
|
+
pinnedMessages?: MockMessage[];
|
|
23
|
+
read?: Partial<ReadResponse>[];
|
|
11
24
|
};
|
|
12
25
|
|
|
13
26
|
/**
|
|
14
27
|
* Returns the api response for queryChannel api.
|
|
15
28
|
*
|
|
16
29
|
* api - /channels/{type}/{id}/query
|
|
17
|
-
*
|
|
18
|
-
* @param {*} channel
|
|
19
30
|
*/
|
|
20
31
|
export const getOrCreateChannelApi = (
|
|
21
32
|
channel: GetOrCreateChannelApiParams = {
|
|
@@ -26,7 +37,7 @@ export const getOrCreateChannelApi = (
|
|
|
26
37
|
pinnedMessages: [],
|
|
27
38
|
read: [],
|
|
28
39
|
},
|
|
29
|
-
) => {
|
|
40
|
+
): MockedApiResponse => {
|
|
30
41
|
const result = {
|
|
31
42
|
channel: channel.channel,
|
|
32
43
|
draft: channel.draft,
|
package/src/mock-builders/api/{initiateClientWithChannels.js → initiateClientWithChannels.ts}
RENAMED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { Channel, StreamChat, UserResponse } from 'stream-chat';
|
|
2
|
+
|
|
1
3
|
import { getOrCreateChannelApi } from './getOrCreateChannel';
|
|
2
4
|
import { useMockedApis } from './useMockedApis';
|
|
3
5
|
|
|
@@ -6,14 +8,24 @@ import { generateMember } from '../generator/member';
|
|
|
6
8
|
import { generateUser } from '../generator/user';
|
|
7
9
|
import { getTestClientWithUser } from '../mock';
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
type ChannelData = Parameters<typeof generateChannel>[0];
|
|
12
|
+
|
|
13
|
+
const initChannelFromData = async ({
|
|
14
|
+
channelData,
|
|
15
|
+
client,
|
|
16
|
+
defaultGenerateChannelOptions,
|
|
17
|
+
}: {
|
|
18
|
+
channelData: ChannelData;
|
|
19
|
+
client: StreamChat;
|
|
20
|
+
defaultGenerateChannelOptions: ChannelData;
|
|
21
|
+
}): Promise<Channel> => {
|
|
10
22
|
const mockedChannelData = generateChannel({
|
|
11
23
|
...defaultGenerateChannelOptions,
|
|
12
24
|
...channelData,
|
|
13
25
|
});
|
|
14
26
|
|
|
15
27
|
useMockedApis(client, [getOrCreateChannelApi(mockedChannelData)]);
|
|
16
|
-
const channel = client.channel(mockedChannelData.
|
|
28
|
+
const channel = client.channel(mockedChannelData.type, mockedChannelData.id);
|
|
17
29
|
await channel.watch();
|
|
18
30
|
jest.spyOn(channel, 'getConfig').mockImplementation(() => mockedChannelData.channel.config);
|
|
19
31
|
// jest
|
|
@@ -22,7 +34,13 @@ const initChannelFromData = async ({ channelData, client, defaultGenerateChannel
|
|
|
22
34
|
return channel;
|
|
23
35
|
};
|
|
24
36
|
|
|
25
|
-
export const initiateClientWithChannels = async ({
|
|
37
|
+
export const initiateClientWithChannels = async ({
|
|
38
|
+
channelsData,
|
|
39
|
+
customUser,
|
|
40
|
+
}: {
|
|
41
|
+
channelsData?: ChannelData[];
|
|
42
|
+
customUser?: UserResponse;
|
|
43
|
+
} = {}): Promise<{ channels: Channel[]; client: StreamChat }> => {
|
|
26
44
|
const user = customUser || generateUser();
|
|
27
45
|
const client = await getTestClientWithUser(user);
|
|
28
46
|
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { mockedApiResponse } from './utils';
|
|
1
|
+
import { mockedApiResponse, type MockedApiResponse } from './utils';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Returns the api response for queryChannels api
|
|
5
5
|
*
|
|
6
6
|
* api - /channels
|
|
7
|
-
*
|
|
8
|
-
* @param {*} channels Array of channel objects.
|
|
9
7
|
*/
|
|
10
|
-
export const queryChannelsApi = (channels = []) => {
|
|
8
|
+
export const queryChannelsApi = (channels: unknown[] = []): MockedApiResponse => {
|
|
11
9
|
const result = {
|
|
12
10
|
channels,
|
|
13
11
|
duration: 0.01,
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelMemberResponse } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
import { mockedApiResponse, type MockedApiResponse } from './utils';
|
|
2
5
|
|
|
3
6
|
/**
|
|
4
7
|
* Returns the api response for queryMembers api
|
|
5
8
|
*
|
|
6
9
|
* api - /query_members
|
|
7
|
-
*
|
|
8
|
-
* @param {*} members Array of User objects.
|
|
9
10
|
*/
|
|
10
|
-
export const queryMembersApi = (members = []) => {
|
|
11
|
+
export const queryMembersApi = (members: ChannelMemberResponse[] = []): MockedApiResponse => {
|
|
11
12
|
const result = {
|
|
12
13
|
members,
|
|
13
14
|
};
|
|
@@ -15,8 +16,8 @@ export const queryMembersApi = (members = []) => {
|
|
|
15
16
|
return mockedApiResponse(result, 'get');
|
|
16
17
|
};
|
|
17
18
|
|
|
18
|
-
export const CHANNEL_MEMBERS = [
|
|
19
|
-
{
|
|
19
|
+
export const CHANNEL_MEMBERS: ChannelMemberResponse[] = [
|
|
20
|
+
fromPartial<ChannelMemberResponse>({
|
|
20
21
|
banned: false,
|
|
21
22
|
channel_role: 'channel_member',
|
|
22
23
|
created_at: '2021-01-27T11:54:34.173125Z',
|
|
@@ -28,8 +29,8 @@ export const CHANNEL_MEMBERS = [
|
|
|
28
29
|
name: 'ben',
|
|
29
30
|
},
|
|
30
31
|
user_id: 'ben',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
32
|
+
}),
|
|
33
|
+
fromPartial<ChannelMemberResponse>({
|
|
33
34
|
banned: false,
|
|
34
35
|
channel_role: 'channel_member',
|
|
35
36
|
created_at: '2021-01-27T11:54:34.173125Z',
|
|
@@ -41,8 +42,8 @@ export const CHANNEL_MEMBERS = [
|
|
|
41
42
|
name: 'nick',
|
|
42
43
|
},
|
|
43
44
|
user_id: 'nick',
|
|
44
|
-
},
|
|
45
|
-
{
|
|
45
|
+
}),
|
|
46
|
+
fromPartial<ChannelMemberResponse>({
|
|
46
47
|
banned: false,
|
|
47
48
|
channel_role: 'channel_member',
|
|
48
49
|
created_at: '2021-01-27T11:54:34.173125Z',
|
|
@@ -54,8 +55,8 @@ export const CHANNEL_MEMBERS = [
|
|
|
54
55
|
name: 'okechukwu nwagba',
|
|
55
56
|
},
|
|
56
57
|
user_id: 'okechukwu nwagba',
|
|
57
|
-
},
|
|
58
|
-
{
|
|
58
|
+
}),
|
|
59
|
+
fromPartial<ChannelMemberResponse>({
|
|
59
60
|
banned: false,
|
|
60
61
|
channel_role: 'channel_member',
|
|
61
62
|
created_at: '2021-01-28T09:08:43.274508Z',
|
|
@@ -67,9 +68,9 @@ export const CHANNEL_MEMBERS = [
|
|
|
67
68
|
name: 'qatest1',
|
|
68
69
|
},
|
|
69
70
|
user_id: 'qatest1',
|
|
70
|
-
},
|
|
71
|
+
}),
|
|
71
72
|
|
|
72
|
-
{
|
|
73
|
+
fromPartial<ChannelMemberResponse>({
|
|
73
74
|
banned: false,
|
|
74
75
|
channel_role: 'channel_member',
|
|
75
76
|
created_at: '2021-01-27T11:54:34.173125Z',
|
|
@@ -81,11 +82,11 @@ export const CHANNEL_MEMBERS = [
|
|
|
81
82
|
name: 'thierry',
|
|
82
83
|
},
|
|
83
84
|
user_id: 'thierry',
|
|
84
|
-
},
|
|
85
|
+
}),
|
|
85
86
|
];
|
|
86
87
|
|
|
87
|
-
export const ONE_CHANNEL_MEMBER = [
|
|
88
|
-
{
|
|
88
|
+
export const ONE_CHANNEL_MEMBER: ChannelMemberResponse[] = [
|
|
89
|
+
fromPartial<ChannelMemberResponse>({
|
|
89
90
|
banned: false,
|
|
90
91
|
channel_role: 'channel_member',
|
|
91
92
|
created_at: '2021-01-27T11:54:34.173125Z',
|
|
@@ -97,20 +98,21 @@ export const ONE_CHANNEL_MEMBER = [
|
|
|
97
98
|
name: 'okechukwu nwagba martin',
|
|
98
99
|
},
|
|
99
100
|
user_id: 'okechukwu nwagba martin',
|
|
100
|
-
},
|
|
101
|
+
}),
|
|
101
102
|
];
|
|
102
103
|
|
|
103
|
-
export const ONE_CHANNEL_MEMBER_MOCK = {
|
|
104
|
+
export const ONE_CHANNEL_MEMBER_MOCK: Record<string, ChannelMemberResponse> = {
|
|
104
105
|
okey: ONE_CHANNEL_MEMBER[0],
|
|
105
106
|
};
|
|
106
107
|
|
|
107
|
-
export const GROUP_CHANNEL_MEMBERS_MOCK
|
|
108
|
-
acc
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
export const GROUP_CHANNEL_MEMBERS_MOCK: Record<string, ChannelMemberResponse> =
|
|
109
|
+
CHANNEL_MEMBERS.reduce<Record<string, ChannelMemberResponse>>((acc, member) => {
|
|
110
|
+
if (member.user_id) acc[member.user_id] = member;
|
|
111
|
+
return acc;
|
|
112
|
+
}, {});
|
|
111
113
|
|
|
112
|
-
export const ONE_MEMBER_WITH_EMPTY_USER = [
|
|
113
|
-
{
|
|
114
|
+
export const ONE_MEMBER_WITH_EMPTY_USER: ChannelMemberResponse[] = [
|
|
115
|
+
fromPartial<ChannelMemberResponse>({
|
|
114
116
|
banned: false,
|
|
115
117
|
channel_role: 'channel_member',
|
|
116
118
|
created_at: '2021-01-27T11:54:34.173125Z',
|
|
@@ -119,9 +121,9 @@ export const ONE_MEMBER_WITH_EMPTY_USER = [
|
|
|
119
121
|
updated_at: '2021-02-12T12:12:35.862282Z',
|
|
120
122
|
user: {},
|
|
121
123
|
user_id: 'okechukwu nwagba martin',
|
|
122
|
-
},
|
|
124
|
+
}),
|
|
123
125
|
];
|
|
124
126
|
|
|
125
|
-
export const ONE_MEMBER_WITH_EMPTY_USER_MOCK = {
|
|
127
|
+
export const ONE_MEMBER_WITH_EMPTY_USER_MOCK: Record<string, ChannelMemberResponse> = {
|
|
126
128
|
okey: ONE_MEMBER_WITH_EMPTY_USER[0],
|
|
127
129
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { LocalMessage, MessageResponse } from 'stream-chat';
|
|
2
|
+
|
|
3
|
+
import { mockedApiResponse, type MockedApiResponse } from './utils';
|
|
4
|
+
|
|
5
|
+
import { generateMessage } from '../generator/message';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Returns the api response for sendMessage api.
|
|
9
|
+
*
|
|
10
|
+
* api - /channels/{type}/{id}/message
|
|
11
|
+
*
|
|
12
|
+
* Accepts either `MessageResponse` or `LocalMessage`; the mock infra treats
|
|
13
|
+
* them interchangeably at runtime, even though the real API shape is
|
|
14
|
+
* `MessageResponse`.
|
|
15
|
+
*/
|
|
16
|
+
export const sendMessageApi = (
|
|
17
|
+
message: MessageResponse | LocalMessage = generateMessage(),
|
|
18
|
+
): MockedApiResponse => {
|
|
19
|
+
const result = {
|
|
20
|
+
duration: 0.01,
|
|
21
|
+
message,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return mockedApiResponse(result, 'post');
|
|
25
|
+
};
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { LocalMessage, MessageResponse, ReactionResponse } from 'stream-chat';
|
|
2
|
+
|
|
3
|
+
import { mockedApiResponse, type MockedApiResponse } from './utils';
|
|
2
4
|
|
|
3
5
|
import { generateReaction } from '../generator/reaction';
|
|
6
|
+
|
|
4
7
|
/**
|
|
5
|
-
* Returns the api response for
|
|
8
|
+
* Returns the api response for sendReaction api.
|
|
6
9
|
*
|
|
7
10
|
* api - /messages/{id}/reaction
|
|
8
|
-
*
|
|
9
|
-
* @param {*} message
|
|
10
11
|
*/
|
|
11
|
-
export const sendReactionApi = (
|
|
12
|
+
export const sendReactionApi = (
|
|
13
|
+
message: MessageResponse | LocalMessage,
|
|
14
|
+
reaction: ReactionResponse = generateReaction(),
|
|
15
|
+
): MockedApiResponse => {
|
|
12
16
|
const result = {
|
|
13
17
|
duration: 0.01,
|
|
14
18
|
message,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { LocalMessage, MessageResponse } from 'stream-chat';
|
|
2
|
+
|
|
3
|
+
import { mockedApiResponse, type MockedApiResponse } from './utils';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Returns the api response for thread replies api
|
|
7
|
+
*
|
|
8
|
+
* api - /messages/${parent_id}/replies
|
|
9
|
+
*/
|
|
10
|
+
export const threadRepliesApi = (
|
|
11
|
+
replies: Array<MessageResponse | LocalMessage> = [],
|
|
12
|
+
): MockedApiResponse => {
|
|
13
|
+
const result = {
|
|
14
|
+
messages: replies,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
return mockedApiResponse(result, 'get');
|
|
18
|
+
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import type { StreamChat } from 'stream-chat';
|
|
2
|
+
|
|
3
|
+
import type { MockedApiResponse } from './utils';
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* Hook to mock the calls made through axios module.
|
|
3
7
|
* You should provide the responses of Apis in order that they will be called.
|
|
4
8
|
* You should use api functions from current directory to build these responses.
|
|
5
9
|
* e.g., queryChannelsApi, sendMessageApi
|
|
6
|
-
*
|
|
7
|
-
* @param {StreamClient} client
|
|
8
|
-
* @param {*} apiResponses
|
|
9
10
|
*/
|
|
10
|
-
export const useMockedApis = (client, apiResponses) => {
|
|
11
|
+
export const useMockedApis = (client: StreamChat, apiResponses: MockedApiResponse[]) => {
|
|
11
12
|
apiResponses.forEach(({ response, type }) => {
|
|
12
13
|
jest.spyOn(client.axiosInstance, type).mockImplementation().mockResolvedValue(response);
|
|
13
14
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type MockedApiResponse = {
|
|
2
|
+
response: { data: unknown; status: number };
|
|
3
|
+
type: 'get' | 'post' | 'put' | 'delete';
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export const mockedApiResponse = (
|
|
7
|
+
response: unknown,
|
|
8
|
+
type: MockedApiResponse['type'] = 'get',
|
|
9
|
+
status = 200,
|
|
10
|
+
): MockedApiResponse => ({
|
|
11
|
+
response: {
|
|
12
|
+
data: response,
|
|
13
|
+
status,
|
|
14
|
+
},
|
|
15
|
+
type,
|
|
16
|
+
});
|
|
@@ -1,43 +1,59 @@
|
|
|
1
|
+
import type { Attachment } from 'stream-chat';
|
|
2
|
+
|
|
1
3
|
import { generateRandomId } from '../utils/utils';
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
type FileReference = {
|
|
6
|
+
name: string;
|
|
7
|
+
size: number;
|
|
8
|
+
type: string;
|
|
9
|
+
uri: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type LocalAttachmentData = {
|
|
13
|
+
localMetadata: { id: string };
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const generateLocalAttachmentData = (): LocalAttachmentData => ({
|
|
4
17
|
localMetadata: {
|
|
5
18
|
id: generateRandomId(),
|
|
6
19
|
},
|
|
7
20
|
});
|
|
8
21
|
|
|
9
|
-
export const generateLocalFileUploadAttachmentData = (
|
|
22
|
+
export const generateLocalFileUploadAttachmentData = (
|
|
23
|
+
overrides?: Partial<LocalAttachmentData & { file: Partial<FileReference> }>,
|
|
24
|
+
attachmentData?: Partial<Attachment>,
|
|
25
|
+
) => ({
|
|
10
26
|
localMetadata: {
|
|
11
27
|
...generateLocalAttachmentData().localMetadata,
|
|
12
28
|
...overrides,
|
|
13
29
|
file: generateFileReference(overrides?.file ?? {}),
|
|
14
30
|
},
|
|
15
|
-
type: 'file',
|
|
31
|
+
type: 'file' as const,
|
|
16
32
|
...attachmentData,
|
|
17
33
|
});
|
|
18
34
|
|
|
19
|
-
export const generateImageAttachment = (a) => ({
|
|
35
|
+
export const generateImageAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
20
36
|
fallback: generateRandomId() + '.png',
|
|
21
37
|
image_url: 'https://' + generateRandomId() + '.png',
|
|
22
38
|
type: 'image',
|
|
23
39
|
...a,
|
|
24
40
|
});
|
|
25
41
|
|
|
26
|
-
export const generateAudioAttachment = (a) => ({
|
|
42
|
+
export const generateAudioAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
27
43
|
asset_url: 'https://' + generateRandomId() + '.mp3',
|
|
28
44
|
fallback: generateRandomId() + '.mp3',
|
|
29
45
|
type: 'audio',
|
|
30
46
|
...a,
|
|
31
47
|
});
|
|
32
48
|
|
|
33
|
-
export const generateFileAttachment = (a) => ({
|
|
49
|
+
export const generateFileAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
34
50
|
asset_url: 'https://' + generateRandomId() + '.xls',
|
|
35
51
|
fallback: generateRandomId() + '.xls',
|
|
36
52
|
type: 'file',
|
|
37
53
|
...a,
|
|
38
54
|
});
|
|
39
55
|
|
|
40
|
-
export const generateVideoAttachment = (a) => ({
|
|
56
|
+
export const generateVideoAttachment = (a?: Partial<Attachment>): Attachment => ({
|
|
41
57
|
fallback: generateRandomId() + '.mp4',
|
|
42
58
|
image_url: 'https://' + generateRandomId() + '.mp4',
|
|
43
59
|
type: 'video',
|
|
@@ -46,7 +62,7 @@ export const generateVideoAttachment = (a) => ({
|
|
|
46
62
|
|
|
47
63
|
const fileName = generateRandomId() + '.png';
|
|
48
64
|
|
|
49
|
-
export const generateFileReference = (a) => ({
|
|
65
|
+
export const generateFileReference = (a?: Partial<FileReference>): FileReference => ({
|
|
50
66
|
name: fileName,
|
|
51
67
|
size: 1000,
|
|
52
68
|
type: 'image/png',
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'channel.deleted',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'channel.hidden',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'channel.truncated',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'channel.updated',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, channel: Partial<ChannelResponse> = {}) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
channel,
|
|
8
|
+
cid: channel.cid,
|
|
9
|
+
type: 'channel.visible',
|
|
10
|
+
}),
|
|
11
|
+
);
|
|
12
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (client: StreamChat, online = true) => {
|
|
5
|
+
client.dispatchEvent(
|
|
6
|
+
fromPartial<Event>({
|
|
7
|
+
online,
|
|
8
|
+
type: 'connection.changed',
|
|
9
|
+
}),
|
|
10
|
+
);
|
|
11
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelMemberResponse, ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (
|
|
5
|
+
client: StreamChat,
|
|
6
|
+
member: ChannelMemberResponse,
|
|
7
|
+
channel: Partial<ChannelResponse> = {},
|
|
8
|
+
) => {
|
|
9
|
+
client.dispatchEvent(
|
|
10
|
+
fromPartial<Event>({
|
|
11
|
+
channel_id: channel.id,
|
|
12
|
+
channel_type: channel.type,
|
|
13
|
+
cid: channel.cid,
|
|
14
|
+
member,
|
|
15
|
+
type: 'member.added',
|
|
16
|
+
user: member.user,
|
|
17
|
+
}),
|
|
18
|
+
);
|
|
19
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelMemberResponse, ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (
|
|
5
|
+
client: StreamChat,
|
|
6
|
+
member: ChannelMemberResponse,
|
|
7
|
+
channel: Partial<ChannelResponse> = {},
|
|
8
|
+
) => {
|
|
9
|
+
client.dispatchEvent(
|
|
10
|
+
fromPartial<Event>({
|
|
11
|
+
channel,
|
|
12
|
+
cid: channel.cid,
|
|
13
|
+
member,
|
|
14
|
+
type: 'member.removed',
|
|
15
|
+
user: member.user,
|
|
16
|
+
}),
|
|
17
|
+
);
|
|
18
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelMemberResponse, ChannelResponse, Event, StreamChat } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (
|
|
5
|
+
client: StreamChat,
|
|
6
|
+
member: ChannelMemberResponse,
|
|
7
|
+
channel: Partial<ChannelResponse> = {},
|
|
8
|
+
) => {
|
|
9
|
+
client.dispatchEvent(
|
|
10
|
+
fromPartial<Event>({
|
|
11
|
+
channel,
|
|
12
|
+
cid: channel.cid,
|
|
13
|
+
member,
|
|
14
|
+
type: 'member.updated',
|
|
15
|
+
user: member.user,
|
|
16
|
+
}),
|
|
17
|
+
);
|
|
18
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type {
|
|
3
|
+
ChannelResponse,
|
|
4
|
+
Event,
|
|
5
|
+
LocalMessage,
|
|
6
|
+
MessageResponse,
|
|
7
|
+
StreamChat,
|
|
8
|
+
} from 'stream-chat';
|
|
9
|
+
|
|
10
|
+
export default (
|
|
11
|
+
client: StreamChat,
|
|
12
|
+
message: MessageResponse | LocalMessage,
|
|
13
|
+
channel: Partial<ChannelResponse> = {},
|
|
14
|
+
) => {
|
|
15
|
+
client.dispatchEvent(
|
|
16
|
+
fromPartial<Event>({
|
|
17
|
+
channel,
|
|
18
|
+
cid: channel.cid,
|
|
19
|
+
message: message as MessageResponse,
|
|
20
|
+
type: 'message.deleted',
|
|
21
|
+
}),
|
|
22
|
+
);
|
|
23
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type {
|
|
3
|
+
ChannelResponse,
|
|
4
|
+
Event,
|
|
5
|
+
LocalMessage,
|
|
6
|
+
MessageResponse,
|
|
7
|
+
StreamChat,
|
|
8
|
+
} from 'stream-chat';
|
|
9
|
+
|
|
10
|
+
export default (
|
|
11
|
+
client: StreamChat,
|
|
12
|
+
newMessage: MessageResponse | LocalMessage,
|
|
13
|
+
channel: Partial<ChannelResponse> = {},
|
|
14
|
+
) => {
|
|
15
|
+
client.dispatchEvent(
|
|
16
|
+
fromPartial<Event>({
|
|
17
|
+
channel,
|
|
18
|
+
channel_id: channel.id,
|
|
19
|
+
channel_type: channel.type,
|
|
20
|
+
cid: channel.cid,
|
|
21
|
+
message: newMessage as MessageResponse,
|
|
22
|
+
type: 'message.new',
|
|
23
|
+
...(newMessage.user ? { user: newMessage.user } : {}),
|
|
24
|
+
}),
|
|
25
|
+
);
|
|
26
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { fromPartial } from '@total-typescript/shoehorn';
|
|
2
|
+
import type { ChannelResponse, Event, StreamChat, UserResponse } from 'stream-chat';
|
|
3
|
+
|
|
4
|
+
export default (
|
|
5
|
+
client: StreamChat,
|
|
6
|
+
user: UserResponse,
|
|
7
|
+
channel: Partial<ChannelResponse> = {},
|
|
8
|
+
payload: Partial<Event> = {},
|
|
9
|
+
): Event => {
|
|
10
|
+
const newDate = new Date() as unknown as string;
|
|
11
|
+
const event = fromPartial<Event>({
|
|
12
|
+
channel,
|
|
13
|
+
cid: channel.cid,
|
|
14
|
+
created_at: newDate,
|
|
15
|
+
received_at: newDate,
|
|
16
|
+
type: 'message.read',
|
|
17
|
+
user,
|
|
18
|
+
...payload,
|
|
19
|
+
});
|
|
20
|
+
client.dispatchEvent(event);
|
|
21
|
+
|
|
22
|
+
return event;
|
|
23
|
+
};
|