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.
Files changed (387) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.test.js +1 -1
  3. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.test.js.map +1 -1
  4. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  5. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  6. package/lib/commonjs/mock-builders/api/channelMocks.js +38 -31
  7. package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
  8. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
  9. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
  10. package/lib/commonjs/mock-builders/api/error.js.map +1 -1
  11. package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
  12. package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js +1 -1
  13. package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js.map +1 -1
  14. package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
  15. package/lib/commonjs/mock-builders/api/queryMembers.js +12 -11
  16. package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
  17. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  18. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
  19. package/lib/commonjs/mock-builders/api/threadReplies.js.map +1 -1
  20. package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
  21. package/lib/commonjs/mock-builders/api/utils.js.map +1 -1
  22. package/lib/commonjs/mock-builders/attachments.js.map +1 -1
  23. package/lib/commonjs/mock-builders/event/channelDeleted.js +3 -2
  24. package/lib/commonjs/mock-builders/event/channelDeleted.js.map +1 -1
  25. package/lib/commonjs/mock-builders/event/channelHidden.js +3 -2
  26. package/lib/commonjs/mock-builders/event/channelHidden.js.map +1 -1
  27. package/lib/commonjs/mock-builders/event/channelTruncated.js +3 -2
  28. package/lib/commonjs/mock-builders/event/channelTruncated.js.map +1 -1
  29. package/lib/commonjs/mock-builders/event/channelUpdated.js +3 -2
  30. package/lib/commonjs/mock-builders/event/channelUpdated.js.map +1 -1
  31. package/lib/commonjs/mock-builders/event/channelVisible.js +3 -2
  32. package/lib/commonjs/mock-builders/event/channelVisible.js.map +1 -1
  33. package/lib/commonjs/mock-builders/event/connectionChanged.js +3 -2
  34. package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
  35. package/lib/commonjs/mock-builders/event/connectionRecovered.js +3 -2
  36. package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
  37. package/lib/commonjs/mock-builders/event/memberAdded.js +3 -2
  38. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
  39. package/lib/commonjs/mock-builders/event/memberRemoved.js +3 -2
  40. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
  41. package/lib/commonjs/mock-builders/event/memberUpdated.js +3 -2
  42. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
  43. package/lib/commonjs/mock-builders/event/messageDeleted.js +3 -2
  44. package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
  45. package/lib/commonjs/mock-builders/event/messageNew.js +3 -2
  46. package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
  47. package/lib/commonjs/mock-builders/event/messageRead.js +3 -2
  48. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  49. package/lib/commonjs/mock-builders/event/messageUpdated.js +3 -2
  50. package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
  51. package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js +3 -2
  52. package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js.map +1 -1
  53. package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js +3 -2
  54. package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
  55. package/lib/commonjs/mock-builders/event/notificationMarkRead.js +3 -2
  56. package/lib/commonjs/mock-builders/event/notificationMarkRead.js.map +1 -1
  57. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +3 -2
  58. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -1
  59. package/lib/commonjs/mock-builders/event/notificationMessageNew.js +3 -2
  60. package/lib/commonjs/mock-builders/event/notificationMessageNew.js.map +1 -1
  61. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js +3 -2
  62. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  63. package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js +3 -2
  64. package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
  65. package/lib/commonjs/mock-builders/event/reactionDeleted.js +3 -2
  66. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -1
  67. package/lib/commonjs/mock-builders/event/reactionNew.js +3 -2
  68. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -1
  69. package/lib/commonjs/mock-builders/event/reactionUpdated.js +3 -2
  70. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -1
  71. package/lib/commonjs/mock-builders/event/typing.js +3 -2
  72. package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
  73. package/lib/commonjs/mock-builders/event/userPresence.js +3 -2
  74. package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
  75. package/lib/commonjs/mock-builders/event/userUpdated.js +3 -2
  76. package/lib/commonjs/mock-builders/event/userUpdated.js.map +1 -1
  77. package/lib/commonjs/mock-builders/generator/attachment.js +0 -3
  78. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  79. package/lib/commonjs/mock-builders/generator/channel.js +10 -12
  80. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  81. package/lib/commonjs/mock-builders/generator/member.js +3 -2
  82. package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
  83. package/lib/commonjs/mock-builders/generator/message.js +12 -7
  84. package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
  85. package/lib/commonjs/mock-builders/generator/reaction.js +3 -2
  86. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  87. package/lib/commonjs/mock-builders/generator/user.js +4 -3
  88. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  89. package/lib/commonjs/mock-builders/mock.js +15 -11
  90. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  91. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
  92. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
  93. package/lib/commonjs/store/apis/upsertDraft.js.map +1 -1
  94. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  95. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  96. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  97. package/lib/commonjs/test-utils/BetterSqlite.js +11 -7
  98. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  99. package/lib/commonjs/version.json +1 -1
  100. package/lib/module/components/Message/MessageItemView/utils/renderText.test.js +1 -1
  101. package/lib/module/components/Message/MessageItemView/utils/renderText.test.js.map +1 -1
  102. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  103. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  104. package/lib/module/mock-builders/api/channelMocks.js +38 -31
  105. package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
  106. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
  107. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
  108. package/lib/module/mock-builders/api/error.js.map +1 -1
  109. package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
  110. package/lib/module/mock-builders/api/initiateClientWithChannels.js +1 -1
  111. package/lib/module/mock-builders/api/initiateClientWithChannels.js.map +1 -1
  112. package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
  113. package/lib/module/mock-builders/api/queryMembers.js +12 -11
  114. package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
  115. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  116. package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
  117. package/lib/module/mock-builders/api/threadReplies.js.map +1 -1
  118. package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
  119. package/lib/module/mock-builders/api/utils.js.map +1 -1
  120. package/lib/module/mock-builders/attachments.js.map +1 -1
  121. package/lib/module/mock-builders/event/channelDeleted.js +3 -2
  122. package/lib/module/mock-builders/event/channelDeleted.js.map +1 -1
  123. package/lib/module/mock-builders/event/channelHidden.js +3 -2
  124. package/lib/module/mock-builders/event/channelHidden.js.map +1 -1
  125. package/lib/module/mock-builders/event/channelTruncated.js +3 -2
  126. package/lib/module/mock-builders/event/channelTruncated.js.map +1 -1
  127. package/lib/module/mock-builders/event/channelUpdated.js +3 -2
  128. package/lib/module/mock-builders/event/channelUpdated.js.map +1 -1
  129. package/lib/module/mock-builders/event/channelVisible.js +3 -2
  130. package/lib/module/mock-builders/event/channelVisible.js.map +1 -1
  131. package/lib/module/mock-builders/event/connectionChanged.js +3 -2
  132. package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
  133. package/lib/module/mock-builders/event/connectionRecovered.js +3 -2
  134. package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
  135. package/lib/module/mock-builders/event/memberAdded.js +3 -2
  136. package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
  137. package/lib/module/mock-builders/event/memberRemoved.js +3 -2
  138. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
  139. package/lib/module/mock-builders/event/memberUpdated.js +3 -2
  140. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
  141. package/lib/module/mock-builders/event/messageDeleted.js +3 -2
  142. package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
  143. package/lib/module/mock-builders/event/messageNew.js +3 -2
  144. package/lib/module/mock-builders/event/messageNew.js.map +1 -1
  145. package/lib/module/mock-builders/event/messageRead.js +3 -2
  146. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  147. package/lib/module/mock-builders/event/messageUpdated.js +3 -2
  148. package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
  149. package/lib/module/mock-builders/event/notificationAddedToChannel.js +3 -2
  150. package/lib/module/mock-builders/event/notificationAddedToChannel.js.map +1 -1
  151. package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js +3 -2
  152. package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
  153. package/lib/module/mock-builders/event/notificationMarkRead.js +3 -2
  154. package/lib/module/mock-builders/event/notificationMarkRead.js.map +1 -1
  155. package/lib/module/mock-builders/event/notificationMarkUnread.js +3 -2
  156. package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -1
  157. package/lib/module/mock-builders/event/notificationMessageNew.js +3 -2
  158. package/lib/module/mock-builders/event/notificationMessageNew.js.map +1 -1
  159. package/lib/module/mock-builders/event/notificationMutesUpdated.js +3 -2
  160. package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  161. package/lib/module/mock-builders/event/notificationRemovedFromChannel.js +3 -2
  162. package/lib/module/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
  163. package/lib/module/mock-builders/event/reactionDeleted.js +3 -2
  164. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -1
  165. package/lib/module/mock-builders/event/reactionNew.js +3 -2
  166. package/lib/module/mock-builders/event/reactionNew.js.map +1 -1
  167. package/lib/module/mock-builders/event/reactionUpdated.js +3 -2
  168. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -1
  169. package/lib/module/mock-builders/event/typing.js +3 -2
  170. package/lib/module/mock-builders/event/typing.js.map +1 -1
  171. package/lib/module/mock-builders/event/userPresence.js +3 -2
  172. package/lib/module/mock-builders/event/userPresence.js.map +1 -1
  173. package/lib/module/mock-builders/event/userUpdated.js +3 -2
  174. package/lib/module/mock-builders/event/userUpdated.js.map +1 -1
  175. package/lib/module/mock-builders/generator/attachment.js +0 -3
  176. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  177. package/lib/module/mock-builders/generator/channel.js +10 -12
  178. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  179. package/lib/module/mock-builders/generator/member.js +3 -2
  180. package/lib/module/mock-builders/generator/member.js.map +1 -1
  181. package/lib/module/mock-builders/generator/message.js +12 -7
  182. package/lib/module/mock-builders/generator/message.js.map +1 -1
  183. package/lib/module/mock-builders/generator/reaction.js +3 -2
  184. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  185. package/lib/module/mock-builders/generator/user.js +4 -3
  186. package/lib/module/mock-builders/generator/user.js.map +1 -1
  187. package/lib/module/mock-builders/mock.js +15 -11
  188. package/lib/module/mock-builders/mock.js.map +1 -1
  189. package/lib/module/store/apis/addPendingTask.js.map +1 -1
  190. package/lib/module/store/apis/deleteMessage.js.map +1 -1
  191. package/lib/module/store/apis/upsertDraft.js.map +1 -1
  192. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  193. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  194. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  195. package/lib/module/test-utils/BetterSqlite.js +11 -7
  196. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  197. package/lib/module/version.json +1 -1
  198. package/lib/typescript/components/UIComponents/SwipableWrapper.d.ts +1 -1
  199. package/lib/typescript/components/UIComponents/SwipableWrapper.d.ts.map +1 -1
  200. package/lib/typescript/store/OfflineDB.d.ts +1 -1
  201. package/lib/typescript/store/OfflineDB.d.ts.map +1 -1
  202. package/lib/typescript/store/apis/addPendingTask.d.ts.map +1 -1
  203. package/lib/typescript/store/apis/deleteMessage.d.ts +2 -1
  204. package/lib/typescript/store/apis/deleteMessage.d.ts.map +1 -1
  205. package/lib/typescript/store/apis/upsertDraft.d.ts +1 -1
  206. package/lib/typescript/store/apis/upsertDraft.d.ts.map +1 -1
  207. package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts.map +1 -1
  208. package/lib/typescript/test-utils/BetterSqlite.d.ts +4 -3
  209. package/lib/typescript/test-utils/BetterSqlite.d.ts.map +1 -1
  210. package/package.json +5 -3
  211. package/src/__tests__/offline-support/{offline-feature.js → offline-feature.tsx} +282 -139
  212. package/src/__tests__/offline-support/{optimistic-update.js → optimistic-update.tsx} +154 -84
  213. package/src/components/Attachment/__tests__/{Attachment.test.js → Attachment.test.tsx} +12 -8
  214. package/src/components/Attachment/__tests__/{Gallery.test.js → Gallery.test.tsx} +10 -3
  215. package/src/components/Attachment/__tests__/{Giphy.test.js → Giphy.test.tsx} +48 -19
  216. package/src/components/Attachment/__tests__/{buildGallery.test.js → buildGallery.test.ts} +4 -2
  217. package/src/components/AutoCompleteInput/__tests__/{AutoCompleteInput.test.js → AutoCompleteInput.test.tsx} +21 -11
  218. package/src/components/Channel/__tests__/{Channel.test.js → Channel.test.tsx} +129 -89
  219. package/src/components/Channel/__tests__/{isAttachmentEqualHandler.test.js → isAttachmentEqualHandler.test.tsx} +25 -8
  220. package/src/components/Channel/__tests__/{ownCapabilities.test.js → ownCapabilities.test.tsx} +16 -12
  221. package/src/components/Channel/__tests__/{useMessageListPagination.test.js → useMessageListPagination.test.tsx} +105 -63
  222. package/src/components/ChannelList/__tests__/{ChannelList.test.js → ChannelList.test.tsx} +63 -29
  223. package/src/components/ChannelList/__tests__/{ChannelListView.test.js → ChannelListView.test.tsx} +30 -20
  224. package/src/components/ChannelList/hooks/__tests__/useChannelActionItems.test.tsx +6 -6
  225. package/src/components/ChannelList/hooks/__tests__/useChannelActionItemsById.test.tsx +2 -2
  226. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +17 -14
  227. package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +14 -4
  228. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +23 -12
  229. package/src/components/ChannelPreview/__tests__/{ChannelPreviewView.test.js → ChannelPreviewView.test.tsx} +9 -34
  230. package/src/components/ChannelPreview/__tests__/ChannelSwipableWrapper.test.tsx +4 -2
  231. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayPresence.test.tsx +1 -1
  232. package/src/components/Chat/__tests__/{Chat.test.js → Chat.test.tsx} +37 -30
  233. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +10 -14
  234. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -3
  235. package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +5 -4
  236. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +7 -6
  237. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +9 -13
  238. package/src/components/Message/MessageItemView/__tests__/{Message.test.js → Message.test.tsx} +20 -11
  239. package/src/components/Message/MessageItemView/__tests__/{MessageAuthor.test.js → MessageAuthor.test.tsx} +10 -12
  240. package/src/components/Message/MessageItemView/__tests__/{MessageContent.test.js → MessageContent.test.tsx} +22 -12
  241. package/src/components/Message/MessageItemView/__tests__/{MessageItemView.test.js → MessageItemView.test.tsx} +11 -4
  242. package/src/components/Message/MessageItemView/__tests__/{MessagePinnedHeader.test.js → MessagePinnedHeader.test.tsx} +5 -3
  243. package/src/components/Message/MessageItemView/__tests__/{MessageReplies.test.js → MessageReplies.test.tsx} +15 -36
  244. package/src/components/Message/MessageItemView/__tests__/{MessageStatus.test.js → MessageStatus.test.tsx} +20 -10
  245. package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +8 -8
  246. package/src/components/Message/MessageItemView/__tests__/{ReactionListBottom.test.js → ReactionListBottom.test.tsx} +19 -8
  247. package/src/components/Message/MessageItemView/__tests__/{ReactionListTop.test.js → ReactionListTop.test.tsx} +8 -4
  248. package/src/components/Message/MessageItemView/utils/renderText.test.tsx +2 -4
  249. package/src/components/Message/MessageItemView/utils/renderText.tsx +1 -1
  250. package/src/components/Message/hooks/__tests__/useShouldUseOverlayStyles.test.tsx +2 -2
  251. package/src/components/MessageInput/__tests__/{AttachButton.test.js → AttachButton.test.tsx} +14 -4
  252. package/src/components/MessageInput/__tests__/{AttachmentUploadPreviewList.test.js → AttachmentUploadPreviewList.test.tsx} +27 -8
  253. package/src/components/MessageInput/__tests__/{AudioAttachmentUploadPreview.test.js → AudioAttachmentUploadPreview.test.tsx} +18 -5
  254. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewExpo.test.tsx +47 -15
  255. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewNative.test.tsx +57 -17
  256. package/src/components/MessageInput/__tests__/{InputButtons.test.js → InputButtons.test.tsx} +14 -4
  257. package/src/components/MessageInput/__tests__/{MessageComposer.test.js → MessageComposer.test.tsx} +28 -20
  258. package/src/components/MessageInput/__tests__/{SendButton.test.js → SendButton.test.tsx} +13 -4
  259. package/src/components/MessageInput/__tests__/{SendMessageDisallowedIndicator.test.js → SendMessageDisallowedIndicator.test.tsx} +47 -31
  260. package/src/components/MessageList/__tests__/{MessageList.test.js → MessageList.test.tsx} +31 -34
  261. package/src/components/MessageList/__tests__/{MessageSystem.test.js → MessageSystem.test.tsx} +13 -5
  262. package/src/components/MessageList/__tests__/{ScrollToBottomButton.test.js → ScrollToBottomButton.test.tsx} +8 -12
  263. package/src/components/MessageList/__tests__/{TypingIndicator.test.js → TypingIndicator.test.tsx} +6 -4
  264. package/src/components/MessageList/__tests__/useMessageList.test.tsx +2 -2
  265. package/src/components/MessageList/hooks/useMessageList.ts +1 -1
  266. package/src/components/MessageMenu/__tests__/MessageActionList.test.tsx +4 -1
  267. package/src/components/MessageMenu/__tests__/MessageActionListItem.test.tsx +1 -0
  268. package/src/components/MessageMenu/__tests__/MessageReactionPicker.test.tsx +6 -2
  269. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +3 -3
  270. package/src/components/MessageMenu/__tests__/MessageUserReactionsAvatar.test.tsx +7 -3
  271. package/src/components/MessageMenu/__tests__/MessageUserReactionsItem.test.tsx +2 -1
  272. package/src/components/Thread/__tests__/{Thread.test.js → Thread.test.tsx} +41 -13
  273. package/src/components/Thread/__tests__/__snapshots__/{Thread.test.js.snap → Thread.test.tsx.snap} +0 -21
  274. package/src/components/UIComponents/SwipableWrapper.tsx +1 -1
  275. package/src/components/UIComponents/__tests__/SwipableWrapper.test.tsx +1 -1
  276. package/src/contexts/messageInputContext/__tests__/filePickers.test.tsx +31 -10
  277. package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +24 -12
  278. package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +2 -2
  279. package/src/hooks/__tests__/useTranslatedMessage.test.tsx +4 -4
  280. package/src/mock-builders/DB/mock.ts +1 -1
  281. package/src/mock-builders/api/channelMocks.tsx +39 -29
  282. package/src/mock-builders/api/deleteMessage.ts +21 -0
  283. package/src/mock-builders/api/deleteReaction.ts +23 -0
  284. package/src/mock-builders/api/{error.js → error.ts} +13 -5
  285. package/src/mock-builders/api/getOrCreateChannel.ts +22 -11
  286. package/src/mock-builders/api/{initiateClientWithChannels.js → initiateClientWithChannels.ts} +21 -3
  287. package/src/mock-builders/api/{queryChannels.js → queryChannels.ts} +2 -4
  288. package/src/mock-builders/api/{queryMembers.js → queryMembers.ts} +29 -27
  289. package/src/mock-builders/api/sendMessage.ts +25 -0
  290. package/src/mock-builders/api/sendReaction.ts +9 -5
  291. package/src/mock-builders/api/threadReplies.ts +18 -0
  292. package/src/mock-builders/api/{useMockedApis.js → useMockedApis.ts} +5 -4
  293. package/src/mock-builders/api/utils.ts +16 -0
  294. package/src/mock-builders/{attachments.js → attachments.ts} +24 -8
  295. package/src/mock-builders/event/channelDeleted.ts +12 -0
  296. package/src/mock-builders/event/channelHidden.ts +12 -0
  297. package/src/mock-builders/event/channelTruncated.ts +12 -0
  298. package/src/mock-builders/event/channelUpdated.ts +12 -0
  299. package/src/mock-builders/event/channelVisible.ts +12 -0
  300. package/src/mock-builders/event/connectionChanged.ts +11 -0
  301. package/src/mock-builders/event/connectionRecovered.ts +10 -0
  302. package/src/mock-builders/event/memberAdded.ts +19 -0
  303. package/src/mock-builders/event/memberRemoved.ts +18 -0
  304. package/src/mock-builders/event/memberUpdated.ts +18 -0
  305. package/src/mock-builders/event/messageDeleted.ts +23 -0
  306. package/src/mock-builders/event/messageNew.ts +26 -0
  307. package/src/mock-builders/event/messageRead.ts +23 -0
  308. package/src/mock-builders/event/messageUpdated.ts +23 -0
  309. package/src/mock-builders/event/notificationAddedToChannel.ts +12 -0
  310. package/src/mock-builders/event/notificationChannelMutesUpdated.ts +12 -0
  311. package/src/mock-builders/event/notificationMarkRead.ts +12 -0
  312. package/src/mock-builders/event/notificationMarkUnread.ts +22 -0
  313. package/src/mock-builders/event/notificationMessageNew.ts +12 -0
  314. package/src/mock-builders/event/notificationMutesUpdated.ts +16 -0
  315. package/src/mock-builders/event/notificationRemovedFromChannel.ts +12 -0
  316. package/src/mock-builders/event/reactionDeleted.ts +26 -0
  317. package/src/mock-builders/event/reactionNew.ts +26 -0
  318. package/src/mock-builders/event/reactionUpdated.ts +26 -0
  319. package/src/mock-builders/event/typing.ts +18 -0
  320. package/src/mock-builders/event/userPresence.ts +13 -0
  321. package/src/mock-builders/event/userUpdated.ts +13 -0
  322. package/src/mock-builders/generator/{attachment.js → attachment.ts} +17 -13
  323. package/src/mock-builders/generator/channel.ts +70 -39
  324. package/src/mock-builders/generator/member.ts +18 -0
  325. package/src/mock-builders/generator/message.ts +50 -0
  326. package/src/mock-builders/generator/reaction.ts +15 -0
  327. package/src/mock-builders/generator/{user.js → user.ts} +20 -16
  328. package/src/mock-builders/mock.ts +79 -0
  329. package/src/state-store/__tests__/audio-player.test.ts +3 -1
  330. package/src/state-store/__tests__/image-gallery-state-store.test.ts +31 -28
  331. package/src/state-store/__tests__/video-player-pool.test.ts +9 -9
  332. package/src/store/apis/__tests__/updatePendingTask.test.ts +17 -6
  333. package/src/store/apis/addPendingTask.ts +2 -1
  334. package/src/store/apis/deleteMessage.ts +2 -1
  335. package/src/store/apis/upsertDraft.ts +2 -2
  336. package/src/store/sqlite-utils/appendOrderByClause.ts +1 -1
  337. package/src/store/sqlite-utils/appendWhereCluase.ts +1 -1
  338. package/src/store/sqlite-utils/createCreateTableQuery.ts +7 -5
  339. package/src/test-utils/BetterSqlite.ts +38 -0
  340. package/src/utils/__tests__/{Streami18n.test.js → Streami18n.test.ts} +66 -31
  341. package/src/utils/__tests__/getResizedImageUrl.test.ts +10 -8
  342. package/src/utils/__tests__/{utils.test.js → utils.test.ts} +1 -1
  343. package/src/version.json +1 -1
  344. package/src/mock-builders/api/deleteMessage.js +0 -18
  345. package/src/mock-builders/api/deleteReaction.js +0 -19
  346. package/src/mock-builders/api/sendMessage.js +0 -18
  347. package/src/mock-builders/api/threadReplies.js +0 -16
  348. package/src/mock-builders/api/utils.js +0 -7
  349. package/src/mock-builders/event/channelDeleted.js +0 -7
  350. package/src/mock-builders/event/channelHidden.js +0 -7
  351. package/src/mock-builders/event/channelTruncated.js +0 -7
  352. package/src/mock-builders/event/channelUpdated.js +0 -7
  353. package/src/mock-builders/event/channelVisible.js +0 -7
  354. package/src/mock-builders/event/connectionChanged.js +0 -6
  355. package/src/mock-builders/event/connectionRecovered.js +0 -5
  356. package/src/mock-builders/event/memberAdded.js +0 -10
  357. package/src/mock-builders/event/memberRemoved.js +0 -9
  358. package/src/mock-builders/event/memberUpdated.js +0 -9
  359. package/src/mock-builders/event/messageDeleted.js +0 -8
  360. package/src/mock-builders/event/messageNew.js +0 -11
  361. package/src/mock-builders/event/messageRead.js +0 -15
  362. package/src/mock-builders/event/messageUpdated.js +0 -8
  363. package/src/mock-builders/event/notificationAddedToChannel.js +0 -7
  364. package/src/mock-builders/event/notificationChannelMutesUpdated.js +0 -7
  365. package/src/mock-builders/event/notificationMarkRead.js +0 -7
  366. package/src/mock-builders/event/notificationMarkUnread.js +0 -12
  367. package/src/mock-builders/event/notificationMessageNew.js +0 -7
  368. package/src/mock-builders/event/notificationMutesUpdated.js +0 -11
  369. package/src/mock-builders/event/notificationRemovedFromChannel.js +0 -7
  370. package/src/mock-builders/event/reactionDeleted.js +0 -9
  371. package/src/mock-builders/event/reactionNew.js +0 -9
  372. package/src/mock-builders/event/reactionUpdated.js +0 -9
  373. package/src/mock-builders/event/typing.js +0 -9
  374. package/src/mock-builders/event/userPresence.js +0 -8
  375. package/src/mock-builders/event/userUpdated.js +0 -8
  376. package/src/mock-builders/generator/member.js +0 -13
  377. package/src/mock-builders/generator/message.js +0 -32
  378. package/src/mock-builders/generator/reaction.js +0 -12
  379. package/src/mock-builders/mock.js +0 -57
  380. package/src/test-utils/BetterSqlite.js +0 -36
  381. /package/src/components/Message/MessageItemView/__tests__/__snapshots__/{MessageAuthor.test.js.snap → MessageAuthor.test.tsx.snap} +0 -0
  382. /package/src/components/Message/MessageItemView/__tests__/__snapshots__/{MessagePinnedHeader.test.js.snap → MessagePinnedHeader.test.tsx.snap} +0 -0
  383. /package/src/components/MessageInput/__tests__/__snapshots__/{AttachButton.test.js.snap → AttachButton.test.tsx.snap} +0 -0
  384. /package/src/components/MessageInput/__tests__/__snapshots__/{SendButton.test.js.snap → SendButton.test.tsx.snap} +0 -0
  385. /package/src/components/MessageList/__tests__/__snapshots__/{MessageSystem.test.js.snap → MessageSystem.test.tsx.snap} +0 -0
  386. /package/src/components/MessageList/__tests__/__snapshots__/{ScrollToBottomButton.test.js.snap → ScrollToBottomButton.test.tsx.snap} +0 -0
  387. /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
- const getComponent = (
27
- props: Partial<AudioAttachmentProps & Pick<MessageInputContextValue, 'fileUploads'>>,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
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 FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
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 FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
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 FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
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 FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
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 FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
182
- item: { file: { name: 'audio.mp3' }, paused: false } as unknown as FileUpload,
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
- const getComponent = (
27
- props: Partial<AudioAttachmentProps & Pick<MessageInputContextValue, 'fileUploads'>>,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
51
- item: { file: { name: 'audio.mp3' }, paused: true, progress: 1 } as unknown as FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
75
- item: { file: { name: 'audio.mp3' }, paused: true } as unknown as FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
102
- item: { file: { name: 'audio.mp3' }, paused: false } as unknown as FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
122
- item: { file: { name: 'audio.mp3' }, paused: false } as unknown as FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
145
- item: { file: { name: 'audio.mp3' }, paused: false } as unknown as FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
167
- item: { file: { name: 'audio.mp3' }, paused: false } as unknown as FileUpload,
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: [generateFileUploadPreview({ type: 'audio/mp3' })],
197
- item: { file: { name: 'audio.mp3' }, paused: false } as unknown as FileUpload,
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
  );
@@ -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 = ({ channelProps, client, props }) => {
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();
@@ -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
- jest.fn(() => {
22
- const attachmentPickerStore = new AttachmentPickerStore();
23
- attachmentPickerStore.setSelectedPicker('images');
24
- return {
25
- AttachmentPickerSelectionBar,
26
- AttachmentPickerContent,
27
- closePicker: jest.fn(),
28
- openPicker: jest.fn(),
29
- setBottomInset: jest.fn(),
30
- setTopInset: jest.fn(),
31
- attachmentPickerStore,
32
- };
33
- }),
34
- );
35
-
36
- const renderComponent = ({ channelProps, client, props }) => {
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 = ({ client, channel, props }) => {
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
- jest.fn(() => {
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
- };
40
- }),
41
- );
42
-
43
- const renderComponent = ({ channelProps, client, props }) => {
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 ({ composerConfig, composition } = {}) => {
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.cid,
105
- own_capabilities: channel.data.own_capabilities.filter(
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.own_capabilities.filter(
143
- (capability) => capability !== 'send-message',
157
+ own_capabilities: channel.data!.own_capabilities!.filter(
158
+ (capability: string) => capability !== 'send-message',
144
159
  ),
145
- },
146
- cid: channel.data.cid,
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.cid,
184
- own_capabilities: customChannel.data.own_capabilities.filter(
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
  });