diff --git a/server.js b/server.js index ce71604..7d7f581 100755 --- a/server.js +++ b/server.js @@ -207,7 +207,6 @@ ready_promise_list.push( new Promise( (resolve, reject) => { p => p.catch(e => e) )).then( () => { console.log('Tracman server is running properly\n') - app.emit('ready') // Used for tests }).catch( (err) => { if (err) console.error(err.message) console.log(`Tracman server is not running properly!\n`) diff --git a/test/auth.js b/test/auth.js index bc1f333..6b1d25c 100755 --- a/test/auth.js +++ b/test/auth.js @@ -1,9 +1,9 @@ 'use strict' -const request = require('supertest') -const server = require('../server') -const User = require('../config/models').user const chai = require('chai') +const User = require('../config/models').user +const request = require('supertest') + .agent(require('../server')) chai.use( require('chai-http') ) @@ -14,9 +14,6 @@ const TEST_EMAIL = 'test@tracman.org' const TEST_PASSWORD = 'mDAQYe2VYE' const BAD_PASSWORD = 'password123' -// Ensure server is ready -before((done) => { server.on('ready', done) }) - describe('Authentication', () => { describe('Account creation', () => { @@ -31,7 +28,7 @@ describe('Authentication', () => { it('Fails to create an account with a fake email', async () => { // Confirm redirect - chai.expect( await request(server).post('/signup') + chai.expect( await request.post('/signup') .type('form').send({ 'email':FAKE_EMAIL }) ).to.redirectTo('/login#signup') @@ -50,7 +47,7 @@ describe('Authentication', () => { it('Creates an account with a valid email', async () => { // Set email address - chai.expect( await request(server).post('/signup') + chai.expect( await request.post('/signup') .type('form').send({ 'email':TEST_EMAIL }) ).to.redirectTo('/login') @@ -62,13 +59,13 @@ describe('Authentication', () => { it('Loads password page', async () => { // Load password page - chai.expect(await request(server) + chai.expect(await request .get(`/settings/password/${passwordless_user.auth.passToken}`) ).html.to.have.status(200) }) it('Fails to set a weak password', async () => { - chai.expect( await request(server) + chai.expect( await request .post(`/settings/password/${passwordless_user.auth.passToken}`) .type('form').send({ 'password':BAD_PASSWORD }) ).to.redirectTo(`/settings/password/${passwordless_user.auth.passToken}`) @@ -77,7 +74,7 @@ describe('Authentication', () => { it('Sets a strong password', () => { // Set password - return request(server) + return request .post(`/settings/password/${passwordless_user.auth.passToken}`) .type('form').send({ 'password':TEST_PASSWORD }) .then( async (res) => { diff --git a/test/index.js b/test/index.js index 0bdbf72..cb5a0b0 100644 --- a/test/index.js +++ b/test/index.js @@ -1,50 +1,47 @@ -const chai = require('chai') -const chaiHttp = require('chai-http') -const request = require('supertest') -const server = require('../server') -chai.use(chaiHttp) +'use strict' -// Ensure server is ready -before((done) => { server.on('ready', done) }) +const chai = require('chai') +const request = require('supertest') + .agent(require('../server')) +chai.use( + require('chai-http') +) describe('Index routes', () => { - // Ensure server is ready - before((done) => { server.on('ready', done) }) - it( 'Displays homepage', async () => { - let res = await request(server).get('/') + let res = await request.get('/') chai.expect(res).html.to.have.status(200) }) it('Displays help page', async () => { - let res = await request(server).get('/help') + let res = await request.get('/help') chai.expect(res).html.to.have.status(200) }) it('Displays terms of service', async () => { - let res = await request(server).get('/terms') + let res = await request.get('/terms') chai.expect(res).html.to.have.status(200) }) it('Displays privacy policy', async () => { - let res = await request(server).get('/privacy') + let res = await request.get('/privacy') chai.expect(res).html.to.have.status(200) }) it('Displays robots.txt', async () => { - let res = await request(server).get('/') + let res = await request.get('/') chai.expect(res).to.have.status(200)//.to.be.text Not sure why mocha's // getting text/html in mocha; it's showing text/plain in chrome }) it('Redirects /signup to /logn#signup', async () => { - let res = await request(server).get('/signup') + let res = await request.get('/signup') chai.expect(res).to.redirectTo('/login#signup') }) it('Redirects /demo to /map/demo', async () => { - let res = await request(server).get('/demo') + let res = await request.get('/demo') chai.expect(res).to.redirectTo('/map/demo') }) diff --git a/test/map.js b/test/map.js index 2c33c07..75cb73d 100644 --- a/test/map.js +++ b/test/map.js @@ -1,21 +1,21 @@ -const chai = require('chai') -const chaiHttp = require('chai-http') -const request = require('supertest') -const server = require('../server') -chai.use(chaiHttp) +'use strict' -// Ensure server is ready -before((done) => { server.on('ready', done) }) +const chai = require('chai') +const request = require('supertest') + .agent(require('../server')) +chai.use( + require('chai-http') +) describe('Mapping', () => { it('Displays demo map', async () => { - let res = await request(server).get('/map/demo') + let res = await request.get('/map/demo') chai.expect(res).to.have.status(200).to.be.html }) // TODO: it('Shows own map', async () => { - // request(server).get('/map') + // request.get('/map') // .expect(200) // .end(function(err,res){ done(); }) // }) @@ -36,4 +36,4 @@ describe('Mapping', () => { // }) -}) \ No newline at end of file +})