diff --git a/common/script/cron.js b/common/script/cron.js new file mode 100644 index 0000000000..9dddeaaa7f --- /dev/null +++ b/common/script/cron.js @@ -0,0 +1,16 @@ +/* + ------------------------------------------------------ + Cron and time / day functions + ------------------------------------------------------ + */ + +export const DAY_MAPPING = { + 0: 'su', + 1: 'm', + 2: 't', + 3: 'w', + 4: 'th', + 5: 'f', + 6: 's', +}; + diff --git a/common/script/index.js b/common/script/index.js index 6a3558f937..c56d9b0f0d 100644 --- a/common/script/index.js +++ b/common/script/index.js @@ -1,3 +1,7 @@ +import { + DAY_MAPPING // temporary, pending further refactoring +} from '../../common/script/cron'; + var $w, _, api, content, i18n, moment, preenHistory, sanitizeOptions, sortOrder, indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; @@ -113,17 +117,6 @@ api.startOfDay = function(options) { return dayStart; }; -api.dayMapping = { - 0: 'su', - 1: 'm', - 2: 't', - 3: 'w', - 4: 'th', - 5: 'f', - 6: 's' -}; - - /* Absolute diff from "yesterday" till now */ @@ -175,7 +168,7 @@ api.shouldDo = function(day, dailyTask, options) { return false; } dayOfWeekNum = startOfDayWithCDSTime.day(); - dayOfWeekCheck = dailyTask.repeat[api.dayMapping[dayOfWeekNum]]; + dayOfWeekCheck = dailyTask.repeat[DAY_MAPPING[dayOfWeekNum]]; return dayOfWeekCheck; } else { return false; diff --git a/test/common/algos.mocha.js b/test/common/algos.mocha.js index af902bd46c..c10e18c6d7 100644 --- a/test/common/algos.mocha.js +++ b/test/common/algos.mocha.js @@ -1,4 +1,8 @@ /* eslint-disable camelcase, func-names, no-shadow */ +import { + DAY_MAPPING, +} from '../../common/script/cron'; + let expect = require('expect.js'); let sinon = require('sinon'); let moment = require('moment'); @@ -301,7 +305,7 @@ describe('User', () => { let yesterday = moment().subtract(1, 'days'); - user.dailys[0].repeat[shared.dayMapping[yesterday.day()]] = false; + user.dailys[0].repeat[DAY_MAPPING[yesterday.day()]] = false; _.each(user.dailys.slice(1), (d) => { d.completed = true; }); @@ -383,7 +387,7 @@ describe('User', () => { it('does not reset checklist on grey incomplete dailies', () => { let yesterday = moment().subtract(1, 'days'); - user.dailys[0].repeat[shared.dayMapping[yesterday.day()]] = false; + user.dailys[0].repeat[DAY_MAPPING[yesterday.day()]] = false; user.dailys[0].checklist = [ { text: '1', @@ -407,7 +411,7 @@ describe('User', () => { it('resets checklist on complete grey complete dailies', () => { let yesterday = moment().subtract(1, 'days'); - user.dailys[0].repeat[shared.dayMapping[yesterday.day()]] = false; + user.dailys[0].repeat[DAY_MAPPING[yesterday.day()]] = false; user.dailys[0].checklist = [ { text: '1',