feathers-service-verify-reset
Version:
Adds user email verification and password reset capabilities to local feathers-authentication
47 lines (37 loc) • 1.39 kB
JavaScript
/* global assert, describe, it */
/* eslint no-shadow: 0, no-var: 0, one-var: 0, one-var-declaration-per-line: 0 */
const assert = require('chai').assert;
const SpyOn = require('./helpers/basicSpy');
describe('feathersStubs::SpyOn', () => {
it('works with functions without callbacks', () => {
const spy = new SpyOn(test);
spy.callWith(1, 2, 3);
spy.callWith(4, 5, 6);
assert.deepEqual(spy.result(), [
{ args: [1, 2, 3], result: ['y', false, [1, 2, 3]] },
{ args: [4, 5, 6], result: ['y', false, [4, 5, 6]] },
]);
function test(a, b, c) { return ['y', false, [a, b, c]]; }
});
it('works with functions with a callback', (done) => {
const spy = new SpyOn(testCb);
spy.callWithCb(1, 2, 3, (x, y, z) => {
assert.strictEqual(x, 'a');
assert.strictEqual(y, true);
assert.deepEqual(z, [1, 2, 3]);
spy.callWithCb(8, 9, 0, (x, y, z) => {
assert.strictEqual(x, 'a');
assert.strictEqual(y, true);
assert.deepEqual(z, [8, 9, 0]);
assert.deepEqual(spy.result(), [
{ args: [1, 2, 3], result: ['a', true, [1, 2, 3]] },
{ args: [8, 9, 0], result: ['a', true, [8, 9, 0]] },
]);
done();
});
});
function testCb(a, b, c, cb) {
setTimeout(() => (cb('a', true, [a, b, c])), 0);
}
});
});