48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
 | |
| var app = require('../../examples/downloads')
 | |
|   , request = require('supertest');
 | |
| 
 | |
| describe('downloads', function(){
 | |
|   describe('GET /', function(){
 | |
|     it('should have a link to amazing.txt', function(done){
 | |
|       request(app)
 | |
|       .get('/')
 | |
|       .expect(/href="\/files\/amazing.txt"/, done)
 | |
|     })
 | |
|   })
 | |
| 
 | |
|   describe('GET /files/notes/groceries.txt', function () {
 | |
|     it('should have a download header', function (done) {
 | |
|       request(app)
 | |
|         .get('/files/notes/groceries.txt')
 | |
|         .expect('Content-Disposition', 'attachment; filename="groceries.txt"')
 | |
|         .expect(200, done)
 | |
|     })
 | |
|   })
 | |
| 
 | |
|   describe('GET /files/amazing.txt', function(){
 | |
|     it('should have a download header', function(done){
 | |
|       request(app)
 | |
|       .get('/files/amazing.txt')
 | |
|       .expect('Content-Disposition', 'attachment; filename="amazing.txt"')
 | |
|       .expect(200, done)
 | |
|     })
 | |
|   })
 | |
| 
 | |
|   describe('GET /files/missing.txt', function(){
 | |
|     it('should respond with 404', function(done){
 | |
|       request(app)
 | |
|       .get('/files/missing.txt')
 | |
|       .expect(404, done)
 | |
|     })
 | |
|   })
 | |
| 
 | |
|   describe('GET /files/../index.js', function () {
 | |
|     it('should respond with 403', function (done) {
 | |
|       request(app)
 | |
|         .get('/files/../index.js')
 | |
|         .expect(403, done)
 | |
|     })
 | |
|   })
 | |
| })
 |