add constants file, update jobs and test

This commit is contained in:
2016-04-18 17:57:17 -07:00
parent b2ff6bc291
commit e88695a989
3 changed files with 12 additions and 5 deletions

7
src/helpers/constants.js Normal file
View File

@@ -0,0 +1,7 @@
const constants = {
JOB_STATUS_PENDING: 0,
JOB_STATUS_PROCESSING: 1,
JOB_STATUS_COMPLETED: 2,
};
export default constants;

View File

@@ -1,7 +1,6 @@
import events from 'events'; import events from 'events';
import { isPlainObject, omit } from 'lodash'; import { isPlainObject, omit } from 'lodash';
import { JOB_STATUS_PENDING } from './helpers/constants';
const PENDING = 0;
export default class Job extends events.EventEmitter { export default class Job extends events.EventEmitter {
constructor(queue, type, payload, options = {}) { constructor(queue, type, payload, options = {}) {
@@ -15,7 +14,7 @@ export default class Job extends events.EventEmitter {
this.payload = payload; this.payload = payload;
this.timeout = options.timeout || 10000; this.timeout = options.timeout || 10000;
this.options = omit(options, [ 'timeout' ]); this.options = omit(options, [ 'timeout' ]);
this.status = PENDING; this.status = JOB_STATUS_PENDING;
this.ready = this.queue.client.index({ this.ready = this.queue.client.index({
index: this.queue.index, index: this.queue.index,
@@ -28,7 +27,7 @@ export default class Job extends events.EventEmitter {
started: null, started: null,
completed: null, completed: null,
attempts: 0, attempts: 0,
status: PENDING, status: this.status,
} }
}) })
.then((doc) => { .then((doc) => {

View File

@@ -4,6 +4,7 @@ import sinon from 'sinon';
import _ from 'lodash'; import _ from 'lodash';
import Job from '../../lib/job'; import Job from '../../lib/job';
import * as elasticsearchMock from '../fixtures/elasticsearch'; import * as elasticsearchMock from '../fixtures/elasticsearch';
import { JOB_STATUS_PENDING } from '../../lib/helpers/constants';
describe('Job Class', function () { describe('Job Class', function () {
let mockQueue; let mockQueue;
@@ -100,7 +101,7 @@ describe('Job Class', function () {
it('should set status as pending', function () { it('should set status as pending', function () {
new Job(mockQueue, type, payload, options); new Job(mockQueue, type, payload, options);
const newDoc = validateDoc(mockQueue.client.index); const newDoc = validateDoc(mockQueue.client.index);
expect(newDoc.body).to.have.property('status', PENDING); expect(newDoc.body).to.have.property('status', JOB_STATUS_PENDING);
}); });
}); });
}); });