fixed recoverCron tests failure when using mocha v3+ (#8407)

* fixed recoverCron tests

* type'o fix

* grammar nazi fix

* lint fix

* reverted to async/await (but done call removed)

* fixed Tasks tests failure on Mocha 3+
This commit is contained in:
Valeriy
2017-01-24 12:14:27 +03:00
committed by Matteo Pagliazzi
parent 42c5e6c22b
commit 86d65956d9
2 changed files with 9 additions and 15 deletions

View File

@@ -975,19 +975,18 @@ describe('recoverCron', () => {
sandbox.restore(); sandbox.restore();
}); });
it('throws an error if user cannot be found', async (done) => { it('throws an error if user cannot be found', async () => {
execStub.returns(Bluebird.resolve(null)); execStub.returns(Bluebird.resolve(null));
try { try {
await recoverCron(status, locals); await recoverCron(status, locals);
throw new Error('no exception when user cannot be found');
} catch (err) { } catch (err) {
expect(err.message).to.eql(`User ${locals.user._id} not found while recovering.`); expect(err.message).to.eql(`User ${locals.user._id} not found while recovering.`);
done();
} }
}); });
it('increases status.times count and reruns up to 4 times', async (done) => { it('increases status.times count and reruns up to 4 times', async () => {
execStub.returns(Bluebird.resolve({_cronSignature: 'RUNNING_CRON'})); execStub.returns(Bluebird.resolve({_cronSignature: 'RUNNING_CRON'}));
execStub.onCall(4).returns(Bluebird.resolve({_cronSignature: 'NOT_RUNNING'})); execStub.onCall(4).returns(Bluebird.resolve({_cronSignature: 'NOT_RUNNING'}));
@@ -995,20 +994,17 @@ describe('recoverCron', () => {
expect(status.times).to.eql(4); expect(status.times).to.eql(4);
expect(locals.user).to.eql({_cronSignature: 'NOT_RUNNING'}); expect(locals.user).to.eql({_cronSignature: 'NOT_RUNNING'});
done();
}); });
it('throws an error if recoverCron runs 5 times', async (done) => { it('throws an error if recoverCron runs 5 times', async () => {
execStub.returns(Bluebird.resolve({_cronSignature: 'RUNNING_CRON'})); execStub.returns(Bluebird.resolve({_cronSignature: 'RUNNING_CRON'}));
try { try {
await recoverCron(status, locals); await recoverCron(status, locals);
throw new Error('no exception when recoverCron runs 5 times');
} catch (err) { } catch (err) {
expect(status.times).to.eql(5); expect(status.times).to.eql(5);
expect(err.message).to.eql(`Impossible to recover from cron for user ${locals.user._id}.`); expect(err.message).to.eql(`Impossible to recover from cron for user ${locals.user._id}.`);
done();
} }
}); });
}); });

View File

@@ -91,25 +91,23 @@ describe('Task Model', () => {
sandbox.spy(Tasks.Task, 'findOne'); sandbox.spy(Tasks.Task, 'findOne');
}); });
it('throws an error if task identifier is not passed in', async (done) => { it('throws an error if task identifier is not passed in', async () => {
try { try {
await Tasks.Task.findByIdOrAlias(null, user._id); await Tasks.Task.findByIdOrAlias(null, user._id);
throw new Error('No exception when Id is None');
} catch (err) { } catch (err) {
expect(err).to.exist; expect(err).to.exist;
expect(err).to.eql(new InternalServerError('Task identifier is a required argument')); expect(err).to.eql(new InternalServerError('Task identifier is a required argument'));
done();
} }
}); });
it('throws an error if user identifier is not passed in', async (done) => { it('throws an error if user identifier is not passed in', async () => {
try { try {
await Tasks.Task.findByIdOrAlias(taskWithAlias._id); await Tasks.Task.findByIdOrAlias(taskWithAlias._id);
throw new Error('No exception when user_id is undefined');
} catch (err) { } catch (err) {
expect(err).to.exist; expect(err).to.exist;
expect(err).to.eql(new InternalServerError('User identifier is a required argument')); expect(err).to.eql(new InternalServerError('User identifier is a required argument'));
done();
} }
}); });