@amityco/ts-sdk 0.0.1-beta.42.3 → 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.
- package/dist/@types/core/events.d.ts +11 -1
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/marker.d.ts +37 -0
- package/dist/@types/core/marker.d.ts.map +1 -0
- package/dist/@types/core/model.d.ts +10 -0
- package/dist/@types/core/model.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +44 -0
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +5 -8
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +1 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/marker.d.ts +15 -0
- package/dist/@types/domains/marker.d.ts.map +1 -0
- package/dist/@types/domains/message.d.ts +3 -0
- package/dist/@types/domains/message.d.ts.map +1 -1
- package/dist/@types/domains/partials.d.ts +3 -0
- package/dist/@types/domains/partials.d.ts.map +1 -1
- package/dist/@types/domains/subChannel.d.ts +2 -0
- package/dist/@types/domains/subChannel.d.ts.map +1 -1
- package/dist/channel/api/index.d.ts +0 -2
- package/dist/channel/api/index.d.ts.map +1 -1
- package/dist/channel/events/onChannelUpdated.d.ts.map +1 -1
- package/dist/channel/utils/index.d.ts +1 -2
- package/dist/channel/utils/index.d.ts.map +1 -1
- package/dist/channel/utils/prepareChannelPayload.d.ts +6 -0
- package/dist/channel/utils/prepareChannelPayload.d.ts.map +1 -0
- package/dist/channel/utils/tests/prepareChannelPayload.test.d.ts +5 -1
- package/dist/channel/utils/tests/prepareChannelPayload.test.d.ts.map +1 -1
- package/dist/client/api/activeUser.d.ts +2 -2
- package/dist/client/api/activeUser.d.ts.map +1 -1
- package/dist/client/api/connectClient.d.ts.map +1 -1
- package/dist/client/api/index.d.ts +2 -0
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/client/api/markerSync.d.ts +21 -0
- package/dist/client/api/markerSync.d.ts.map +1 -0
- package/dist/client/observers/getTotalUnreadCount.d.ts +18 -0
- package/dist/client/observers/getTotalUnreadCount.d.ts.map +1 -0
- package/dist/client/observers/index.d.ts +2 -0
- package/dist/client/observers/index.d.ts.map +1 -0
- package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts +2 -0
- package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts.map +1 -0
- package/dist/client/utils/index.d.ts +2 -0
- package/dist/client/utils/index.d.ts.map +1 -0
- package/dist/client/utils/markerSyncEngine.d.ts +46 -0
- package/dist/client/utils/markerSyncEngine.d.ts.map +1 -0
- package/dist/core/events.d.ts +3 -3
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/model/idResolvers.d.ts.map +1 -1
- package/dist/core/model/index.d.ts.map +1 -1
- package/dist/index.cjs.js +1921 -1185
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1891 -1186
- package/dist/index.umd.js +4 -4
- package/dist/marker/api/getChannelMarkers.d.ts +18 -0
- package/dist/marker/api/getChannelMarkers.d.ts.map +1 -0
- package/dist/marker/api/getMessageMarkers.d.ts +18 -0
- package/dist/marker/api/getMessageMarkers.d.ts.map +1 -0
- package/dist/marker/api/getSubChannelMarkers.d.ts +18 -0
- package/dist/marker/api/getSubChannelMarkers.d.ts.map +1 -0
- package/dist/marker/api/getUserMarker.d.ts +8 -0
- package/dist/marker/api/getUserMarker.d.ts.map +1 -0
- package/dist/marker/api/index.d.ts +5 -0
- package/dist/marker/api/index.d.ts.map +1 -0
- package/dist/marker/api/tests/getChannelMarkers.test.d.ts +2 -0
- package/dist/marker/api/tests/getChannelMarkers.test.d.ts.map +1 -0
- package/dist/marker/api/tests/getMessageMarkers.test.d.ts +2 -0
- package/dist/marker/api/tests/getMessageMarkers.test.d.ts.map +1 -0
- package/dist/marker/api/tests/getSubChannelMarkers.test.d.ts +2 -0
- package/dist/marker/api/tests/getSubChannelMarkers.test.d.ts.map +1 -0
- package/dist/marker/events/index.d.ts +7 -0
- package/dist/marker/events/index.d.ts.map +1 -0
- package/dist/marker/events/onChannelMarkerFetched.d.ts +17 -0
- package/dist/marker/events/onChannelMarkerFetched.d.ts.map +1 -0
- package/dist/marker/events/onFeedlMarkerFetched.d.ts +17 -0
- package/dist/marker/events/onFeedlMarkerFetched.d.ts.map +1 -0
- package/dist/marker/events/onMessageMarkerFetched.d.ts +17 -0
- package/dist/marker/events/onMessageMarkerFetched.d.ts.map +1 -0
- package/dist/marker/events/onSubChannelMarkerFetched.d.ts +17 -0
- package/dist/marker/events/onSubChannelMarkerFetched.d.ts.map +1 -0
- package/dist/marker/events/onSubChannelMarkerUpdated.d.ts +17 -0
- package/dist/marker/events/onSubChannelMarkerUpdated.d.ts.map +1 -0
- package/dist/marker/events/onUserMarkerFetched.d.ts +17 -0
- package/dist/marker/events/onUserMarkerFetched.d.ts.map +1 -0
- package/dist/message/api/getMessage.d.ts.map +1 -1
- package/dist/message/api/getMessages.d.ts.map +1 -1
- package/dist/message/api/index.d.ts +1 -0
- package/dist/message/api/index.d.ts.map +1 -1
- package/dist/message/api/markAsDelivered.d.ts +17 -0
- package/dist/message/api/markAsDelivered.d.ts.map +1 -0
- package/dist/message/api/queryMessages.d.ts.map +1 -1
- package/dist/message/api/tests/markAsDelivered.test.d.ts +2 -0
- package/dist/message/api/tests/markAsDelivered.test.d.ts.map +1 -0
- package/dist/message/api/updateMessage.d.ts.map +1 -1
- package/dist/message/events/index.d.ts +1 -0
- package/dist/message/events/index.d.ts.map +1 -1
- package/dist/message/events/onMessageCreated.d.ts +2 -1
- package/dist/message/events/onMessageCreated.d.ts.map +1 -1
- package/dist/message/events/onMessageUpdated.d.ts.map +1 -1
- package/dist/message/utils/index.d.ts +1 -18
- package/dist/message/utils/index.d.ts.map +1 -1
- package/dist/message/utils/prepareMessagePayload.d.ts +16 -0
- package/dist/message/utils/prepareMessagePayload.d.ts.map +1 -0
- package/dist/report/api/createReport.d.ts.map +1 -1
- package/dist/report/api/deleteReport.d.ts.map +1 -1
- package/dist/subChannel/api/getSubChannels.d.ts.map +1 -1
- package/dist/subChannel/api/index.d.ts +2 -0
- package/dist/subChannel/api/index.d.ts.map +1 -1
- package/dist/subChannel/api/startReadingAPI.d.ts +17 -0
- package/dist/subChannel/api/startReadingAPI.d.ts.map +1 -0
- package/dist/subChannel/api/stopReadingAPI.d.ts +17 -0
- package/dist/subChannel/api/stopReadingAPI.d.ts.map +1 -0
- package/dist/subChannel/events/onSubChannelUpdated.d.ts +1 -1
- package/dist/subChannel/events/onSubChannelUpdated.d.ts.map +1 -1
- package/dist/subChannel/observers/liveSubChannel.d.ts.map +1 -1
- package/dist/subChannel/utils/index.d.ts +2 -7
- package/dist/subChannel/utils/index.d.ts.map +1 -1
- package/dist/subChannel/utils/markReadEngine.d.ts +33 -0
- package/dist/subChannel/utils/markReadEngine.d.ts.map +1 -0
- package/dist/subChannel/utils/prepareSubChannelPayload.d.ts +15 -0
- package/dist/subChannel/utils/prepareSubChannelPayload.d.ts.map +1 -0
- package/dist/utils/liveObject.d.ts +1 -1
- package/dist/utils/liveObject.d.ts.map +1 -1
- package/dist/utils/tests/client.d.ts +1 -0
- package/dist/utils/tests/client.d.ts.map +1 -1
- package/dist/utils/tests/dummy/channel.d.ts +4 -0
- package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
- package/dist/utils/tests/dummy/index.d.ts +1 -0
- package/dist/utils/tests/dummy/index.d.ts.map +1 -1
- package/dist/utils/tests/dummy/marker.d.ts +6 -0
- package/dist/utils/tests/dummy/marker.d.ts.map +1 -0
- package/dist/utils/tests/dummy/message.d.ts +2 -0
- package/dist/utils/tests/dummy/message.d.ts.map +1 -1
- package/dist/utils/tests/dummy/subChannel.d.ts +1 -0
- package/dist/utils/tests/dummy/subChannel.d.ts.map +1 -1
- package/dist/utils/tests/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/events.ts +13 -1
- package/src/@types/core/marker.ts +42 -0
- package/src/@types/core/model.ts +12 -0
- package/src/@types/core/payload.ts +52 -0
- package/src/@types/domains/channel.ts +5 -16
- package/src/@types/domains/client.ts +2 -0
- package/src/@types/domains/marker.ts +15 -0
- package/src/@types/domains/message.ts +3 -0
- package/src/@types/domains/partials.ts +4 -0
- package/src/@types/domains/subChannel.ts +2 -0
- package/src/channel/api/addChannelMembers.ts +1 -1
- package/src/channel/api/addChannelMembersRole.ts +1 -1
- package/src/channel/api/banChannelMembers.ts +1 -1
- package/src/channel/api/createChannel.ts +1 -1
- package/src/channel/api/getChannel.ts +1 -1
- package/src/channel/api/getChannels.ts +1 -1
- package/src/channel/api/index.ts +0 -3
- package/src/channel/api/joinChannel.ts +1 -1
- package/src/channel/api/leaveChannel.ts +1 -1
- package/src/channel/api/queryChannelMembers.ts +1 -1
- package/src/channel/api/queryChannels.ts +1 -1
- package/src/channel/api/removeChannelMembers.ts +1 -1
- package/src/channel/api/removeChannelMembersRole.ts +1 -1
- package/src/channel/api/tests/addChannelMembers.test.ts +16 -0
- package/src/channel/api/tests/createChannel.test.ts +29 -8
- package/src/channel/api/tests/getChannel.test.ts +11 -4
- package/src/channel/api/tests/getChannels.test.ts +20 -12
- package/src/channel/api/tests/queryChannelMembers.test.ts +13 -4
- package/src/channel/api/tests/queryChannels.test.ts +19 -9
- package/src/channel/api/unbanChannelMembers.ts +1 -1
- package/src/channel/api/updateChannel.ts +1 -1
- package/src/channel/events/onChannelCreated.ts +2 -2
- package/src/channel/events/onChannelDeleted.ts +4 -4
- package/src/channel/events/onChannelJoined.ts +2 -2
- package/src/channel/events/onChannelLeft.ts +2 -2
- package/src/channel/events/onChannelMemberAdded.ts +2 -2
- package/src/channel/events/onChannelMemberBanned.ts +3 -3
- package/src/channel/events/onChannelMemberRemoved.ts +2 -2
- package/src/channel/events/onChannelMemberUnbanned.ts +2 -2
- package/src/channel/events/onChannelMuted.ts +2 -2
- package/src/channel/events/onChannelUpdated.ts +25 -4
- package/src/channel/events/tests/onChannelCreated.test.ts +4 -1
- package/src/channel/events/tests/onChannelJoined.test.ts +5 -1
- package/src/channel/events/tests/onChannelMemberAdded.test.ts +5 -1
- package/src/channel/events/tests/onChannelMemberBanned.test.ts +4 -1
- package/src/channel/events/tests/onChannelMemberRemoved.test.ts +5 -1
- package/src/channel/events/tests/onChannelMemberUnbanned.test.ts +10 -10
- package/src/channel/events/tests/onChannelUpdated.test.ts +5 -1
- package/src/channel/observers/tests/liveChannelMembers.test.ts +5 -11
- package/src/channel/observers/tests/liveChannels.test.ts +21 -24
- package/src/channel/utils/index.ts +1 -57
- package/src/channel/utils/prepareChannelPayload.ts +91 -0
- package/src/channel/utils/tests/prepareChannelPayload.test.ts +102 -104
- package/src/client/api/activeUser.ts +2 -2
- package/src/client/api/connectClient.ts +2 -1
- package/src/client/api/index.ts +3 -0
- package/src/client/api/markerSync.ts +42 -0
- package/src/client/observers/getTotalUnreadCount.ts +52 -0
- package/src/client/observers/index.ts +1 -0
- package/src/client/observers/tests/getTotalUnreadCount.test.ts +126 -0
- package/src/client/utils/index.ts +1 -0
- package/src/client/utils/markerSyncEngine.ts +179 -0
- package/src/comment/api/tests/queryComments.test.ts +2 -2
- package/src/core/model/idResolvers.ts +7 -0
- package/src/core/model/identifyModel.ts +1 -1
- package/src/core/model/index.ts +6 -0
- package/src/core/tests/query/query/runQuery.test.ts +3 -1
- package/src/group/utils/withUser.ts +2 -2
- package/src/index.ts +6 -0
- package/src/marker/api/getChannelMarkers.ts +53 -0
- package/src/marker/api/getMessageMarkers.ts +54 -0
- package/src/marker/api/getSubChannelMarkers.ts +54 -0
- package/src/marker/api/getUserMarker.ts +47 -0
- package/src/marker/api/index.ts +4 -0
- package/src/marker/api/tests/getChannelMarkers.test.ts +109 -0
- package/src/marker/api/tests/getMessageMarkers.test.ts +114 -0
- package/src/marker/api/tests/getSubChannelMarkers.test.ts +116 -0
- package/src/marker/events/index.ts +10 -0
- package/src/marker/events/onChannelMarkerFetched.ts +34 -0
- package/src/marker/events/onFeedlMarkerFetched.ts +34 -0
- package/src/marker/events/onMessageMarkerFetched.ts +34 -0
- package/src/marker/events/onSubChannelMarkerFetched.ts +34 -0
- package/src/marker/events/onSubChannelMarkerUpdated.ts +34 -0
- package/src/marker/events/onUserMarkerFetched.ts +34 -0
- package/src/message/api/createMessage.ts +1 -1
- package/src/message/api/getMessage.ts +6 -5
- package/src/message/api/getMessages.ts +7 -6
- package/src/message/api/index.ts +1 -0
- package/src/message/api/markAsDelivered.ts +36 -0
- package/src/message/api/queryMessages.ts +8 -6
- package/src/message/api/tests/createMessage.test.ts +13 -4
- package/src/message/api/tests/getMessage.test.ts +12 -3
- package/src/message/api/tests/getMessages.test.ts +14 -5
- package/src/message/api/tests/markAsDelivered.test.ts +83 -0
- package/src/message/api/tests/queryMessages.test.ts +14 -3
- package/src/message/api/updateMessage.ts +8 -7
- package/src/message/events/index.ts +2 -0
- package/src/message/events/onMessageCreated.ts +14 -41
- package/src/message/events/onMessageDeleted.ts +2 -2
- package/src/message/events/onMessageFlagCleared.ts +2 -2
- package/src/message/events/onMessageFlagged.ts +2 -2
- package/src/message/events/onMessageReactionAdded.ts +2 -2
- package/src/message/events/onMessageReactionRemoved.ts +2 -2
- package/src/message/events/onMessageUnflagged.ts +2 -2
- package/src/message/events/onMessageUpdated.ts +27 -5
- package/src/message/tests/events.test.ts +4 -2
- package/src/message/tests/observers/liveMessage.test.ts +22 -10
- package/src/message/tests/observers/liveMessages.test.ts +25 -18
- package/src/message/utils/index.ts +1 -140
- package/src/message/utils/prepareMessagePayload.ts +182 -0
- package/src/reaction/events/onReactionAdded.ts +2 -2
- package/src/reaction/events/onReactionRemoved.ts +2 -2
- package/src/reaction/events/onReactorAdded.ts +2 -2
- package/src/reaction/events/onReactorRemoved.ts +2 -2
- package/src/report/api/createReport.ts +2 -1
- package/src/report/api/deleteReport.ts +2 -1
- package/src/subChannel/api/createSubChannel.ts +1 -1
- package/src/subChannel/api/getSubChannel.ts +1 -1
- package/src/subChannel/api/getSubChannels.ts +2 -1
- package/src/subChannel/api/index.ts +3 -0
- package/src/subChannel/api/querySubChannels.ts +1 -1
- package/src/subChannel/api/startReadingAPI.ts +33 -0
- package/src/subChannel/api/stopReadingAPI.ts +33 -0
- package/src/subChannel/api/tests/createSubChannel.test.ts +6 -3
- package/src/subChannel/api/tests/deleteSubChannel.test.ts +7 -5
- package/src/subChannel/api/tests/getSubChannel.test.ts +6 -4
- package/src/subChannel/api/tests/getSubChannels.test.ts +6 -3
- package/src/subChannel/api/tests/updateSubChannel.test.ts +6 -3
- package/src/subChannel/api/updateSubChannel.ts +1 -1
- package/src/subChannel/events/onSubChannelCreated.ts +2 -2
- package/src/subChannel/events/onSubChannelDeleted.ts +2 -2
- package/src/subChannel/events/onSubChannelUpdated.ts +43 -4
- package/src/subChannel/observers/liveSubChannel.ts +2 -0
- package/src/subChannel/observers/tests/liveSubChannel.test.ts +15 -10
- package/src/subChannel/observers/tests/liveSubChannels.test.ts +21 -14
- package/src/subChannel/utils/index.ts +2 -50
- package/src/subChannel/utils/markReadEngine.ts +117 -0
- package/src/subChannel/utils/prepareSubChannelPayload.ts +132 -0
- package/src/utils/liveObject.ts +15 -4
- package/src/utils/tests/client.ts +3 -1
- package/src/utils/tests/dummy/channel.ts +38 -21
- package/src/utils/tests/dummy/index.ts +1 -0
- package/src/utils/tests/dummy/marker.ts +68 -0
- package/src/utils/tests/dummy/message.ts +43 -3
- package/src/utils/tests/dummy/subChannel.ts +16 -5
- package/src/utils/tests/utils.ts +4 -1
- package/dist/channel/api/startReading.d.ts +0 -17
- package/dist/channel/api/startReading.d.ts.map +0 -1
- package/dist/channel/api/stopReading.d.ts +0 -16
- package/dist/channel/api/stopReading.d.ts.map +0 -1
- package/dist/channel/api/tests/startReading.test.d.ts +0 -2
- package/dist/channel/api/tests/startReading.test.d.ts.map +0 -1
- package/dist/channel/api/tests/stopReading.test.d.ts +0 -2
- package/dist/channel/api/tests/stopReading.test.d.ts.map +0 -1
- package/src/channel/api/startReading.ts +0 -57
- package/src/channel/api/stopReading.ts +0 -53
- package/src/channel/api/tests/startReading.test.ts +0 -25
- package/src/channel/api/tests/stopReading.test.ts +0 -25
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
import { ASCApiError } from '~/core/errors';
|
|
2
2
|
import { disableCache, enableCache, pushToCache } from '~/cache/api';
|
|
3
|
-
import {
|
|
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 =
|
|
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,6 +1,11 @@
|
|
|
1
1
|
import { disableCache, enableCache, pushToCache } from '~/cache/api';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
client,
|
|
4
|
+
connectClient,
|
|
5
|
+
convertRawChannelPayload,
|
|
6
|
+
disconnectClient,
|
|
7
|
+
getChannelsResponse,
|
|
8
|
+
} from '~/utils/tests';
|
|
4
9
|
import { ASCApiError } from '~/core/errors';
|
|
5
10
|
|
|
6
11
|
import { getChannels } from '../getChannels';
|
|
@@ -10,14 +15,17 @@ const channelIds = [
|
|
|
10
15
|
getChannelsResponse.data.channels[1].channelId,
|
|
11
16
|
getChannelsResponse.data.channels[2].channelId,
|
|
12
17
|
];
|
|
13
|
-
const
|
|
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 =
|
|
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(
|
|
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]],
|
|
60
|
-
pushToCache(['channel', 'get', channelIds[1]],
|
|
61
|
-
pushToCache(['channel', 'get', channelIds[2]],
|
|
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(
|
|
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]],
|
|
88
|
-
pushToCache(['channel', 'get', channelIds[1]],
|
|
89
|
-
pushToCache(['channel', 'get', channelIds[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 {
|
|
7
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 } =
|
|
140
|
+
const { channels: expected } = convertRawChannelPayload(payload);
|
|
131
141
|
|
|
132
|
-
ingestInCache(
|
|
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, '
|
|
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();
|
|
@@ -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 { onChannelMemberRemoved } from '../onChannelMemberRemoved';
|
|
13
15
|
|
|
14
16
|
describe('onChannelMemberRemoved event', () => {
|
|
@@ -31,12 +33,14 @@ describe('onChannelMemberRemoved event', () => {
|
|
|
31
33
|
users: [user11],
|
|
32
34
|
};
|
|
33
35
|
|
|
34
|
-
test('it should call callback when have someone remove member from channel', () => {
|
|
36
|
+
test('it should call callback when have someone remove member from channel', async () => {
|
|
35
37
|
const callback = jest.fn();
|
|
36
38
|
|
|
37
39
|
const unsub = onChannelMemberRemoved(callback);
|
|
38
40
|
client.emitter.emit('channel.membersRemoved', channelPayload);
|
|
39
41
|
|
|
42
|
+
await pause();
|
|
43
|
+
|
|
40
44
|
unsub();
|
|
41
45
|
|
|
42
46
|
expect(callback).toHaveBeenCalled();
|
|
@@ -10,21 +10,16 @@ import {
|
|
|
10
10
|
user11,
|
|
11
11
|
user12,
|
|
12
12
|
channelRaw1,
|
|
13
|
+
pause,
|
|
13
14
|
} from '~/utils/tests';
|
|
14
15
|
|
|
15
16
|
import { onChannelMemberUnbanned } from '../onChannelMemberUnbanned';
|
|
16
17
|
|
|
17
18
|
describe('onChannelMemberBanned event', () => {
|
|
18
|
-
beforeAll(
|
|
19
|
-
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
afterAll(async () => {
|
|
23
|
-
await disconnectClient();
|
|
24
|
-
});
|
|
19
|
+
beforeAll(connectClient);
|
|
20
|
+
afterAll(disconnectClient);
|
|
25
21
|
|
|
26
22
|
beforeEach(enableCache);
|
|
27
|
-
|
|
28
23
|
afterEach(disableCache);
|
|
29
24
|
|
|
30
25
|
const channelPayload: Amity.ChannelMembershipPayload = {
|
|
@@ -34,22 +29,27 @@ describe('onChannelMemberBanned event', () => {
|
|
|
34
29
|
users: [user11, user12],
|
|
35
30
|
};
|
|
36
31
|
|
|
37
|
-
test('it should call callback with channel and unbanned member', () => {
|
|
32
|
+
test('it should call callback with channel and unbanned member', async () => {
|
|
38
33
|
const callback = jest.fn();
|
|
39
34
|
|
|
40
35
|
const unsub = onChannelMemberUnbanned(callback);
|
|
41
36
|
client.emitter.emit('channel.unbanned', channelPayload);
|
|
42
37
|
|
|
38
|
+
await pause();
|
|
39
|
+
|
|
43
40
|
unsub();
|
|
44
41
|
|
|
45
42
|
expect(callback).toHaveBeenCalled();
|
|
46
43
|
expect(callback).toHaveBeenCalledWith(channel1, { ...rawChannelUser3, user: user12 });
|
|
47
44
|
});
|
|
48
45
|
|
|
49
|
-
test('it should return an Unsubscriber', () => {
|
|
46
|
+
test('it should return an Unsubscriber', async () => {
|
|
50
47
|
const callback = jest.fn();
|
|
51
48
|
|
|
52
49
|
const unsub = onChannelMemberUnbanned(callback);
|
|
50
|
+
|
|
51
|
+
await pause();
|
|
52
|
+
|
|
53
53
|
unsub();
|
|
54
54
|
|
|
55
55
|
client.emitter.emit('channel.unbanned', channelPayload);
|
|
@@ -5,9 +5,11 @@ import {
|
|
|
5
5
|
client,
|
|
6
6
|
connectClient,
|
|
7
7
|
disconnectClient,
|
|
8
|
+
pause,
|
|
8
9
|
rawChannelUser,
|
|
9
10
|
user11,
|
|
10
11
|
} from '~/utils/tests';
|
|
12
|
+
|
|
11
13
|
import { onChannelUpdated } from '../onChannelUpdated';
|
|
12
14
|
|
|
13
15
|
describe('onChannelUpdated event', () => {
|
|
@@ -30,12 +32,14 @@ describe('onChannelUpdated event', () => {
|
|
|
30
32
|
users: [user11],
|
|
31
33
|
};
|
|
32
34
|
|
|
33
|
-
test('it should call callback when channel have updated', () => {
|
|
35
|
+
test('it should call callback when channel have updated', async () => {
|
|
34
36
|
const callback = jest.fn();
|
|
35
37
|
|
|
36
38
|
const unsub = onChannelUpdated(callback);
|
|
37
39
|
client.emitter.emit('channel.updated', channelPayload);
|
|
38
40
|
|
|
41
|
+
await pause();
|
|
42
|
+
|
|
39
43
|
unsub();
|
|
40
44
|
|
|
41
45
|
expect(callback).toHaveBeenCalled();
|