forked from balderdashy/sails
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhook.pubsub.modelEvents.noSubscribers.test.js
115 lines (84 loc) · 2.74 KB
/
hook.pubsub.modelEvents.noSubscribers.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/**
* Test dependencies
*/
var assert = require('assert');
var socketHelper = require('./helpers/socketHelper.js');
var appHelper = require('./helpers/appHelper');
var util = require('util');
/**
* Errors
*/
var Err = {
badResponse: function(response) {
return 'Wrong server response! Response :::\n' + util.inspect(response);
}
};
describe('pubsub :: ', function() {
var sailsprocess;
var socket1;
var socket2;
var appName = 'testApp';
describe('Model events', function() {
describe('when no one is subscribed to user #1 and User has no watchers ', function() {
before(function(done) {
this.timeout(5000);
appHelper.buildAndLiftWithTwoSockets(appName, function(err, sails, _socket1, _socket2) {
if (err) {throw new Error(err);}
sailsprocess = sails;
socket1 = _socket1;
socket2 = _socket2;
done();
});
});
after(function() {
socket1.disconnect();
socket2.disconnect();
if (sailsprocess) {
sailsprocess.kill();
}
process.chdir('../');
appHelper.teardown();
});
this.slow(3000);
afterEach(function(done) {
socket2.removeAllListeners();
done();
});
it('a post request to /user should result in no `user` events being received', function(done) {
socket2.on('user', function(message) {
assert(false, 'User event received by socket 2 when it should not have been!');
})
socket1.post('/user', {name:'scott'});
setTimeout(done, 1000);
});
it('updating the user via PUT /user/1 should result in no `user` events being received', function(done) {
socket2.on('user', function(message) {
assert(false, 'User event received by socket 2 when it should not have been!');
})
socket1.put('/user/1', {name:'joe'});
setTimeout(done, 1000);
});
it ('adding a pet to the user via POST /pet should result in no `user` events being received', function(done) {
socket2.on('user', function(message) {
assert(false, 'User event received by socket 2 when it should not have been!');
})
socket1.post('/pet', {name:'rex', owner: 1});
setTimeout(done, 1000);
});
it ('removing a pet from the user via DELETE /pet/1 should result in no `user` events being received', function(done) {
socket2.on('user', function(message) {
assert(false, 'User event received by socket 2 when it should not have been!');
})
socket1.delete('/pet/1');
setTimeout(done, 1000);
});
it ('deleting the user via DELETE /user/1 should result in no `user` events being received', function(done) {
socket2.on('user', function(message) {
assert(false, 'User event received by socket 2 when it should not have been!');
})
socket1.delete('/user/1');
setTimeout(done, 1000);
});
});
});
});