Skip to content

Commit ca3817a

Browse files
committed
refactored listeners tests with callback style
1 parent f735cf2 commit ca3817a

File tree

1 file changed

+50
-51
lines changed

1 file changed

+50
-51
lines changed

test/integration/components/listeners.test.js

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ describe('#listeners', () => {
3030
pubnub.stop();
3131
});
3232

33-
it('should pass messages of subscribed channel to its listener', async () => {
33+
it('should pass messages of subscribed channel to its listener', (done) => {
3434
utils
3535
.createNock()
3636
.get('/v2/subscribe/mySubKey/ch1/0')
@@ -58,16 +58,15 @@ describe('#listeners', () => {
5858
);
5959
var channel = pubnub.channel('ch1');
6060
var subscription = channel.subscription();
61-
var messagePromise = new Promise((resolveMessage) =>
62-
subscription.addListener({
63-
message: (m) => resolveMessage(m),
64-
}),
65-
);
66-
subscription.subscribe();
67-
const actual = await messagePromise;
68-
expect(JSON.stringify(actual.message)).to.equal('{"message":"My message!"}');
61+
subscription.addListener({
62+
message: (m) => {
63+
expect(JSON.stringify(m.message)).to.equal('{"message":"My message!"}');
64+
done();
65+
},
66+
}),
67+
subscription.subscribe();
6968
});
70-
it('should subscribed to channel and presence channels', async () => {
69+
it('should subscribed to channel and presence channels', (done) => {
7170
utils
7271
.createNock()
7372
.get('/v2/subscribe/mySubKey/ch1%2Cch1-pnpres/0')
@@ -96,17 +95,17 @@ describe('#listeners', () => {
9695

9796
const channel = pubnub.channel('ch1');
9897
const subscription = channel.subscription({ receivePresenceEvents: true });
99-
const messagePromise = new Promise((resolveMessage) =>
100-
subscription.addListener({
101-
message: (m) => resolveMessage(m),
102-
}),
103-
);
104-
subscription.subscribe();
105-
const actual = await messagePromise;
106-
expect(JSON.stringify(actual.message)).to.equal('{"message":"My message!"}');
98+
99+
subscription.addListener({
100+
message: (m) => {
101+
expect(JSON.stringify(m.message)).to.equal('{"message":"My message!"}');
102+
done();
103+
},
104+
}),
105+
subscription.subscribe();
107106
});
108107

109-
it('should work with subscriptionSet', async () => {
108+
it('should work with subscriptionSet', (done) => {
110109
utils
111110
.createNock()
112111
.get('/v2/subscribe/mySubKey/ch1%2Cch2/0')
@@ -136,17 +135,16 @@ describe('#listeners', () => {
136135
const channel = pubnub.channel('ch1');
137136
const subscription = channel.subscription();
138137
const subscriptionSet = subscription.addSubscription(pubnub.channel('ch2').subscription());
139-
const messagePromise = new Promise((resolveMessage) =>
140-
subscriptionSet.addListener({
141-
message: (m) => resolveMessage(m),
142-
}),
143-
);
144-
subscriptionSet.subscribe();
145-
const actual = await messagePromise;
146-
expect(JSON.stringify(actual.message)).to.equal('{"message":"My message!"}');
138+
subscriptionSet.addListener({
139+
message: (m) => {
140+
expect(JSON.stringify(m.message)).to.equal('{"message":"My message!"}');
141+
done();
142+
},
143+
}),
144+
subscriptionSet.subscribe();
147145
});
148146

149-
it('listener should route presence event to registered handler', async () => {
147+
it('listener should route presence event to registered handler', (done) => {
150148
utils
151149
.createNock()
152150
.get('/v2/subscribe/mySubKey/ch1%2Cch1-pnpres/0')
@@ -175,18 +173,18 @@ describe('#listeners', () => {
175173

176174
const channel = pubnub.channel('ch1');
177175
const subscription = channel.subscription({ receivePresenceEvents: true });
178-
const presencePromise = new Promise((resolvePresence) =>
179-
subscription.addListener({
180-
presence: (p) => resolvePresence(p),
181-
}),
182-
);
183-
subscription.subscribe();
184-
const actual = await presencePromise;
185-
expect(actual.action).to.equal('join');
186-
expect(actual.occupancy).to.equal(2);
176+
177+
subscription.addListener({
178+
presence: (p) => {
179+
expect(p.action).to.equal('join');
180+
expect(p.occupancy).to.equal(2);
181+
done();
182+
},
183+
}),
184+
subscription.subscribe();
187185
});
188186

189-
it('add/remove listener should work on subscription', async () => {
187+
it('add/remove listener should work on subscription', (done) => {
190188
utils
191189
.createNock()
192190
.get('/v2/subscribe/mySubKey/ch1/0')
@@ -217,19 +215,19 @@ describe('#listeners', () => {
217215
const subscription = channel.subscription();
218216
const listener = { message: (m) => messages.push(m) };
219217
subscription.addListener(listener);
220-
const messagePromise = new Promise((resolveMessage) =>
221-
subscription.addListener({
222-
message: (m) => resolveMessage(m),
223-
}),
224-
);
225-
subscription.removeListener(listener);
218+
219+
subscription.addListener({
220+
message: (m) => {
221+
expect(JSON.stringify(m.message)).to.equal('{"message":"My message!"}');
222+
expect(messages.length).to.equal(0);
223+
done();
224+
},
225+
}),
226+
subscription.removeListener(listener);
226227
subscription.subscribe();
227-
const actual = await messagePromise;
228-
expect(JSON.stringify(actual.message)).to.equal('{"message":"My message!"}');
229-
expect(messages.length).to.equal(0);
230228
});
231229

232-
it('should work with channel groups and their presence', async () => {
230+
it('should work with channel groups and their presence', (done) => {
233231
utils
234232
.createNock()
235233
.get('/v2/subscribe/mySubKey/%2C/0')
@@ -261,11 +259,12 @@ describe('#listeners', () => {
261259
var subscription = channelGroup.subscription({ receivePresenceEvents: true });
262260
var messagePromise = new Promise((resolveMessage) =>
263261
subscription.addListener({
264-
message: (m) => resolveMessage(m),
262+
message: (m) => {
263+
expect(JSON.stringify(m.message)).to.equal('{"message":"My message!"}');
264+
done();
265+
},
265266
}),
266267
);
267268
subscription.subscribe();
268-
const actual = await messagePromise;
269-
expect(JSON.stringify(actual.message)).to.equal('{"message":"My message!"}');
270269
});
271270
});

0 commit comments

Comments
 (0)