mirror of
https://github.com/zebrajr/express.git
synced 2025-12-06 12:19:51 +01:00
parent
621d074bd8
commit
33bb8fc4b6
|
|
@ -7,15 +7,23 @@ var app = express();
|
|||
var logger = require('morgan');
|
||||
var cookieParser = require('cookie-parser');
|
||||
var bodyParser = require('body-parser');
|
||||
var methodOverride = require('method-override');
|
||||
var site = require('./site');
|
||||
var post = require('./post');
|
||||
var user = require('./user');
|
||||
|
||||
module.exports = app;
|
||||
|
||||
// Config
|
||||
|
||||
app.set('view engine', 'jade');
|
||||
app.set('views', __dirname + '/views');
|
||||
app.use(logger('dev'));
|
||||
|
||||
/* istanbul ignore next */
|
||||
if (!module.parent) {
|
||||
app.use(express.logger('dev'));
|
||||
}
|
||||
|
||||
app.use(methodOverride('_method'));
|
||||
app.use(cookieParser());
|
||||
app.use(bodyParser.urlencoded({ extended: true }));
|
||||
|
|
@ -27,7 +35,7 @@ app.get('/', site.index);
|
|||
|
||||
// User
|
||||
|
||||
app.all('/users', user.list);
|
||||
app.get('/users', user.list);
|
||||
app.all('/user/:id/:op?', user.load);
|
||||
app.get('/user/:id', user.view);
|
||||
app.get('/user/:id/view', user.view);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ exports.load = function(req, res, next){
|
|||
if (req.user) {
|
||||
next();
|
||||
} else {
|
||||
next(new Error('cannot find user ' + id));
|
||||
var err = new Error('cannot find user ' + id);
|
||||
err.status = 404;
|
||||
next(err);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
97
test/acceptance/route-separation.js
Normal file
97
test/acceptance/route-separation.js
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
|
||||
var app = require('../../examples/route-separation')
|
||||
var request = require('supertest')
|
||||
|
||||
describe('route-separation', function () {
|
||||
describe('GET /', function () {
|
||||
it('should respond with index', function (done) {
|
||||
request(app)
|
||||
.get('/')
|
||||
.expect(200, /Route Separation Example/, done)
|
||||
})
|
||||
})
|
||||
|
||||
describe('GET /users', function () {
|
||||
it('should list users', function (done) {
|
||||
request(app)
|
||||
.get('/users')
|
||||
.expect(/TJ/)
|
||||
.expect(/Tobi/)
|
||||
.expect(200, done)
|
||||
})
|
||||
})
|
||||
|
||||
describe('GET /user/:id', function () {
|
||||
it('should get a user', function (done) {
|
||||
request(app)
|
||||
.get('/user/0')
|
||||
.expect(200, /Viewing user TJ/, done)
|
||||
})
|
||||
|
||||
it('should 404 on missing user', function (done) {
|
||||
request(app)
|
||||
.get('/user/10')
|
||||
.expect(404, done)
|
||||
})
|
||||
})
|
||||
|
||||
describe('GET /user/:id/view', function () {
|
||||
it('should get a user', function (done) {
|
||||
request(app)
|
||||
.get('/user/0/view')
|
||||
.expect(200, /Viewing user TJ/, done)
|
||||
})
|
||||
|
||||
it('should 404 on missing user', function (done) {
|
||||
request(app)
|
||||
.get('/user/10/view')
|
||||
.expect(404, done)
|
||||
})
|
||||
})
|
||||
|
||||
describe('GET /user/:id/edit', function () {
|
||||
it('should get a user to edit', function (done) {
|
||||
request(app)
|
||||
.get('/user/0/edit')
|
||||
.expect(200, /Editing user TJ/, done)
|
||||
})
|
||||
})
|
||||
|
||||
describe('PUT /user/:id/edit', function () {
|
||||
it('should edit a user', function (done) {
|
||||
request(app)
|
||||
.put('/user/0/edit')
|
||||
.set('Content-Type', 'application/x-www-form-urlencoded')
|
||||
.send({ user: { name: 'TJ', email: 'tj-invalid@vision-media.ca' } })
|
||||
.expect(302, function (err) {
|
||||
if (err) return done(err)
|
||||
request(app)
|
||||
.get('/user/0')
|
||||
.expect(200, /tj-invalid@vision-media\.ca/, done)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('POST /user/:id/edit?_method=PUT', function () {
|
||||
it('should edit a user', function (done) {
|
||||
request(app)
|
||||
.post('/user/1/edit?_method=PUT')
|
||||
.set('Content-Type', 'application/x-www-form-urlencoded')
|
||||
.send({ user: { name: 'Tobi', email: 'tobi-invalid@vision-media.ca' } })
|
||||
.expect(302, function (err) {
|
||||
if (err) return done(err)
|
||||
request(app)
|
||||
.get('/user/1')
|
||||
.expect(200, /tobi-invalid@vision-media\.ca/, done)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('GET /posts', function () {
|
||||
it('should get a list of posts', function (done) {
|
||||
request(app)
|
||||
.get('/posts')
|
||||
.expect(200, /Posts/, done)
|
||||
})
|
||||
})
|
||||
})
|
||||
Loading…
Reference in New Issue
Block a user