Skip to content

Commit ccea2cd

Browse files
author
Eduardo García Sanz
committed
more tests...
1 parent 194e3a8 commit ccea2cd

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed

test/event.js

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
var React = require('react/addons'),
2+
proxyquire = require('proxyquire'),
3+
jsdom = require('jsdom');
4+
5+
global.document = jsdom.jsdom('<!doctype html><html><body></body></html>');
6+
global.window = document.defaultView;
7+
global.navigator = window.navigator;
8+
9+
var render = function (props, mock) {
10+
11+
var Event = proxyquire('../src/event.js', {
12+
'./socket': {
13+
socket: mock
14+
}
15+
});
16+
17+
var container = document.createElement('div'),
18+
component = React.createElement(Event, props);
19+
20+
React.render(component, container);
21+
22+
return {
23+
unmount: function () {
24+
25+
React.unmountComponentAtNode(container);
26+
}
27+
};
28+
};
29+
30+
describe('The socket', function () {
31+
32+
it('adds and removes an event listener to the default socket', function (done) {
33+
34+
var props = {
35+
name : 'notification',
36+
callback: function () {}
37+
};
38+
39+
var on = function (name, callback) {
40+
41+
(name).should.equal(props.name);
42+
(callback).should.equal(props.callback);
43+
};
44+
45+
var off = function (name, callback) {
46+
47+
(name).should.equal(props.name);
48+
(callback).should.equal(props.callback);
49+
done();
50+
};
51+
52+
var mock = function (name) {
53+
54+
(name).should.equal('default');
55+
56+
return {
57+
on : on,
58+
off: off
59+
};
60+
};
61+
62+
render(props, mock).unmount();
63+
});
64+
65+
it('adds and removes an event listener to a named socket', function (done) {
66+
67+
var props = {
68+
name : 'notification',
69+
socket : 'notification',
70+
callback: function () {}
71+
};
72+
73+
var on = function (name, callback) {
74+
75+
(name).should.equal(props.name);
76+
(callback).should.equal(props.callback);
77+
};
78+
79+
var off = function (name, callback) {
80+
81+
(name).should.equal(props.name);
82+
(callback).should.equal(props.callback);
83+
done();
84+
};
85+
86+
var mock = function (name) {
87+
88+
(name).should.equal(props.socket);
89+
90+
return {
91+
on : on,
92+
off: off
93+
};
94+
};
95+
96+
render(props, mock).unmount();
97+
});
98+
99+
it('listens to events', function (done) {
100+
101+
var data = {};
102+
103+
var props = {
104+
name : 'events',
105+
callback: function (response) {
106+
107+
(response).should.equal(data);
108+
done();
109+
}
110+
};
111+
112+
var on = function (name, callback) {
113+
114+
callback(data);
115+
};
116+
117+
var off = function () {};
118+
119+
var mock = function () {
120+
121+
return {
122+
on : on,
123+
off: off
124+
};
125+
};
126+
127+
render(props, mock).unmount();
128+
});
129+
});

0 commit comments

Comments
 (0)