UNPKG

connect-vtexid

Version:

VTEX ID Authentication middleware for Connect

67 lines (42 loc) 1.56 kB
### Module dependencies. ### redirect = require '../libs/redirect' describe 'Lib', -> describe '#redirect()', (done) -> res = headers: {} setHeader: (header, url) -> this.headers[header] = url end: -> it 'should exist as a public function', (done) -> redirect.should.be.a.Function done() it 'should throw an error if no res parameter was passed', (done) -> redirect.bind(null).should.throw '"res" parameter is required' done() it 'should throw an error if no redirectUrl parameter was passed', (done) -> redirect.bind(null, {}).should.throw '"redirectUrl" parameter is required' done() it 'should set status code to 302', (done) -> redirectUrl = '/admin/checkout' redirect res, redirectUrl res.statusCode.should.be.equal 302 done() it 'should set Location header to redirect url', (done) -> redirectUrl = '/admin/checkout' redirect res, redirectUrl res.headers['Location'].should.be.equal '/admin/checkout' done() it 'should call res.end()', (done) -> res.end = -> done() redirectUrl = '/admin/checkout' redirect res, redirectUrl it 'should pass a querystring "previousUrl" if one was passed as parameter', (done) -> redirectUrl = '/admin/logout' previousUrl = '/admin/checkout' res.end = -> res.headers['Location'].should.be.equal '/admin/logout?previousUrl=/admin/checkout' done() redirect res, redirectUrl, previousUrl