98 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
 | |
| 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)
 | |
|     })
 | |
|   })
 | |
| })
 |