diff --git a/test/e2e_redirect_test.js b/test/e2e_redirect_test.js new file mode 100644 index 0000000..4e271e3 --- /dev/null +++ b/test/e2e_redirect_test.js @@ -0,0 +1,38 @@ +const should = require('should'); +const testLib = require('./lib'); +const request = testLib.request; + +describe('e2e User Auth Tests', function () { + let clout; + + before(() => { + process.env.PORT = 8420; + process.env.NODE_ENV = 'test'; + clout = testLib.createInstance(); + }); + + it('start server', (done) => { + clout.start(); + clout.on('started', () => { + let server = clout.server['http']; + if (server) { + let port = server.address().port; + serverAddress = `http://localhost:${port}`; + } + done(); + }); + }); + + describe('/redirect', () => { + it('should give 302 /redirect/google', async () => { + const response = await request({ uri: `/redirect/google`, followRedirect: false }); + should(response.statusCode).be.equal(302); + should(response.headers.location).be.equal('https://google.com'); + }); + }); + + after('stop server', (done) => { + clout.on('stopped', () => done()); + clout.stop(); + }); +}); diff --git a/test/fixed/kitchensink/controllers/redirect/index.js b/test/fixed/kitchensink/controllers/redirect/index.js new file mode 100644 index 0000000..62ccf40 --- /dev/null +++ b/test/fixed/kitchensink/controllers/redirect/index.js @@ -0,0 +1,10 @@ +module.exports = { + path: '/redirect/google', + method: 'get', + description: ` + Controller Example to demonstrate redirections + `, + fn: (req, resp) => { + return resp.redirect('https://google.com'); + } +};