Skip to content

Commit df3ee67

Browse files
test: refactor (#1768)
1 parent f61dfd4 commit df3ee67

File tree

3 files changed

+99
-87
lines changed

3 files changed

+99
-87
lines changed

test/Headers.test.js

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
'use strict';
2+
3+
const request = require('supertest');
4+
const helper = require('./helper');
5+
const config = require('./fixtures/simple-config/webpack.config');
6+
7+
describe('Headers', () => {
8+
let server;
9+
let req;
10+
11+
describe('as a string', () => {
12+
beforeAll((done) => {
13+
server = helper.start(
14+
config,
15+
{
16+
headers: { 'X-Foo': '1' },
17+
},
18+
done
19+
);
20+
req = request(server.app);
21+
});
22+
23+
afterAll(helper.close);
24+
25+
it('GET request with headers', (done) => {
26+
req
27+
.get('/main')
28+
.expect('X-Foo', '1')
29+
.expect(200, done);
30+
});
31+
});
32+
33+
describe('as an array', () => {
34+
beforeAll((done) => {
35+
server = helper.start(
36+
config,
37+
{
38+
headers: { 'X-Bar': ['key1=value1', 'key2=value2'] },
39+
},
40+
done
41+
);
42+
req = request(server.app);
43+
});
44+
45+
afterAll(helper.close);
46+
47+
it('GET request with headers as an array', (done) => {
48+
// https://github.com/webpack/webpack-dev-server/pull/1650#discussion_r254217027
49+
const expected = ['v7', 'v8', 'v9'].includes(
50+
process.version.split('.')[0]
51+
)
52+
? 'key1=value1,key2=value2'
53+
: 'key1=value1, key2=value2';
54+
req
55+
.get('/main')
56+
.expect('X-Bar', expected)
57+
.expect(200, done);
58+
});
59+
});
60+
});

test/Routes.test.js

Lines changed: 35 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -19,101 +19,49 @@ describe('Routes', () => {
1919
let server;
2020
let req;
2121

22-
describe('without headers', () => {
23-
beforeAll((done) => {
24-
server = helper.startAwaitingCompilation(config, {}, done);
25-
req = request(server.app);
26-
});
27-
28-
afterAll(helper.close);
29-
30-
it('GET request to inline bundle', (done) => {
31-
req
32-
.get('/webpack-dev-server.js')
33-
.expect('Content-Type', 'application/javascript')
34-
.expect(200, done);
35-
});
36-
37-
it('GET request to live bundle', (done) => {
38-
req
39-
.get('/__webpack_dev_server__/live.bundle.js')
40-
.expect('Content-Type', 'application/javascript')
41-
.expect(200, done);
42-
});
43-
44-
it('GET request to sockjs bundle', (done) => {
45-
req
46-
.get('/__webpack_dev_server__/sockjs.bundle.js')
47-
.expect('Content-Type', 'application/javascript')
48-
.expect(200, done);
49-
});
50-
51-
it('GET request to live html', (done) => {
52-
req
53-
.get('/webpack-dev-server/')
54-
.expect('Content-Type', 'text/html')
55-
.expect(200, /__webpack_dev_server__/, done);
56-
});
22+
beforeAll((done) => {
23+
server = helper.startAwaitingCompilation(config, {}, done);
24+
req = request(server.app);
25+
});
5726

58-
it('GET request to directory index', (done) => {
59-
req
60-
.get('/webpack-dev-server')
61-
.expect('Content-Type', 'text/html')
62-
.expect(200, directoryIndex.trim(), done);
63-
});
27+
afterAll(helper.close);
6428

65-
it('GET request to magic html', (done) => {
66-
req.get('/main').expect(200, magicHtml.trim(), done);
67-
});
29+
it('GET request to inline bundle', (done) => {
30+
req
31+
.get('/webpack-dev-server.js')
32+
.expect('Content-Type', 'application/javascript')
33+
.expect(200, done);
6834
});
6935

70-
describe('headers as a string', () => {
71-
beforeAll((done) => {
72-
server = helper.start(
73-
config,
74-
{
75-
headers: { 'X-Foo': '1' },
76-
},
77-
done
78-
);
79-
req = request(server.app);
80-
});
81-
82-
afterAll(helper.close);
36+
it('GET request to live bundle', (done) => {
37+
req
38+
.get('/__webpack_dev_server__/live.bundle.js')
39+
.expect('Content-Type', 'application/javascript')
40+
.expect(200, done);
41+
});
8342

84-
it('GET request with headers', (done) => {
85-
req
86-
.get('/main')
87-
.expect('X-Foo', '1')
88-
.expect(200, done);
89-
});
43+
it('GET request to sockjs bundle', (done) => {
44+
req
45+
.get('/__webpack_dev_server__/sockjs.bundle.js')
46+
.expect('Content-Type', 'application/javascript')
47+
.expect(200, done);
9048
});
9149

92-
describe('headers as an array', () => {
93-
beforeAll((done) => {
94-
server = helper.start(
95-
config,
96-
{
97-
headers: { 'X-Bar': ['key1=value1', 'key2=value2'] },
98-
},
99-
done
100-
);
101-
req = request(server.app);
102-
});
50+
it('GET request to live html', (done) => {
51+
req
52+
.get('/webpack-dev-server/')
53+
.expect('Content-Type', 'text/html')
54+
.expect(200, /__webpack_dev_server__/, done);
55+
});
10356

104-
afterAll(helper.close);
57+
it('GET request to directory index', (done) => {
58+
req
59+
.get('/webpack-dev-server')
60+
.expect('Content-Type', 'text/html')
61+
.expect(200, directoryIndex.trim(), done);
62+
});
10563

106-
it('GET request with headers as an array', (done) => {
107-
// https://github.com/webpack/webpack-dev-server/pull/1650#discussion_r254217027
108-
const expected = ['v7', 'v8', 'v9'].includes(
109-
process.version.split('.')[0]
110-
)
111-
? 'key1=value1,key2=value2'
112-
: 'key1=value1, key2=value2';
113-
req
114-
.get('/main')
115-
.expect('X-Bar', expected)
116-
.expect(200, done);
117-
});
64+
it('GET request to magic html', (done) => {
65+
req.get('/main').expect(200, magicHtml.trim(), done);
11866
});
11967
});

test/Util.test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,22 +120,26 @@ describe('check utility functions', () => {
120120

121121
describe('findPort cli utility function', () => {
122122
let mockServer = null;
123+
123124
beforeEach(() => {
124125
mockServer = {
125126
listeningApp: new EventEmitter(),
126127
};
127128
});
129+
128130
afterEach(() => {
129131
mockServer.listeningApp.removeAllListeners('error');
130132
mockServer = null;
131133
});
134+
132135
it('should find empty port starting from defaultPort', (done) => {
133136
findPort(mockServer, 8180, 3, (err, port) => {
134137
assert(err == null);
135138
assert(port === 8180);
136139
done();
137140
});
138141
});
142+
139143
it('should retry finding port for up to defaultPortRetry times', (done) => {
140144
let count = 0;
141145
const defaultPortRetry = 5;

0 commit comments

Comments
 (0)