#68 Fixed tests

master
Keith Irwin 2017-12-21 16:49:07 -05:00
parent ae284bc065
commit bbeb66233d
No known key found for this signature in database
GPG Key ID: 378933C743E2BBC0
4 changed files with 32 additions and 39 deletions

View File

@ -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`)

View File

@ -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) => {

View File

@ -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')
})

View File

@ -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', () => {
// })
})
})