Add integ test for verifyLogin
This commit is contained in:
parent
f081bc782a
commit
80d3d14c85
4 changed files with 76 additions and 5 deletions
65
integration_test/database/accounts.js
Normal file
65
integration_test/database/accounts.js
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
const assert = require('assert');
|
||||
const { testDB } = require('../testutil/db');
|
||||
const accounts = require('../../lib/database/accounts');
|
||||
|
||||
require('../../lib/database').init(testDB);
|
||||
|
||||
describe('AccountsDatabase', () => {
|
||||
describe('#verifyLogin', () => {
|
||||
let ip = '169.254.111.111';
|
||||
let user;
|
||||
let password;
|
||||
|
||||
beforeEach(async () => {
|
||||
return testDB.knex.table('users')
|
||||
.where({ ip })
|
||||
.delete();
|
||||
});
|
||||
|
||||
beforeEach(done => {
|
||||
user = `u${Math.random().toString(31).substring(2)}`;
|
||||
password = 'int!gration_Test';
|
||||
|
||||
accounts.register(
|
||||
user,
|
||||
password,
|
||||
'',
|
||||
ip,
|
||||
(error, res) => {
|
||||
if (error) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
console.log(`Created test user ${user}`);
|
||||
done();
|
||||
}
|
||||
)
|
||||
});
|
||||
|
||||
it('verifies a correct login', done => {
|
||||
accounts.verifyLogin(
|
||||
user,
|
||||
password,
|
||||
(error, res) => {
|
||||
if (error) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
assert.strictEqual(res.name, user);
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('rejects an incorrect login', done => {
|
||||
accounts.verifyLogin(
|
||||
user,
|
||||
'not the right password',
|
||||
(error, res) => {
|
||||
assert.strictEqual(error, 'Invalid username/password combination');
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue