Skip to content

Commit 8932443

Browse files
committed
tests refactoring
1 parent 206587b commit 8932443

File tree

9 files changed

+111
-81
lines changed

9 files changed

+111
-81
lines changed

tests/assets-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var expect = require('chai').expect;
2-
var server = require('./server');
2+
var server = require('./server/default');
33
var fs = require('fs');
44

55
describe('MiniProfiler Assets Tests', function() {

tests/basic-test.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var expect = require('chai').expect;
2-
var server = require('./server');
2+
var server = require('./server/default');
33

44
describe('MiniProfiler Tests', function() {
55
before(server.start);
@@ -11,11 +11,5 @@ describe('MiniProfiler Tests', function() {
1111
done();
1212
});
1313
});
14-
15-
it('Unprofiled route should not return Profiler ID', function(done) {
16-
server.get('/unprofiled', (err, response) => {
17-
expect(response.headers).to.not.include.keys('x-miniprofiler-ids');
18-
done();
19-
});
20-
});
14+
2115
});

tests/server/base.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
var request = require('request');
2+
3+
module.exports = function(app) {
4+
var server;
5+
return {
6+
start: () => {
7+
server = app.listen(8080);
8+
},
9+
stop: () => {
10+
server.close();
11+
},
12+
get: (path, cb) => {
13+
request.get(`http://localhost:8080${path}`, (err, response, body) => {
14+
cb(err, response, body);
15+
});
16+
},
17+
post: (path, params, cb) => {
18+
request.post({url: `http://localhost:8080${path}`, form: params }, (err, response, body) => {
19+
cb(err, response, body);
20+
});
21+
}
22+
};
23+
24+
};

tests/server/default.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
var miniprofiler = require('../../lib/miniprofiler.js');
2+
var express = require('express');
3+
4+
var app = express();
5+
6+
app.use(miniprofiler.profile());
7+
8+
app.get('/', (req, res) => {
9+
res.send();
10+
});
11+
12+
app.get('/step', (req, res) => {
13+
req.miniprofiler.step('Step 1', () => {
14+
res.send();
15+
});
16+
});
17+
18+
app.get('/step-two', (req, res) => {
19+
req.miniprofiler.step('Step 1', () => {
20+
req.miniprofiler.step('Step 2', () => {
21+
res.send();
22+
});
23+
});
24+
});
25+
26+
module.exports = require('./base.js')(app);

tests/server/index.js

Lines changed: 0 additions & 53 deletions
This file was deleted.

tests/server/unprofiled.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
var miniprofiler = require('../../lib/miniprofiler.js');
2+
var express = require('express');
3+
4+
var app = express();
5+
6+
var disableMiniProfiler = (req) => {
7+
return false;
8+
};
9+
10+
app.use(miniprofiler.profile(disableMiniProfiler));
11+
12+
app.get('/', (req, res) => {
13+
res.send();
14+
});
15+
16+
module.exports = require('./base.js')(app);

tests/share-test.js

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,46 @@
11
var expect = require('chai').expect;
2-
var server = require('./server');
2+
var server = require('./server/default');
33

44
describe('MiniProfiler Share Tests', function() {
55
before(server.start);
66
after(server.stop);
77

8-
it('Valid profiled id should render share page', function(done) {
8+
var expectOkResponse = (done) => (err, response, body) => {
9+
expect(response.statusCode).to.be.equal(200);
10+
expect(response.headers['content-type']).to.be.equal('text/html');
11+
done();
12+
};
13+
14+
var expectNotFoundResponse = (done) => (err, response, body) => {
15+
expect(response.statusCode).to.be.equal(404);
16+
expect(response.headers['content-type']).to.be.equal('text/html');
17+
done();
18+
};
19+
20+
it('[GET] Valid profiled id should render share page', function(done) {
921
server.get('/', (err, response) => {
1022
var ids = JSON.parse(response.headers['x-miniprofiler-ids']);
1123

12-
server.get(`/mini-profiler-resources/results?id=${ids[0]}`, (err, response, body) => {
13-
expect(response.statusCode).to.be.equal(200);
14-
expect(response.headers['content-type']).to.be.equal('text/html');
15-
done();
16-
});
24+
server.get(`/mini-profiler-resources/results?id=${ids[0]}`, expectOkResponse(done));
1725

1826
});
1927
});
2028

21-
it('Invalid profiled id should render 404', function(done) {
22-
server.get(`/mini-profiler-resources/results?id=123`, (err, response, body) => {
23-
expect(response.statusCode).to.be.equal(404);
24-
expect(response.headers['content-type']).to.be.equal('text/html');
25-
done();
29+
it('[POST] Valid profiled id should render share page', function(done) {
30+
server.get('/', (err, response) => {
31+
var ids = JSON.parse(response.headers['x-miniprofiler-ids']);
32+
33+
server.post('/mini-profiler-resources/results', { id: ids[0] }, expectOkResponse(done));
34+
2635
});
2736
});
2837

29-
it('Invalid profiled id should render 404', function(done) {
30-
server.post(`/mini-profiler-resources/results`, { id: 123 }, (err, response, body) => {
31-
expect(response.statusCode).to.be.equal(404);
32-
expect(response.headers['content-type']).to.be.equal('text/html');
33-
done();
34-
});
38+
it('[GET] Invalid profiled id should render 404', function(done) {
39+
server.get('/mini-profiler-resources/results?id=123', expectNotFoundResponse(done));
40+
});
41+
42+
it('[POST] Invalid profiled id should render 404', function(done) {
43+
server.post('/mini-profiler-resources/results', { id: 123 }, expectNotFoundResponse(done));
3544
});
3645

3746
});

tests/step-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var expect = require('chai').expect;
2-
var server = require('./server');
2+
var server = require('./server/default');
33

44
describe('MiniProfiler Step Tests', function() {
55
before(server.start);

tests/unprofiled-test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
var expect = require('chai').expect;
2+
var server = require('./server/unprofiled');
3+
4+
describe('MiniProfiler Unprofiled Tests', function() {
5+
before(server.start);
6+
after(server.stop);
7+
8+
it('Unprofiled route should not return Profiler ID', function(done) {
9+
server.get('/', (err, response) => {
10+
expect(response.headers).to.not.include.keys('x-miniprofiler-ids');
11+
done();
12+
});
13+
});
14+
});

0 commit comments

Comments
 (0)