'use strict' var express = require('..'); var request = require('supertest'); describe('res', function(){ describe('.links(obj)', function(){ it('should set Link header field', function (done) { var app = express(); app.use(function (req, res) { res.links({ next: 'http://api.example.com/users?page=2', last: 'http://api.example.com/users?page=5' }); res.end(); }); request(app) .get('/') .expect('Link', '; rel="next", ; rel="last"') .expect(200, done); }) it('should set Link header field for multiple calls', function (done) { var app = express(); app.use(function (req, res) { res.links({ next: 'http://api.example.com/users?page=2', last: 'http://api.example.com/users?page=5' }); res.links({ prev: 'http://api.example.com/users?page=1' }); res.end(); }); request(app) .get('/') .expect('Link', '; rel="next", ; rel="last", ; rel="prev"') .expect(200, done); }) it('should set multiple links for single rel', function (done) { var app = express(); app.use(function (req, res) { res.links({ next: 'http://api.example.com/users?page=2', last: ['http://api.example.com/users?page=5', 'http://api.example.com/users?page=1'] }); res.end(); }); request(app) .get('/') .expect('Link', '; rel="next", ; rel="last", ; rel="last"') .expect(200, done); }) }) })