Skip to content

Commit

Permalink
examples: add multi router example
Browse files Browse the repository at this point in the history
  • Loading branch information
josemarjobs authored and dougwilson committed Nov 10, 2014
1 parent 5fab60b commit 6dea32c
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 0 deletions.
13 changes: 13 additions & 0 deletions examples/multi-router/controllers/api_v1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
var express = require('../../..');

var apiv1 = express.Router();

apiv1.get('/', function(req, res) {
res.send('Hello from APIv1 root route.');
});

apiv1.get('/users', function(req, res) {
res.send('List of APIv1 users.');
});

module.exports = apiv1;
13 changes: 13 additions & 0 deletions examples/multi-router/controllers/api_v2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
var express = require('../../..');

var apiv2 = express.Router();

apiv2.get('/', function(req, res) {
res.send('Hello from APIv2 root route.');
});

apiv2.get('/users', function(req, res) {
res.send('List of APIv2 users.');
});

module.exports = apiv2;
16 changes: 16 additions & 0 deletions examples/multi-router/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
var express = require('../..');

var app = module.exports = express();

app.use('/api/v1', require('./controllers/api_v1'));
app.use('/api/v2', require('./controllers/api_v2'));

app.get('/', function(req, res) {
res.send('Hello form root route.');
});

/* istanbul ignore next */
if (!module.parent) {
app.listen(3000);
console.log('Express started on port 3000');
}
44 changes: 44 additions & 0 deletions test/acceptance/multi-router.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
var app = require('../../examples/multi-router')
var request = require('supertest')

describe('multi-router', function(){
describe('GET /',function(){
it('should respond with root handler', function(done){
request(app)
.get('/')
.expect(200, 'Hello form root route.', done)
})
})

describe('GET /api/v1/',function(){
it('should respond with APIv1 root handler', function(done){
request(app)
.get('/api/v1/')
.expect(200, 'Hello from APIv1 root route.', done)
})
})

describe('GET /api/v1/users',function(){
it('should respond with users from APIv1', function(done){
request(app)
.get('/api/v1/users')
.expect(200, 'List of APIv1 users.', done)
})
})

describe('GET /api/v2/',function(){
it('should respond with APIv2 root handler', function(done){
request(app)
.get('/api/v2/')
.expect(200, 'Hello from APIv2 root route.', done)
})
})

describe('GET /api/v2/users',function(){
it('should respond with users from APIv2', function(done){
request(app)
.get('/api/v2/users')
.expect(200, 'List of APIv2 users.', done)
})
})
})

0 comments on commit 6dea32c

Please sign in to comment.