UNPKG

project-starter-dan

Version:

A project scaffolding tool.

62 lines (56 loc) 1.48 kB
const test = require('tape'); const knex = require('../database/config') const db = require('../database/utils')(knex); //Only call this in the LAST test, to stop tests hanging and reset db function cleanUp() { knex.migrate.rollback() .then(() => { return knex.migrate.latest(); }) .then(() => { knex.destroy(); }) } test('add', (t) => { const toAdd = { username: 'another', password:'password'}; knex.migrate.rollback() .then(() => { return knex.migrate.latest(); }) .then(() => { return knex.seed.run('users'); }) .then(() => { db.add('users', toAdd, (err, id) => { db.findOne('users', { id }, (err, data) => { toAdd.id = id; t.deepEqual(data, toAdd, 'adds a new user correctly'); t.end(); }); }); }) .catch(err => { console.log(err); }); }); test('findOne', (t) => { const expected = { id: 1, username: 'one', password:'password' }; knex.migrate.rollback() .then(() => { return knex.migrate.latest(); }) .then(() => { return knex.seed.run('users'); }) .then(() => { db.findOne('users', { username: expected.username }, (err, data) => { t.deepEqual(data, expected, 'finds a user correctly'); t.end(); //Only call this in the LAST test, to stop tests hanging and reset db cleanUp(); }); }) .catch(err => { console.log(err); }); });