@amityco/ts-sdk 0.0.1-beta.42.2 → 0.0.1-beta.43

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 (308) hide show
  1. package/dist/@types/core/events.d.ts +11 -1
  2. package/dist/@types/core/events.d.ts.map +1 -1
  3. package/dist/@types/core/marker.d.ts +37 -0
  4. package/dist/@types/core/marker.d.ts.map +1 -0
  5. package/dist/@types/core/model.d.ts +10 -0
  6. package/dist/@types/core/model.d.ts.map +1 -1
  7. package/dist/@types/core/payload.d.ts +44 -0
  8. package/dist/@types/core/payload.d.ts.map +1 -1
  9. package/dist/@types/domains/channel.d.ts +5 -8
  10. package/dist/@types/domains/channel.d.ts.map +1 -1
  11. package/dist/@types/domains/client.d.ts +1 -0
  12. package/dist/@types/domains/client.d.ts.map +1 -1
  13. package/dist/@types/domains/marker.d.ts +15 -0
  14. package/dist/@types/domains/marker.d.ts.map +1 -0
  15. package/dist/@types/domains/message.d.ts +3 -0
  16. package/dist/@types/domains/message.d.ts.map +1 -1
  17. package/dist/@types/domains/partials.d.ts +3 -0
  18. package/dist/@types/domains/partials.d.ts.map +1 -1
  19. package/dist/@types/domains/subChannel.d.ts +2 -0
  20. package/dist/@types/domains/subChannel.d.ts.map +1 -1
  21. package/dist/channel/api/getChannels.d.ts.map +1 -1
  22. package/dist/channel/api/index.d.ts +0 -2
  23. package/dist/channel/api/index.d.ts.map +1 -1
  24. package/dist/channel/events/onChannelUpdated.d.ts.map +1 -1
  25. package/dist/channel/utils/index.d.ts +1 -2
  26. package/dist/channel/utils/index.d.ts.map +1 -1
  27. package/dist/channel/utils/prepareChannelPayload.d.ts +6 -0
  28. package/dist/channel/utils/prepareChannelPayload.d.ts.map +1 -0
  29. package/dist/channel/utils/tests/prepareChannelPayload.test.d.ts +5 -1
  30. package/dist/channel/utils/tests/prepareChannelPayload.test.d.ts.map +1 -1
  31. package/dist/client/api/activeUser.d.ts +2 -2
  32. package/dist/client/api/activeUser.d.ts.map +1 -1
  33. package/dist/client/api/connectClient.d.ts.map +1 -1
  34. package/dist/client/api/index.d.ts +2 -0
  35. package/dist/client/api/index.d.ts.map +1 -1
  36. package/dist/client/api/markerSync.d.ts +21 -0
  37. package/dist/client/api/markerSync.d.ts.map +1 -0
  38. package/dist/client/observers/getTotalUnreadCount.d.ts +18 -0
  39. package/dist/client/observers/getTotalUnreadCount.d.ts.map +1 -0
  40. package/dist/client/observers/index.d.ts +2 -0
  41. package/dist/client/observers/index.d.ts.map +1 -0
  42. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts +2 -0
  43. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts.map +1 -0
  44. package/dist/client/utils/index.d.ts +2 -0
  45. package/dist/client/utils/index.d.ts.map +1 -0
  46. package/dist/client/utils/markerSyncEngine.d.ts +46 -0
  47. package/dist/client/utils/markerSyncEngine.d.ts.map +1 -0
  48. package/dist/comment/api/getComments.d.ts.map +1 -1
  49. package/dist/core/events.d.ts +3 -3
  50. package/dist/core/events.d.ts.map +1 -1
  51. package/dist/core/model/idResolvers.d.ts.map +1 -1
  52. package/dist/core/model/index.d.ts.map +1 -1
  53. package/dist/index.cjs.js +1931 -1159
  54. package/dist/index.d.ts +5 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.esm.js +1901 -1160
  57. package/dist/index.umd.js +4 -4
  58. package/dist/marker/api/getChannelMarkers.d.ts +18 -0
  59. package/dist/marker/api/getChannelMarkers.d.ts.map +1 -0
  60. package/dist/marker/api/getMessageMarkers.d.ts +18 -0
  61. package/dist/marker/api/getMessageMarkers.d.ts.map +1 -0
  62. package/dist/marker/api/getSubChannelMarkers.d.ts +18 -0
  63. package/dist/marker/api/getSubChannelMarkers.d.ts.map +1 -0
  64. package/dist/marker/api/getUserMarker.d.ts +8 -0
  65. package/dist/marker/api/getUserMarker.d.ts.map +1 -0
  66. package/dist/marker/api/index.d.ts +5 -0
  67. package/dist/marker/api/index.d.ts.map +1 -0
  68. package/dist/marker/api/tests/getChannelMarkers.test.d.ts +2 -0
  69. package/dist/marker/api/tests/getChannelMarkers.test.d.ts.map +1 -0
  70. package/dist/marker/api/tests/getMessageMarkers.test.d.ts +2 -0
  71. package/dist/marker/api/tests/getMessageMarkers.test.d.ts.map +1 -0
  72. package/dist/marker/api/tests/getSubChannelMarkers.test.d.ts +2 -0
  73. package/dist/marker/api/tests/getSubChannelMarkers.test.d.ts.map +1 -0
  74. package/dist/marker/events/index.d.ts +7 -0
  75. package/dist/marker/events/index.d.ts.map +1 -0
  76. package/dist/marker/events/onChannelMarkerFetched.d.ts +17 -0
  77. package/dist/marker/events/onChannelMarkerFetched.d.ts.map +1 -0
  78. package/dist/marker/events/onFeedlMarkerFetched.d.ts +17 -0
  79. package/dist/marker/events/onFeedlMarkerFetched.d.ts.map +1 -0
  80. package/dist/marker/events/onMessageMarkerFetched.d.ts +17 -0
  81. package/dist/marker/events/onMessageMarkerFetched.d.ts.map +1 -0
  82. package/dist/marker/events/onSubChannelMarkerFetched.d.ts +17 -0
  83. package/dist/marker/events/onSubChannelMarkerFetched.d.ts.map +1 -0
  84. package/dist/marker/events/onSubChannelMarkerUpdated.d.ts +17 -0
  85. package/dist/marker/events/onSubChannelMarkerUpdated.d.ts.map +1 -0
  86. package/dist/marker/events/onUserMarkerFetched.d.ts +17 -0
  87. package/dist/marker/events/onUserMarkerFetched.d.ts.map +1 -0
  88. package/dist/message/api/getMessage.d.ts.map +1 -1
  89. package/dist/message/api/getMessages.d.ts.map +1 -1
  90. package/dist/message/api/index.d.ts +1 -0
  91. package/dist/message/api/index.d.ts.map +1 -1
  92. package/dist/message/api/markAsDelivered.d.ts +17 -0
  93. package/dist/message/api/markAsDelivered.d.ts.map +1 -0
  94. package/dist/message/api/queryMessages.d.ts.map +1 -1
  95. package/dist/message/api/tests/markAsDelivered.test.d.ts +2 -0
  96. package/dist/message/api/tests/markAsDelivered.test.d.ts.map +1 -0
  97. package/dist/message/api/updateMessage.d.ts.map +1 -1
  98. package/dist/message/events/index.d.ts +1 -0
  99. package/dist/message/events/index.d.ts.map +1 -1
  100. package/dist/message/events/onMessageCreated.d.ts +2 -1
  101. package/dist/message/events/onMessageCreated.d.ts.map +1 -1
  102. package/dist/message/events/onMessageUpdated.d.ts.map +1 -1
  103. package/dist/message/utils/index.d.ts +1 -18
  104. package/dist/message/utils/index.d.ts.map +1 -1
  105. package/dist/message/utils/prepareMessagePayload.d.ts +16 -0
  106. package/dist/message/utils/prepareMessagePayload.d.ts.map +1 -0
  107. package/dist/post/api/getPosts.d.ts.map +1 -1
  108. package/dist/post/api/tests/getPosts.test.d.ts +2 -0
  109. package/dist/post/api/tests/getPosts.test.d.ts.map +1 -0
  110. package/dist/report/api/createReport.d.ts.map +1 -1
  111. package/dist/report/api/deleteReport.d.ts.map +1 -1
  112. package/dist/subChannel/api/getSubChannels.d.ts.map +1 -1
  113. package/dist/subChannel/api/index.d.ts +2 -0
  114. package/dist/subChannel/api/index.d.ts.map +1 -1
  115. package/dist/subChannel/api/startReadingAPI.d.ts +17 -0
  116. package/dist/subChannel/api/startReadingAPI.d.ts.map +1 -0
  117. package/dist/subChannel/api/stopReadingAPI.d.ts +17 -0
  118. package/dist/subChannel/api/stopReadingAPI.d.ts.map +1 -0
  119. package/dist/subChannel/events/onSubChannelUpdated.d.ts +1 -1
  120. package/dist/subChannel/events/onSubChannelUpdated.d.ts.map +1 -1
  121. package/dist/subChannel/observers/liveSubChannel.d.ts.map +1 -1
  122. package/dist/subChannel/utils/index.d.ts +2 -7
  123. package/dist/subChannel/utils/index.d.ts.map +1 -1
  124. package/dist/subChannel/utils/markReadEngine.d.ts +33 -0
  125. package/dist/subChannel/utils/markReadEngine.d.ts.map +1 -0
  126. package/dist/subChannel/utils/prepareSubChannelPayload.d.ts +15 -0
  127. package/dist/subChannel/utils/prepareSubChannelPayload.d.ts.map +1 -0
  128. package/dist/utils/liveObject.d.ts +1 -1
  129. package/dist/utils/liveObject.d.ts.map +1 -1
  130. package/dist/utils/tests/client.d.ts +1 -0
  131. package/dist/utils/tests/client.d.ts.map +1 -1
  132. package/dist/utils/tests/dummy/channel.d.ts +4 -0
  133. package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
  134. package/dist/utils/tests/dummy/comment.d.ts.map +1 -1
  135. package/dist/utils/tests/dummy/index.d.ts +1 -0
  136. package/dist/utils/tests/dummy/index.d.ts.map +1 -1
  137. package/dist/utils/tests/dummy/marker.d.ts +6 -0
  138. package/dist/utils/tests/dummy/marker.d.ts.map +1 -0
  139. package/dist/utils/tests/dummy/message.d.ts +2 -0
  140. package/dist/utils/tests/dummy/message.d.ts.map +1 -1
  141. package/dist/utils/tests/dummy/subChannel.d.ts +1 -0
  142. package/dist/utils/tests/dummy/subChannel.d.ts.map +1 -1
  143. package/dist/utils/tests/utils.d.ts.map +1 -1
  144. package/package.json +1 -1
  145. package/src/@types/core/events.ts +13 -1
  146. package/src/@types/core/marker.ts +42 -0
  147. package/src/@types/core/model.ts +12 -0
  148. package/src/@types/core/payload.ts +52 -0
  149. package/src/@types/domains/channel.ts +5 -16
  150. package/src/@types/domains/client.ts +2 -0
  151. package/src/@types/domains/marker.ts +15 -0
  152. package/src/@types/domains/message.ts +3 -0
  153. package/src/@types/domains/partials.ts +4 -0
  154. package/src/@types/domains/subChannel.ts +2 -0
  155. package/src/channel/api/addChannelMembers.ts +1 -1
  156. package/src/channel/api/addChannelMembersRole.ts +1 -1
  157. package/src/channel/api/banChannelMembers.ts +1 -1
  158. package/src/channel/api/createChannel.ts +1 -1
  159. package/src/channel/api/getChannel.ts +1 -1
  160. package/src/channel/api/getChannels.ts +21 -5
  161. package/src/channel/api/index.ts +0 -3
  162. package/src/channel/api/joinChannel.ts +1 -1
  163. package/src/channel/api/leaveChannel.ts +1 -1
  164. package/src/channel/api/queryChannelMembers.ts +1 -1
  165. package/src/channel/api/queryChannels.ts +3 -3
  166. package/src/channel/api/removeChannelMembers.ts +1 -1
  167. package/src/channel/api/removeChannelMembersRole.ts +1 -1
  168. package/src/channel/api/tests/addChannelMembers.test.ts +16 -0
  169. package/src/channel/api/tests/createChannel.test.ts +29 -8
  170. package/src/channel/api/tests/getChannel.test.ts +11 -4
  171. package/src/channel/api/tests/getChannels.test.ts +22 -14
  172. package/src/channel/api/tests/queryChannelMembers.test.ts +13 -4
  173. package/src/channel/api/tests/queryChannels.test.ts +19 -9
  174. package/src/channel/api/unbanChannelMembers.ts +1 -1
  175. package/src/channel/api/updateChannel.ts +1 -1
  176. package/src/channel/events/onChannelCreated.ts +2 -2
  177. package/src/channel/events/onChannelDeleted.ts +4 -4
  178. package/src/channel/events/onChannelJoined.ts +2 -2
  179. package/src/channel/events/onChannelLeft.ts +2 -2
  180. package/src/channel/events/onChannelMemberAdded.ts +2 -2
  181. package/src/channel/events/onChannelMemberBanned.ts +3 -3
  182. package/src/channel/events/onChannelMemberRemoved.ts +2 -2
  183. package/src/channel/events/onChannelMemberUnbanned.ts +2 -2
  184. package/src/channel/events/onChannelMuted.ts +2 -2
  185. package/src/channel/events/onChannelUpdated.ts +25 -4
  186. package/src/channel/events/tests/onChannelCreated.test.ts +4 -1
  187. package/src/channel/events/tests/onChannelJoined.test.ts +5 -1
  188. package/src/channel/events/tests/onChannelMemberAdded.test.ts +5 -1
  189. package/src/channel/events/tests/onChannelMemberBanned.test.ts +4 -1
  190. package/src/channel/events/tests/onChannelMemberRemoved.test.ts +5 -1
  191. package/src/channel/events/tests/onChannelMemberUnbanned.test.ts +10 -10
  192. package/src/channel/events/tests/onChannelUpdated.test.ts +5 -1
  193. package/src/channel/observers/tests/liveChannelMembers.test.ts +5 -11
  194. package/src/channel/observers/tests/liveChannels.test.ts +21 -24
  195. package/src/channel/utils/index.ts +1 -57
  196. package/src/channel/utils/prepareChannelPayload.ts +91 -0
  197. package/src/channel/utils/tests/prepareChannelPayload.test.ts +102 -104
  198. package/src/client/api/activeUser.ts +2 -2
  199. package/src/client/api/connectClient.ts +2 -1
  200. package/src/client/api/index.ts +3 -0
  201. package/src/client/api/markerSync.ts +42 -0
  202. package/src/client/observers/getTotalUnreadCount.ts +52 -0
  203. package/src/client/observers/index.ts +1 -0
  204. package/src/client/observers/tests/getTotalUnreadCount.test.ts +126 -0
  205. package/src/client/utils/index.ts +1 -0
  206. package/src/client/utils/markerSyncEngine.ts +179 -0
  207. package/src/comment/api/getComments.ts +20 -4
  208. package/src/comment/api/tests/getComments.test.ts +12 -1
  209. package/src/comment/api/tests/queryComments.test.ts +2 -2
  210. package/src/core/model/idResolvers.ts +7 -0
  211. package/src/core/model/identifyModel.ts +1 -1
  212. package/src/core/model/index.ts +6 -0
  213. package/src/core/tests/query/query/runQuery.test.ts +3 -1
  214. package/src/group/utils/withUser.ts +2 -2
  215. package/src/index.ts +6 -0
  216. package/src/marker/api/getChannelMarkers.ts +53 -0
  217. package/src/marker/api/getMessageMarkers.ts +54 -0
  218. package/src/marker/api/getSubChannelMarkers.ts +54 -0
  219. package/src/marker/api/getUserMarker.ts +47 -0
  220. package/src/marker/api/index.ts +4 -0
  221. package/src/marker/api/tests/getChannelMarkers.test.ts +109 -0
  222. package/src/marker/api/tests/getMessageMarkers.test.ts +114 -0
  223. package/src/marker/api/tests/getSubChannelMarkers.test.ts +116 -0
  224. package/src/marker/events/index.ts +10 -0
  225. package/src/marker/events/onChannelMarkerFetched.ts +34 -0
  226. package/src/marker/events/onFeedlMarkerFetched.ts +34 -0
  227. package/src/marker/events/onMessageMarkerFetched.ts +34 -0
  228. package/src/marker/events/onSubChannelMarkerFetched.ts +34 -0
  229. package/src/marker/events/onSubChannelMarkerUpdated.ts +34 -0
  230. package/src/marker/events/onUserMarkerFetched.ts +34 -0
  231. package/src/message/api/createMessage.ts +1 -1
  232. package/src/message/api/getMessage.ts +6 -5
  233. package/src/message/api/getMessages.ts +7 -6
  234. package/src/message/api/index.ts +1 -0
  235. package/src/message/api/markAsDelivered.ts +36 -0
  236. package/src/message/api/queryMessages.ts +8 -6
  237. package/src/message/api/tests/createMessage.test.ts +13 -4
  238. package/src/message/api/tests/getMessage.test.ts +12 -3
  239. package/src/message/api/tests/getMessages.test.ts +14 -5
  240. package/src/message/api/tests/markAsDelivered.test.ts +83 -0
  241. package/src/message/api/tests/queryMessages.test.ts +14 -3
  242. package/src/message/api/updateMessage.ts +8 -7
  243. package/src/message/events/index.ts +2 -0
  244. package/src/message/events/onMessageCreated.ts +14 -41
  245. package/src/message/events/onMessageDeleted.ts +2 -2
  246. package/src/message/events/onMessageFlagCleared.ts +2 -2
  247. package/src/message/events/onMessageFlagged.ts +2 -2
  248. package/src/message/events/onMessageReactionAdded.ts +2 -2
  249. package/src/message/events/onMessageReactionRemoved.ts +2 -2
  250. package/src/message/events/onMessageUnflagged.ts +2 -2
  251. package/src/message/events/onMessageUpdated.ts +27 -5
  252. package/src/message/tests/events.test.ts +4 -2
  253. package/src/message/tests/observers/liveMessage.test.ts +22 -10
  254. package/src/message/tests/observers/liveMessages.test.ts +25 -18
  255. package/src/message/utils/index.ts +1 -140
  256. package/src/message/utils/prepareMessagePayload.ts +182 -0
  257. package/src/post/api/getPosts.ts +20 -4
  258. package/src/post/api/tests/getPosts.test.ts +18 -0
  259. package/src/reaction/events/onReactionAdded.ts +2 -2
  260. package/src/reaction/events/onReactionRemoved.ts +2 -2
  261. package/src/reaction/events/onReactorAdded.ts +2 -2
  262. package/src/reaction/events/onReactorRemoved.ts +2 -2
  263. package/src/report/api/createReport.ts +2 -1
  264. package/src/report/api/deleteReport.ts +2 -1
  265. package/src/subChannel/api/createSubChannel.ts +1 -1
  266. package/src/subChannel/api/getSubChannel.ts +1 -1
  267. package/src/subChannel/api/getSubChannels.ts +2 -1
  268. package/src/subChannel/api/index.ts +3 -0
  269. package/src/subChannel/api/querySubChannels.ts +1 -1
  270. package/src/subChannel/api/startReadingAPI.ts +33 -0
  271. package/src/subChannel/api/stopReadingAPI.ts +33 -0
  272. package/src/subChannel/api/tests/createSubChannel.test.ts +6 -3
  273. package/src/subChannel/api/tests/deleteSubChannel.test.ts +7 -5
  274. package/src/subChannel/api/tests/getSubChannel.test.ts +6 -4
  275. package/src/subChannel/api/tests/getSubChannels.test.ts +6 -3
  276. package/src/subChannel/api/tests/updateSubChannel.test.ts +6 -3
  277. package/src/subChannel/api/updateSubChannel.ts +1 -1
  278. package/src/subChannel/events/onSubChannelCreated.ts +2 -2
  279. package/src/subChannel/events/onSubChannelDeleted.ts +2 -2
  280. package/src/subChannel/events/onSubChannelUpdated.ts +43 -4
  281. package/src/subChannel/observers/liveSubChannel.ts +2 -0
  282. package/src/subChannel/observers/tests/liveSubChannel.test.ts +15 -10
  283. package/src/subChannel/observers/tests/liveSubChannels.test.ts +21 -14
  284. package/src/subChannel/utils/index.ts +2 -50
  285. package/src/subChannel/utils/markReadEngine.ts +117 -0
  286. package/src/subChannel/utils/prepareSubChannelPayload.ts +132 -0
  287. package/src/utils/liveObject.ts +15 -4
  288. package/src/utils/tests/client.ts +3 -1
  289. package/src/utils/tests/dummy/channel.ts +38 -21
  290. package/src/utils/tests/dummy/comment.ts +2 -2
  291. package/src/utils/tests/dummy/index.ts +1 -0
  292. package/src/utils/tests/dummy/marker.ts +68 -0
  293. package/src/utils/tests/dummy/message.ts +42 -2
  294. package/src/utils/tests/dummy/post.ts +1 -1
  295. package/src/utils/tests/dummy/subChannel.ts +16 -5
  296. package/src/utils/tests/utils.ts +4 -1
  297. package/dist/channel/api/startReading.d.ts +0 -17
  298. package/dist/channel/api/startReading.d.ts.map +0 -1
  299. package/dist/channel/api/stopReading.d.ts +0 -16
  300. package/dist/channel/api/stopReading.d.ts.map +0 -1
  301. package/dist/channel/api/tests/startReading.test.d.ts +0 -2
  302. package/dist/channel/api/tests/startReading.test.d.ts.map +0 -1
  303. package/dist/channel/api/tests/stopReading.test.d.ts +0 -2
  304. package/dist/channel/api/tests/stopReading.test.d.ts.map +0 -1
  305. package/src/channel/api/startReading.ts +0 -57
  306. package/src/channel/api/stopReading.ts +0 -53
  307. package/src/channel/api/tests/startReading.test.ts +0 -25
  308. package/src/channel/api/tests/stopReading.test.ts +0 -25
@@ -2,45 +2,62 @@ import { disableCache, enableCache, pullFromCache } from '~/cache/api';
2
2
  import {
3
3
  channelPayload,
4
4
  client,
5
+ connectClient,
5
6
  conversationChannelPayload,
7
+ convertRawChannelPayload,
8
+ disconnectClient,
6
9
  liveChannelPayload,
7
10
  rawChannelPayload,
8
11
  } from '~/utils/tests';
9
- import { prepareChannelPayload } from '~/channel/utils';
10
12
 
11
13
  import { createChannel } from '../createChannel';
12
14
 
13
15
  const resPayload = { data: rawChannelPayload };
14
16
 
15
17
  describe('createChannel', () => {
18
+ beforeAll(connectClient);
19
+ afterAll(disconnectClient);
20
+
16
21
  // integration_test_id: 9d80fd54-9e6d-454d-8344-6f9436b8e495
17
22
  test('it should create a channel for community', async () => {
18
23
  client.http.post = jest.fn().mockResolvedValueOnce(resPayload);
19
24
 
25
+ const {
26
+ channels: [expected],
27
+ } = convertRawChannelPayload(rawChannelPayload);
28
+
20
29
  const res = await createChannel({ type: 'community' });
21
30
 
22
31
  expect(res).toBeDefined();
23
- expect(res.data).toStrictEqual(prepareChannelPayload(rawChannelPayload).channels[0]);
32
+ expect(res.data).toStrictEqual(expected);
24
33
  });
25
34
 
26
35
  // integration_test_id: cef520ab-027d-4c5b-836c-a7f63ddc5146
27
36
  test('it should create a channel for live', async () => {
28
37
  client.http.post = jest.fn().mockResolvedValueOnce({ data: liveChannelPayload });
29
38
 
39
+ const {
40
+ channels: [expected],
41
+ } = convertRawChannelPayload(liveChannelPayload);
42
+
30
43
  const res = await createChannel({ type: 'live' });
31
44
 
32
45
  expect(res).toBeDefined();
33
- expect(res.data).toStrictEqual(prepareChannelPayload(liveChannelPayload).channels[0]);
46
+ expect(res.data).toStrictEqual(expected);
34
47
  });
35
48
 
36
49
  // integration_test_id: 11a43612-ff6f-4262-874c-4419d342cff1
37
50
  test('it should create a channel for conversation', async () => {
38
51
  client.http.post = jest.fn().mockResolvedValueOnce({ data: conversationChannelPayload });
39
52
 
53
+ const {
54
+ channels: [expected],
55
+ } = convertRawChannelPayload(conversationChannelPayload);
56
+
40
57
  const res = await createChannel({ type: 'conversation' });
41
58
 
42
59
  expect(res).toBeDefined();
43
- expect(res.data).toStrictEqual(prepareChannelPayload(conversationChannelPayload).channels[0]);
60
+ expect(res.data).toStrictEqual(expected);
44
61
  });
45
62
 
46
63
  test('it should add channel to cache', async () => {
@@ -49,11 +66,15 @@ describe('createChannel', () => {
49
66
  client.http.post = jest.fn().mockResolvedValueOnce(resPayload);
50
67
  const { channelId } = channelPayload.channels[0];
51
68
 
69
+ const {
70
+ channels: [expected],
71
+ } = convertRawChannelPayload(rawChannelPayload);
72
+
52
73
  await createChannel({ type: 'community' });
53
74
  const data = pullFromCache(['channel', 'get', channelId]);
54
75
 
55
76
  expect(data).toBeDefined();
56
- expect(data?.data).toStrictEqual(prepareChannelPayload(rawChannelPayload).channels[0]);
77
+ expect(data?.data).toStrictEqual(expected);
57
78
 
58
79
  disableCache();
59
80
  });
@@ -65,10 +86,10 @@ describe('createChannel', () => {
65
86
  const expectedPayload = { type: 'conversation', isDistinct: true };
66
87
 
67
88
  await createChannel({ type: 'conversation' });
68
- const [recieved, recievedPayload] = mockFn.mock.lastCall;
89
+ const [received, receivedPayload] = mockFn.mock.lastCall;
69
90
 
70
- expect(recieved).toBe(expected);
71
- expect(recievedPayload).toStrictEqual(expectedPayload);
91
+ expect(received).toBe(expected);
92
+ expect(receivedPayload).toStrictEqual(expectedPayload);
72
93
  });
73
94
 
74
95
  test('it should return an error', async () => {
@@ -1,18 +1,25 @@
1
1
  import { ASCApiError } from '~/core/errors';
2
2
  import { disableCache, enableCache, pushToCache } from '~/cache/api';
3
- import { client, channelQueryResponse } from '~/utils/tests';
3
+ import {
4
+ client,
5
+ channelQueryResponse,
6
+ convertRawChannelPayload,
7
+ connectClient,
8
+ disconnectClient,
9
+ } from '~/utils/tests';
4
10
 
5
11
  import { pushToTombstone } from '~/cache/api/pushToTombstone';
6
12
  import { isInTombstone } from '~/cache/api/isInTombstone';
7
13
 
8
- import { prepareChannelPayload } from '~/channel/utils';
9
-
10
14
  import { getChannel } from '../getChannel';
11
15
 
12
16
  const { channelId } = channelQueryResponse.data.channels[0];
13
- const channel = prepareChannelPayload(channelQueryResponse.data).channels[0];
17
+ const channel = convertRawChannelPayload(channelQueryResponse.data).channels[0];
14
18
 
15
19
  describe('getChannel', () => {
20
+ beforeAll(connectClient);
21
+ afterAll(disconnectClient);
22
+
16
23
  // integration_test_id: b331e01c-20db-4f17-979b-b280d8818792
17
24
  test('it should return a valid channel', async () => {
18
25
  client.http.get = jest.fn().mockResolvedValueOnce(channelQueryResponse);
@@ -1,23 +1,31 @@
1
- import { disableCache, enableCache, pushToCache, pullFromCache } from '~/cache/api';
2
- import { client, getChannelsResponse } from '~/utils/tests';
1
+ import { disableCache, enableCache, pushToCache } from '~/cache/api';
2
+ import {
3
+ client,
4
+ connectClient,
5
+ convertRawChannelPayload,
6
+ disconnectClient,
7
+ getChannelsResponse,
8
+ } from '~/utils/tests';
9
+ import { ASCApiError } from '~/core/errors';
3
10
 
4
11
  import { getChannels } from '../getChannels';
5
- import { prepareChannelPayload } from '~/channel/utils';
6
- import { ASCApiError } from '~/core/errors';
7
12
 
8
13
  const channelIds = [
9
14
  getChannelsResponse.data.channels[0].channelId,
10
15
  getChannelsResponse.data.channels[1].channelId,
11
16
  getChannelsResponse.data.channels[2].channelId,
12
17
  ];
13
- const channel = prepareChannelPayload(getChannelsResponse.data).channels;
18
+ const { channels } = convertRawChannelPayload(getChannelsResponse.data);
14
19
 
15
20
  describe('getChannels', () => {
21
+ beforeAll(connectClient);
22
+ afterAll(disconnectClient);
23
+
16
24
  // integration_test_id: ced0cd3b-1714-499d-862e-0284da1c8bb1
17
25
  test('it should return a valid channels', async () => {
18
26
  client.http.get = jest.fn().mockResolvedValueOnce(getChannelsResponse);
19
27
 
20
- const expected = channel;
28
+ const expected = channels;
21
29
  const { data: received } = await getChannels(channelIds);
22
30
 
23
31
  expect(received).toStrictEqual(expected);
@@ -31,7 +39,7 @@ describe('getChannels', () => {
31
39
  const data = getChannels.locally(channelIds);
32
40
 
33
41
  expect(data).toBeDefined();
34
- expect(data?.data).toEqual(channel);
42
+ expect(data?.data).toEqual(channels);
35
43
 
36
44
  disableCache();
37
45
  });
@@ -56,14 +64,14 @@ describe('getChannels locally', () => {
56
64
 
57
65
  const cachedAt = Date.now();
58
66
 
59
- pushToCache(['channel', 'get', channelIds[0]], channel[0], { cachedAt });
60
- pushToCache(['channel', 'get', channelIds[1]], channel[1], { cachedAt });
61
- pushToCache(['channel', 'get', channelIds[2]], channel[2], { cachedAt });
67
+ pushToCache(['channel', 'get', channelIds[0]], channels[0], { cachedAt });
68
+ pushToCache(['channel', 'get', channelIds[1]], channels[1], { cachedAt });
69
+ pushToCache(['channel', 'get', channelIds[2]], channels[2], { cachedAt });
62
70
 
63
71
  const data = getChannels.locally(channelIds);
64
72
 
65
73
  expect(data).toBeDefined();
66
- expect(data?.data).toEqual(channel);
74
+ expect(data?.data).toEqual(channels);
67
75
  expect(data?.cachedAt).toEqual(cachedAt);
68
76
 
69
77
  disableCache();
@@ -84,9 +92,9 @@ describe('getChannels locally', () => {
84
92
 
85
93
  const cachedAt = Date.now();
86
94
 
87
- pushToCache(['channel', 'get', channelIds[0]], channel[0], { cachedAt });
88
- pushToCache(['channel', 'get', channelIds[1]], channel[1], { cachedAt: cachedAt + 1 });
89
- pushToCache(['channel', 'get', channelIds[2]], channel[2], { cachedAt: cachedAt + 2 });
95
+ pushToCache(['channel', 'get', channelIds[0]], channels[0], { cachedAt });
96
+ pushToCache(['channel', 'get', channelIds[1]], channels[1], { cachedAt: cachedAt + 1 });
97
+ pushToCache(['channel', 'get', channelIds[2]], channels[2], { cachedAt: cachedAt + 2 });
90
98
 
91
99
  const data = getChannels.locally(channelIds);
92
100
 
@@ -3,12 +3,21 @@ import { getResolver } from '~/core/model';
3
3
  import { disableCache, enableCache, pushToCache } from '~/cache/api';
4
4
  import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
- import { prepareChannelPayload } from '~/channel/utils';
7
- import { client, channelUserQueryResponse, channelUserModel } from '~/utils/tests';
6
+ import {
7
+ client,
8
+ channelUserQueryResponse,
9
+ channelUserModel,
10
+ convertRawChannelPayload,
11
+ connectClient,
12
+ disconnectClient,
13
+ } from '~/utils/tests';
8
14
 
9
15
  import { queryChannelMembers } from '../queryChannelMembers';
10
16
 
11
17
  describe('queryChannelMembers', () => {
18
+ beforeAll(connectClient);
19
+ afterAll(disconnectClient);
20
+
12
21
  const { channelId } = channelUserQueryResponse.data.channels[0];
13
22
 
14
23
  // integration_test_id: 1e5a4b11-a7f3-496e-a594-22b10ed28a20
@@ -63,7 +72,7 @@ describe('queryChannelMembers.locally', () => {
63
72
  enableCache();
64
73
 
65
74
  const { paging, ...payload } = channelUserQueryResponse.data;
66
- const preparedPayload = prepareChannelPayload(payload);
75
+ const preparedPayload = convertRawChannelPayload(payload);
67
76
  const { channelUsers } = preparedPayload;
68
77
 
69
78
  ingestInCache(preparedPayload);
@@ -90,7 +99,7 @@ describe('queryChannelMembers.locally', () => {
90
99
  enableCache();
91
100
 
92
101
  const { paging, ...payload } = channelUserQueryResponse.data;
93
- const preparedPayload = prepareChannelPayload(payload);
102
+ const preparedPayload = convertRawChannelPayload(payload);
94
103
  const { channelUsers } = preparedPayload;
95
104
 
96
105
  // ingest incomplete data
@@ -3,20 +3,25 @@ import { getResolver } from '~/core/model';
3
3
  import { disableCache, enableCache, pushToCache } from '~/cache/api';
4
4
  import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
- import { prepareChannelPayload } from '~/channel/utils';
7
6
  import {
8
7
  client,
9
8
  channelQueryResponse,
10
9
  channelTagQueryResponse,
11
10
  channelExcludeTagQueryResponse,
11
+ convertRawChannelPayload,
12
+ connectClient,
13
+ disconnectClient,
12
14
  } from '~/utils/tests';
13
15
 
14
16
  import { queryChannels } from '../queryChannels';
15
17
 
16
18
  describe('queryChannels', () => {
19
+ beforeAll(connectClient);
20
+ afterAll(disconnectClient);
21
+
17
22
  // integration_test_id: 06c14dab-4799-4f26-9e52-be7c12b3bdb3
18
23
  test('it should return channels', async () => {
19
- const expected = prepareChannelPayload(channelQueryResponse.data).channels;
24
+ const { channels: expected } = convertRawChannelPayload(channelQueryResponse.data);
20
25
  client.http.get = jest.fn().mockResolvedValue(channelQueryResponse);
21
26
 
22
27
  const { data } = await queryChannels();
@@ -28,25 +33,30 @@ describe('queryChannels', () => {
28
33
  test('it should return channels match with membership type', async () => {
29
34
  // Actually there is no any flag to tell about this list is relate to membership type
30
35
  // But need to implement this case to match with our test list
31
- const expected = prepareChannelPayload(channelQueryResponse.data).channels;
36
+ const { channels: expected } = convertRawChannelPayload(channelQueryResponse.data);
32
37
  client.http.get = jest.fn().mockResolvedValue(channelQueryResponse);
38
+
33
39
  const { data } = await queryChannels({ membership: 'member' });
40
+
34
41
  expect(data).toEqual(expected);
35
42
  });
36
43
 
37
44
  // integration_test_id: 92329d41-9403-44e7-979f-ed227e6ab120
38
45
  test('it should return channels match with tags query type', async () => {
39
- const expected = prepareChannelPayload(channelTagQueryResponse.data).channels;
46
+ const { channels: expected } = convertRawChannelPayload(channelTagQueryResponse.data);
40
47
  client.http.get = jest.fn().mockResolvedValue(channelTagQueryResponse);
48
+
41
49
  const { data } = await queryChannels({ tags: ['tag1'] });
50
+
42
51
  expect(data).toEqual(expected);
43
52
  expect(data[0].tags).toContain('tag1');
44
53
  });
45
54
 
46
55
  // integration_test_id: 5249778c-6d99-4e2f-9b80-2f4ea6ae1833
47
56
  test('it should return channels without tags which defined in exclude options', async () => {
48
- const expected = prepareChannelPayload(channelExcludeTagQueryResponse.data).channels;
57
+ const { channels: expected } = convertRawChannelPayload(channelExcludeTagQueryResponse.data);
49
58
  client.http.get = jest.fn().mockResolvedValue(channelExcludeTagQueryResponse);
59
+
50
60
  const { data } = await queryChannels({ excludeTags: ['tag1'] });
51
61
  expect(data).toEqual(expected);
52
62
 
@@ -82,7 +92,7 @@ describe('queryChannels.locally', () => {
82
92
  enableCache();
83
93
 
84
94
  const { paging, ...payload } = channelQueryResponse.data;
85
- const data = prepareChannelPayload(payload);
95
+ const data = convertRawChannelPayload(payload);
86
96
  const { channels } = data;
87
97
 
88
98
  ingestInCache(data);
@@ -101,7 +111,7 @@ describe('queryChannels.locally', () => {
101
111
  enableCache();
102
112
 
103
113
  const { paging, ...payload } = channelQueryResponse.data;
104
- const data = prepareChannelPayload(payload);
114
+ const data = convertRawChannelPayload(payload);
105
115
  const { channels } = data;
106
116
 
107
117
  // ingest incomplete data
@@ -127,9 +137,9 @@ describe('queryChannels.locally', () => {
127
137
 
128
138
  const { data } = channelQueryResponse;
129
139
  const { paging, ...payload } = data;
130
- const { channels: expected } = prepareChannelPayload(payload);
140
+ const { channels: expected } = convertRawChannelPayload(payload);
131
141
 
132
- ingestInCache(prepareChannelPayload(data));
142
+ ingestInCache(convertRawChannelPayload(data));
133
143
 
134
144
  pushToCache(cacheKey, { channels: payload.channels.map(getResolver('channel')), paging });
135
145
 
@@ -35,7 +35,7 @@ export const unbanChannelMembers = async (
35
35
  },
36
36
  );
37
37
 
38
- const preparedPayload = prepareChannelPayload(payload);
38
+ const preparedPayload = await prepareChannelPayload(payload);
39
39
 
40
40
  const cachedAt = client.cache && Date.now();
41
41
  if (client.cache) ingestInCache(preparedPayload, { cachedAt });
@@ -34,7 +34,7 @@ export const updateChannel = async (
34
34
  patch,
35
35
  );
36
36
 
37
- const data = prepareChannelPayload(payload);
37
+ const data = await prepareChannelPayload(payload);
38
38
 
39
39
  const cachedAt = client.cache && Date.now();
40
40
  if (client.cache) ingestInCache(data, { cachedAt });
@@ -23,8 +23,8 @@ import { prepareChannelPayload } from '../utils';
23
23
  export const onChannelCreated = (callback: Amity.Listener<Amity.Channel>) => {
24
24
  const client = getActiveClient();
25
25
 
26
- const filter = (payload: Amity.ChannelPayload) => {
27
- const data = prepareChannelPayload(payload);
26
+ const filter = async (payload: Amity.ChannelPayload) => {
27
+ const data = await prepareChannelPayload(payload);
28
28
 
29
29
  ingestInCache(data);
30
30
  callback(data.channels[0]);
@@ -1,9 +1,9 @@
1
- import { getActiveClient } from '~/client/api';
2
1
  import { createEventSubscriber } from '~/core/events';
3
2
 
3
+ import { getActiveClient } from '~/client/api/activeClient';
4
4
  import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
- import { prepareChannelPayload } from '../utils';
6
+ import { prepareChannelPayload } from '../utils/prepareChannelPayload';
7
7
 
8
8
  /**
9
9
  * ```js
@@ -23,8 +23,8 @@ import { prepareChannelPayload } from '../utils';
23
23
  export const onChannelDeleted = (callback: Amity.Listener<Amity.Channel>) => {
24
24
  const client = getActiveClient();
25
25
 
26
- const filter = (payload: Amity.ChannelPayload) => {
27
- const data = prepareChannelPayload(payload);
26
+ const filter = async (payload: Amity.ChannelPayload) => {
27
+ const data = await prepareChannelPayload(payload);
28
28
 
29
29
  ingestInCache(data);
30
30
  callback(data.channels[0]);
@@ -25,8 +25,8 @@ export const onChannelJoined = (
25
25
  ) => {
26
26
  const client = getActiveClient();
27
27
 
28
- const filter = (payload: Amity.ChannelMembershipPayload) => {
29
- const preparedPayload = prepareChannelPayload(payload);
28
+ const filter = async (payload: Amity.ChannelMembershipPayload) => {
29
+ const preparedPayload = await prepareChannelPayload(payload);
30
30
  const { channels, channelUsers } = preparedPayload;
31
31
 
32
32
  ingestInCache(preparedPayload);
@@ -25,8 +25,8 @@ export const onChannelLeft = (
25
25
  ) => {
26
26
  const client = getActiveClient();
27
27
 
28
- const filter = (payload: Amity.ChannelMembershipPayload) => {
29
- const preparedPayload = prepareChannelPayload(payload);
28
+ const filter = async (payload: Amity.ChannelMembershipPayload) => {
29
+ const preparedPayload = await prepareChannelPayload(payload);
30
30
  const { channels, channelUsers } = preparedPayload;
31
31
 
32
32
  ingestInCache(preparedPayload);
@@ -24,8 +24,8 @@ export const onChannelMemberAdded = (
24
24
  ): Amity.Unsubscriber => {
25
25
  const client = getActiveClient();
26
26
 
27
- const filter = (payload: Amity.ChannelMembershipPayload) => {
28
- const preparedPayload = prepareChannelPayload(payload);
27
+ const filter = async (payload: Amity.ChannelMembershipPayload) => {
28
+ const preparedPayload = await prepareChannelPayload(payload);
29
29
  const { channels, channelUsers } = preparedPayload;
30
30
 
31
31
  ingestInCache(preparedPayload);
@@ -1,6 +1,6 @@
1
- import { getActiveClient } from '~/client/api';
2
1
  import { createEventSubscriber } from '~/core/events';
3
2
 
3
+ import { getActiveClient } from '~/client/api/activeClient';
4
4
  import { ingestInCache } from '~/cache/api/ingestInCache';
5
5
 
6
6
  import { prepareChannelPayload } from '../utils';
@@ -25,8 +25,8 @@ export const onChannelMemberBanned = (
25
25
  ) => {
26
26
  const client = getActiveClient();
27
27
 
28
- const filter = (payload: Amity.ChannelMembershipPayload) => {
29
- const preparedPayload = prepareChannelPayload(payload);
28
+ const filter = async (payload: Amity.ChannelMembershipPayload) => {
29
+ const preparedPayload = await prepareChannelPayload(payload);
30
30
  const { channels, channelUsers } = preparedPayload;
31
31
 
32
32
  ingestInCache(preparedPayload);
@@ -25,8 +25,8 @@ export const onChannelMemberRemoved = (
25
25
  ) => {
26
26
  const client = getActiveClient();
27
27
 
28
- const filter = (payload: Amity.ChannelMembershipPayload) => {
29
- const preparedPayload = prepareChannelPayload(payload);
28
+ const filter = async (payload: Amity.ChannelMembershipPayload) => {
29
+ const preparedPayload = await prepareChannelPayload(payload);
30
30
  const { channels, channelUsers } = preparedPayload;
31
31
 
32
32
  ingestInCache(preparedPayload);
@@ -25,8 +25,8 @@ export const onChannelMemberUnbanned = (
25
25
  ) => {
26
26
  const client = getActiveClient();
27
27
 
28
- const filter = (payload: Amity.ChannelMembershipPayload) => {
29
- const preparedPayload = prepareChannelPayload(payload);
28
+ const filter = async (payload: Amity.ChannelMembershipPayload) => {
29
+ const preparedPayload = await prepareChannelPayload(payload);
30
30
  const { channels, channelUsers } = preparedPayload;
31
31
 
32
32
  ingestInCache(preparedPayload);
@@ -23,8 +23,8 @@ import { prepareChannelPayload } from '../utils';
23
23
  export const onChannelMuted = (callback: Amity.Listener<Amity.Channel>) => {
24
24
  const client = getActiveClient();
25
25
 
26
- const filter = (payload: Amity.ChannelPayload) => {
27
- const data = prepareChannelPayload(payload);
26
+ const filter = async (payload: Amity.ChannelPayload) => {
27
+ const data = await prepareChannelPayload(payload);
28
28
 
29
29
  ingestInCache(data);
30
30
  callback(data.channels[0]);
@@ -1,9 +1,10 @@
1
+ import { pullFromCache, upsertInCache } from '~/cache/api';
1
2
  import { getActiveClient } from '~/client/api';
2
3
  import { createEventSubscriber } from '~/core/events';
3
4
 
4
5
  import { ingestInCache } from '~/cache/api/ingestInCache';
5
6
 
6
- import { prepareChannelPayload } from '../utils';
7
+ import { prepareChannelPayload, updateChannelMarker } from '../utils';
7
8
 
8
9
  /**
9
10
  * ```js
@@ -23,18 +24,38 @@ import { prepareChannelPayload } from '../utils';
23
24
  export const onChannelUpdated = (callback: Amity.Listener<Amity.Channel>) => {
24
25
  const client = getActiveClient();
25
26
 
26
- const filter = (payload: Amity.ChannelPayload) => {
27
- const data = prepareChannelPayload(payload);
27
+ const filter = async (payload: Amity.ChannelPayload) => {
28
+ const data = await prepareChannelPayload(payload);
28
29
 
29
30
  ingestInCache(data);
30
31
  callback(data.channels[0]);
31
32
  };
32
33
 
34
+ const channelMarkerChangeHandler = async (
35
+ rawPayload: MakeRequired<Amity.ChannelMarkerPayload, 'userEntityMarkers'>,
36
+ ) => {
37
+ const marker = rawPayload.userEntityMarkers[0];
38
+ const cacheKey = ['channel', 'get', marker.entityId];
39
+ const channel = pullFromCache<Amity.Channel>(cacheKey)?.data;
40
+
41
+ if (!channel) return;
42
+
43
+ const updated = updateChannelMarker(channel, marker);
44
+ upsertInCache(cacheKey, updated);
45
+ callback(updated);
46
+ };
47
+
33
48
  const disposers = [
34
49
  createEventSubscriber(client, 'onChannelUpdated', 'channel.updated', filter),
35
- createEventSubscriber(client, 'local.channel.updated', 'local.channel.updated', payload =>
50
+ createEventSubscriber(client, 'onChannelUpdated', 'local.channel.updated', payload =>
36
51
  callback(payload.channels[0]),
37
52
  ),
53
+ createEventSubscriber(
54
+ client,
55
+ 'onChannelUpdated',
56
+ 'local.channelMarker.fetched',
57
+ channelMarkerChangeHandler,
58
+ ),
38
59
  ];
39
60
 
40
61
  return () => {
@@ -5,6 +5,7 @@ import {
5
5
  client,
6
6
  connectClient,
7
7
  disconnectClient,
8
+ pause,
8
9
  rawChannelUser,
9
10
  user11,
10
11
  } from '~/utils/tests';
@@ -30,12 +31,14 @@ describe('onChannelCreated event', () => {
30
31
  users: [user11],
31
32
  };
32
33
 
33
- test('it should call callback when channel have created', () => {
34
+ test('it should call callback when channel have created', async () => {
34
35
  const callback = jest.fn();
35
36
 
36
37
  const unsub = onChannelCreated(callback);
37
38
  client.emitter.emit('channel.created', channelPayload);
38
39
 
40
+ await pause();
41
+
39
42
  unsub();
40
43
 
41
44
  expect(callback).toHaveBeenCalled();
@@ -6,9 +6,11 @@ import {
6
6
  client,
7
7
  connectClient,
8
8
  disconnectClient,
9
+ pause,
9
10
  rawChannelUser,
10
11
  user11,
11
12
  } from '~/utils/tests';
13
+
12
14
  import { onChannelJoined } from '../onChannelJoined';
13
15
 
14
16
  describe('onChannelJoined event', () => {
@@ -31,12 +33,14 @@ describe('onChannelJoined event', () => {
31
33
  users: [user11],
32
34
  };
33
35
 
34
- test('it should call callback when have someone joined channel', () => {
36
+ test('it should call callback when have someone joined channel', async () => {
35
37
  const callback = jest.fn();
36
38
 
37
39
  const unsub = onChannelJoined(callback);
38
40
  client.emitter.emit('channel.joined', channelPayload);
39
41
 
42
+ await pause();
43
+
40
44
  unsub();
41
45
 
42
46
  expect(callback).toHaveBeenCalled();
@@ -8,7 +8,9 @@ import {
8
8
  rawChannelUser,
9
9
  channelRaw1,
10
10
  channelUser,
11
+ pause,
11
12
  } from '~/utils/tests';
13
+
12
14
  import { onChannelMemberAdded } from '../onChannelMemberAdded';
13
15
 
14
16
  describe('onChannelMemberAdded event', () => {
@@ -31,12 +33,14 @@ describe('onChannelMemberAdded event', () => {
31
33
  users: [user11],
32
34
  };
33
35
 
34
- test('it should call callback when have someone add member to channel', () => {
36
+ test('it should call callback when have someone add member to channel', async () => {
35
37
  const callback = jest.fn();
36
38
 
37
39
  const unsub = onChannelMemberAdded(callback);
38
40
  client.emitter.emit('channel.membersAdded', channelPayload);
39
41
 
42
+ await pause();
43
+
40
44
  unsub();
41
45
 
42
46
  expect(callback).toHaveBeenCalled();
@@ -10,6 +10,7 @@ import {
10
10
  user11,
11
11
  user13,
12
12
  channelRaw1,
13
+ pause,
13
14
  } from '~/utils/tests';
14
15
 
15
16
  import { onChannelMemberBanned } from '../onChannelMemberBanned';
@@ -34,12 +35,14 @@ describe('onChannelMemberBanned event', () => {
34
35
  users: [user11, user13],
35
36
  };
36
37
 
37
- test('it should call callback with channel and banned member', () => {
38
+ test('it should call callback with channel and banned member', async () => {
38
39
  const callback = jest.fn();
39
40
 
40
41
  const unsub = onChannelMemberBanned(callback);
41
42
  client.emitter.emit('channel.banned', channelPayload);
42
43
 
44
+ await pause();
45
+
43
46
  unsub();
44
47
 
45
48
  expect(callback).toHaveBeenCalled();