Skip to content

Commit d841013

Browse files
committed
replaced zombie with supertest
1 parent f8e73c9 commit d841013

File tree

11 files changed

+257
-724
lines changed

11 files changed

+257
-724
lines changed

examples/express4-cookie/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,6 @@ app.getDelay = function (req, res) {
4141

4242
// startup
4343
app.listen(3000)
44+
45+
// export for testing
46+
module.exports = app

examples/express4-cookie/test.js

Lines changed: 41 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,13 @@
33
* $ mocha --exit test.js
44
*/
55

6-
require('./index')
7-
8-
var Browser = require('zombie')
6+
var app = require('./index')
7+
var request = require('supertest')
98
var visitLinks = require('../testlib/visitlinks')
10-
var DE = new Browser()
11-
var EN = new Browser()
12-
var AR = new Browser()
139

14-
EN.setCookie({ name: 'yourcookiename', domain: 'localhost', value: 'en' })
15-
DE.setCookie({ name: 'yourcookiename', domain: 'localhost', value: 'de' })
16-
AR.setCookie({ name: 'yourcookiename', domain: 'localhost', value: 'ar' })
10+
var DE = request(app)
11+
var EN = request(app)
12+
var AR = request(app)
1713

1814
describe('Using i18n in express 4.x with cookieParser', function () {
1915
describe('res.__() is able to handle concurrent request correctly', function () {
@@ -22,9 +18,10 @@ describe('Using i18n in express 4.x with cookieParser', function () {
2218
'series',
2319
'test',
2420
EN,
25-
'res: Hello req: Hello',
21+
'<body>res: Hello req: Hello</body>',
2622
DE,
27-
'res: Hallo req: Hallo'
23+
'<body>res: Hallo req: Hallo</body>',
24+
{ enCookies: 'yourcookiename=en', deCookies: 'yourcookiename=de' }
2825
)
2926
})
3027

@@ -33,9 +30,10 @@ describe('Using i18n in express 4.x with cookieParser', function () {
3330
'parallel',
3431
'test',
3532
EN,
36-
'res: Hello req: Hello',
33+
'<body>res: Hello req: Hello</body>',
3734
DE,
38-
'res: Hallo req: Hallo'
35+
'<body>res: Hallo req: Hallo</body>',
36+
{ enCookies: 'yourcookiename=en', deCookies: 'yourcookiename=de' }
3937
)
4038
})
4139

@@ -44,9 +42,10 @@ describe('Using i18n in express 4.x with cookieParser', function () {
4442
'series',
4543
'test',
4644
EN,
47-
'res: Hello req: Hello',
45+
'<body>res: Hello req: Hello</body>',
4846
AR,
49-
'res: مرحبا req: مرحبا'
47+
'<body>res: مرحبا req: مرحبا</body>',
48+
{ enCookies: 'yourcookiename=en', deCookies: 'yourcookiename=ar' }
5049
)
5150
})
5251

@@ -55,20 +54,43 @@ describe('Using i18n in express 4.x with cookieParser', function () {
5554
'parallel',
5655
'test',
5756
EN,
58-
'res: Hello req: Hello',
57+
'<body>res: Hello req: Hello</body>',
5958
AR,
60-
'res: مرحبا req: مرحبا'
59+
'<body>res: مرحبا req: مرحبا</body>',
60+
{ enCookies: 'yourcookiename=en', deCookies: 'yourcookiename=ar' }
6161
)
6262
})
6363
})
6464

6565
describe('i18n.__() is NOT able to handle concurrent request correctly', function () {
6666
describe('serial requests', function () {
67-
visitLinks('series', 'testfail', EN, 'Hello', DE, 'Hello')
67+
visitLinks(
68+
'series',
69+
'testfail',
70+
EN,
71+
'<body>Hello</body>',
72+
DE,
73+
'<body>Hello</body>',
74+
{
75+
enCookies: 'yourcookiename=en',
76+
deCookies: 'yourcookiename=de'
77+
}
78+
)
6879
})
6980

7081
describe('parallel requests', function () {
71-
visitLinks('parallel', 'testfail', EN, 'Hello', DE, 'Hello')
82+
visitLinks(
83+
'parallel',
84+
'testfail',
85+
EN,
86+
'<body>Hello</body>',
87+
DE,
88+
'<body>Hello</body>',
89+
{
90+
enCookies: 'yourcookiename=en',
91+
deCookies: 'yourcookiename=de'
92+
}
93+
)
7294
})
7395
})
7496
})

examples/express4-setLocale/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,6 @@ app.getDelay = function (req, res) {
8989

9090
// startup
9191
app.listen(3000)
92+
93+
// export for testing
94+
module.exports = app

examples/express4-setLocale/test.js

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
1-
require('./index')
2-
3-
var Browser = require('zombie')
1+
var app = require('./index')
2+
var request = require('supertest')
43
var visitLinks = require('../testlib/visitlinks')
5-
var DE = new Browser({
6-
headers: {
7-
'accept-language': 'de'
8-
}
9-
})
4+
5+
var DE = request(app)
106

117
describe('Using i18n in express 4.x with setLocale', function () {
128
describe('res.send() is able to handle concurrent request correctly', function () {
13-
var expected = 'req: Hallo res: Hallo res.locals: Hallo funkyObject: Hallo'
9+
var expected =
10+
'<body> req: Hallo res: Hallo res.locals: Hallo funkyObject: Hallo</body>'
1411
var url = 'default'
1512
describe('serial requests', function () {
16-
visitLinks('series', url + '/ar', DE, expected, DE, expected)
13+
visitLinks('series', url + '/ar', DE, expected, DE, expected, {
14+
deHeaders: { 'accept-language': 'de' },
15+
enHeaders: { 'accept-language': 'de' }
16+
})
1717
})
1818
describe('parallel requests', function () {
19-
visitLinks('parallel', url + '/ar', DE, expected, DE, expected)
19+
visitLinks('parallel', url + '/ar', DE, expected, DE, expected, {
20+
deHeaders: { 'accept-language': 'de' },
21+
enHeaders: { 'accept-language': 'de' }
22+
})
2023
})
2124
})
2225

2326
describe('i18n.setLocale(req, req.params.lang) is able to set locales correctly by param', function () {
24-
var expected = 'req: مرحبا res: مرحبا res.locals: مرحبا funkyObject: مرحبا'
27+
var expected =
28+
'<body> req: مرحبا res: مرحبا res.locals: مرحبا funkyObject: مرحبا</body>'
2529
var url = 'onreq'
2630
describe('serial requests', function () {
2731
visitLinks('series', url + '/ar', DE, expected, DE, expected)
@@ -32,7 +36,8 @@ describe('Using i18n in express 4.x with setLocale', function () {
3236
})
3337

3438
describe('i18n.setLocale(res, req.params.lang) is able to set locales correctly by param', function () {
35-
var expected = 'req: Hallo res: مرحبا res.locals: مرحبا funkyObject: مرحبا'
39+
var expected =
40+
'<body> req: Hallo res: مرحبا res.locals: مرحبا funkyObject: مرحبا</body>'
3641
var url = 'onres'
3742
describe('serial requests', function () {
3843
visitLinks('series', url + '/ar', DE, expected, DE, expected)
@@ -43,7 +48,8 @@ describe('Using i18n in express 4.x with setLocale', function () {
4348
})
4449

4550
describe('i18n.setLocale(res.locals, req.params.lang) is able to set locales correctly by param', function () {
46-
var expected = 'req: Hallo res: Hallo res.locals: مرحبا funkyObject: مرحبا'
51+
var expected =
52+
'<body> req: Hallo res: Hallo res.locals: مرحبا funkyObject: مرحبا</body>'
4753
var url = 'onreslocals'
4854
describe('serial requests', function () {
4955
visitLinks('series', url + '/ar', DE, expected, DE, expected)
@@ -54,7 +60,8 @@ describe('Using i18n in express 4.x with setLocale', function () {
5460
})
5561

5662
describe('i18n.setLocale(res.locals, req.params.lang) is able to set locales correctly by param', function () {
57-
var expected = 'req: Hallo res: Hallo res.locals: Hallo funkyObject: مرحبا'
63+
var expected =
64+
'<body> req: Hallo res: Hallo res.locals: Hallo funkyObject: مرحبا</body>'
5865
var url = 'onfunky'
5966
describe('serial requests', function () {
6067
visitLinks('series', url + '/ar', DE, expected, DE, expected)
@@ -65,7 +72,8 @@ describe('Using i18n in express 4.x with setLocale', function () {
6572
})
6673

6774
describe('i18n.setLocale(res.locals, req.params.lang) is able to set locales correctly by param', function () {
68-
var expected = 'req: مرحبا res: Hallo res.locals: Hallo funkyObject: مرحبا'
75+
var expected =
76+
'<body> req: مرحبا res: Hallo res.locals: Hallo funkyObject: مرحبا</body>'
6977
var url = 'onarray'
7078
describe('serial requests', function () {
7179
visitLinks('series', url + '/ar', DE, expected, DE, expected)
@@ -76,7 +84,8 @@ describe('Using i18n in express 4.x with setLocale', function () {
7684
})
7785

7886
describe('i18n.setLocale(res.locals, req.params.lang) is able to set locales correctly by param', function () {
79-
var expected = 'req: Hallo res: مرحبا res.locals: Hallo funkyObject: مرحبا'
87+
var expected =
88+
'<body> req: Hallo res: مرحبا res.locals: Hallo funkyObject: مرحبا</body>'
8089
var url = 'onresonly'
8190
describe('serial requests', function () {
8291
visitLinks('series', url + '/ar', DE, expected, DE, expected)

examples/node-http-autoreload/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,6 @@ app.getDelay = function (req, res) {
4343

4444
// startup
4545
app.listen(3000, '127.0.0.1')
46+
47+
// export for testing
48+
module.exports = app

examples/node-http-autoreload/test.js

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
1-
require('./index')
2-
3-
var Browser = require('zombie')
1+
var app = require('./index')
2+
var request = require('supertest')
43
var fs = require('fs')
54
var should = require('should')
65
var path = require('path')
7-
var DE = new Browser({
8-
headers: {
9-
'accept-language': 'de'
10-
}
11-
})
12-
var EN = new Browser({
13-
headers: {
14-
'accept-language': 'en'
15-
}
16-
})
6+
7+
var DE = request(app)
8+
var EN = request(app)
179

1810
var file = path.join(__dirname, 'locales/en.json')
1911
var content = JSON.parse(fs.readFileSync(file))
2012

2113
describe('autoreload', function () {
2214
it('should give current translations in EN', function (done) {
23-
EN.visit('http://localhost:3000/test/', function () {
24-
should.equal(EN.text('body'), 'Hello')
25-
done()
26-
})
15+
EN.get('/test/')
16+
.set('accept-language', 'en')
17+
.expect(200)
18+
.end(function (err, res) {
19+
if (err) return done(err)
20+
should.equal(res.text, 'Hello')
21+
done()
22+
})
2723
})
2824

2925
it('should give current translations in DE', function (done) {
30-
DE.visit('http://localhost:3000/test/', function () {
31-
should.equal(DE.text('body'), 'Hallo')
32-
done()
33-
})
26+
DE.get('/test/')
27+
.set('accept-language', 'de')
28+
.expect(200)
29+
.end(function (err, res) {
30+
if (err) return done(err)
31+
should.equal(res.text, 'Hallo')
32+
done()
33+
})
3434
})
3535

3636
it('should trigger reload of translations in EN', function (done) {
@@ -40,17 +40,25 @@ describe('autoreload', function () {
4040
})
4141

4242
it('should give updated translations in EN', function (done) {
43-
EN.visit('http://localhost:3000/test/', function () {
44-
should.equal(EN.text('body'), 'Hi')
45-
done()
46-
})
43+
EN.get('/test/')
44+
.set('accept-language', 'en')
45+
.expect(200)
46+
.end(function (err, res) {
47+
if (err) return done(err)
48+
should.equal(res.text, 'Hi')
49+
done()
50+
})
4751
})
4852

4953
it('should still give old translations in DE', function (done) {
50-
DE.visit('http://localhost:3000/test/', function () {
51-
should.equal(DE.text('body'), 'Hallo')
52-
done()
53-
})
54+
DE.get('/test/')
55+
.set('accept-language', 'de')
56+
.expect(200)
57+
.end(function (err, res) {
58+
if (err) return done(err)
59+
should.equal(res.text, 'Hallo')
60+
done()
61+
})
5462
})
5563

5664
it('should reset en.json', function (done) {

examples/node-http/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,6 @@ app.getDelay = function (req, res) {
4242

4343
// startup
4444
app.listen(3000, '127.0.0.1')
45+
46+
// export for testing
47+
module.exports = app

examples/node-http/test.js

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,9 @@
1-
require('./index')
2-
3-
var Browser = require('zombie')
1+
var app = require('./index')
2+
var request = require('supertest')
43
var visitLinks = require('../testlib/visitlinks')
5-
var DE = new Browser({
6-
headers: {
7-
'accept-language': 'de'
8-
}
9-
})
10-
var EN = new Browser({
11-
headers: {
12-
'accept-language': 'en'
13-
}
14-
})
4+
5+
var DE = request(app)
6+
var EN = request(app)
157

168
describe('Using res.__() in a plain node.js setup http server to handle concurrent request correctly', function () {
179
describe('serial requests', function () {

0 commit comments

Comments
 (0)