1 |
|
2 | var events = require('events');
|
3 | var passreset = require('../lib');
|
4 |
|
5 | module.exports = exports = new events.EventEmitter();
|
6 |
|
7 | passreset.lookupUsers(function(login, callback) {
|
8 | callback = async(callback);
|
9 | switch (login) {
|
10 | case 'valid':
|
11 | callback(null, {
|
12 | email: 'foo1@example.com',
|
13 | users: [{
|
14 | id: 123,
|
15 | name: 'foo'
|
16 | }]
|
17 | });
|
18 | break;
|
19 | case 'multivalid':
|
20 | callback(null, {
|
21 | email: 'foo2@example.com',
|
22 | users: [{
|
23 | id: 234,
|
24 | name: 'bar'
|
25 | }, {
|
26 | id: 345,
|
27 | name: 'baz'
|
28 | }]
|
29 | });
|
30 | break;
|
31 | case 'invalid':
|
32 | callback(null, false);
|
33 | break;
|
34 | default:
|
35 | callback('Invalid test login given');
|
36 | break;
|
37 | }
|
38 | });
|
39 |
|
40 | passreset.sendEmail(function(email, resets, callback) {
|
41 | exports.emit('sendEmail', email, resets);
|
42 | async(callback)(null, true);
|
43 | });
|
44 |
|
45 | passreset.setPassword(function(id, password, callback) {
|
46 | callback = async(callback);
|
47 | switch (password) {
|
48 | case 'short':
|
49 | callback(null, false, 'Password is too short');
|
50 | break;
|
51 | case 'goodPassword':
|
52 | callback(null, true);
|
53 | break;
|
54 | default:
|
55 | callback('Invalid test password given');
|
56 | break;
|
57 | }
|
58 | });
|
59 |
|
60 | function async(func) {
|
61 | return function() {
|
62 | var args = arguments;
|
63 | process.nextTick(function() {
|
64 | func.apply(this, args);
|
65 | });
|
66 | };
|
67 | }
|
68 |
|