Skip to content

Instantly share code, notes, and snippets.

@lefnire
Created August 1, 2014 20:31
Show Gist options
  • Save lefnire/50615935d12a01e9a7b2 to your computer and use it in GitHub Desktop.
Save lefnire/50615935d12a01e9a7b2 to your computer and use it in GitHub Desktop.
Cron
✓ computes shouldCron
✓ only dailies & todos are effected
preening
✓ should preen user history (40ms)
Todos
✓ 1 day missed
dailies
✓ calculates day differences with dayStart properly
new day
✓ due yesterday (simple) (80ms)
1) due yesterday due today pre-dayStart checked
2) due yesterday due today pre-dayStart un-checked
✓ due yesterday due today post-dayStart checked (204ms)
✓ due yesterday due today post-dayStart unchecked (63ms)
3) due yesterday NOT due today pre-dayStart checked
4) due yesterday NOT due today pre-dayStart un-checked
✓ due yesterday NOT due today post-dayStart checked (145ms)
✓ due yesterday NOT due today post-dayStart unchecked (39ms)
✓ not due yesterday (simple) (158ms)
✓ not due yesterday post-dayStart (192ms)
5) not due yesterday pre-dayStart
Helper
✓ calculates gold coins
✓ calculates silver coins
✓ calculates experience to next level
6) calculates the start of the day
✓ counts pets
✓ counts mounts
77 passing (3s)
6 failing
1) Cron dailies new day due yesterday due today pre-dayStart checked :
Error: expected [ { type: 'daily',
id: '795e82e4-f912-4c56-934c-1ae00fec9d04',
text: '795e82e4-f912-4c56-934c-1ae00fec9d04',
notes: '',
priority: 1,
challenge: {},
attribute: 'str',
dateCreated: Fri, 01 Aug 2014 20:29:39 GMT,
history: [ [Object] ],
completed: false,
streak: 10,
repeat: { su: 1, m: true, t: 1, w: 1, th: 1, f: 1, s: 1 },
_id: '795e82e4-f912-4c56-934c-1ae00fec9d04',
value: 0 } ] to sort of equal [ { type: 'daily',
id: '795e82e4-f912-4c56-934c-1ae00fec9d04',
text: '795e82e4-f912-4c56-934c-1ae00fec9d04',
notes: '',
priority: 1,
challenge: {},
attribute: 'str',
dateCreated: Fri, 01 Aug 2014 20:29:39 GMT,
history: [],
completed: true,
streak: 10,
repeat: { su: 1, m: true, t: 1, w: 1, th: 1, f: 1, s: 1 },
_id: '795e82e4-f912-4c56-934c-1ae00fec9d04',
value: 0 } ]
+ expected - actual
{
"_id": "795e82e4-f912-4c56-934c-1ae00fec9d04",
"attribute": "str",
"challenge": {},
+ "completed": true,
- "completed": false,
"dateCreated": {},
+ "history": [],
- "history": [
- {
- "date": 1406924979044,
- "value": 0
- }
- ],
"id": "795e82e4-f912-4c56-934c-1ae00fec9d04",
"notes": "",
"priority": 1,
"repeat": {
at Assertion.assert (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:96:13)
at Assertion.eql (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:230:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:95:28
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at expectNoChange (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:94:5)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:521:34
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at runCron (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:509:11)
at Context.<anonymous> (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:577:36)
at callFn (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:223:21)
at Test.Runnable.run (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:216:7)
at Runner.runTest (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:374:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:452:12
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:299:14)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:309:7
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:247:23)
at Object._onImmediate (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:276:5)
at processImmediate [as _immediateCallback] (timers.js:330:15)
2) Cron dailies new day due yesterday due today pre-dayStart un-checked :
Error: expected { str: 1,
con: 1,
per: 1,
int: 1,
mp: 32,
class: 'warrior',
buffs: {},
hp: 48,
lvl: 1,
gp: 0,
exp: 0 } to sort of equal { str: 1,
con: 1,
per: 1,
int: 1,
mp: 32,
class: 'warrior',
buffs: {},
hp: 50,
lvl: 1,
gp: 0,
exp: 0 }
+ expected - actual
"class": "warrior",
"con": 1,
"exp": 0,
"gp": 0,
+ "hp": 50,
- "hp": 48,
"int": 1,
"lvl": 1,
"mp": 32,
"per": 1,
at Assertion.assert (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:96:13)
at Assertion.eql (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:230:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:95:28
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at expectNoChange (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:94:5)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:521:34
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at runCron (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:509:11)
at Context.<anonymous> (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:577:36)
at callFn (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:223:21)
at Test.Runnable.run (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:216:7)
at Runner.runTest (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:374:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:452:12
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:299:14)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:309:7
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:247:23)
at Object._onImmediate (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:276:5)
at processImmediate [as _immediateCallback] (timers.js:330:15)
3) Cron dailies new day due yesterday NOT due today pre-dayStart checked :
Error: expected [ { type: 'daily',
id: '43ba224a-ddb2-4090-ac1e-46e6645a7611',
text: '43ba224a-ddb2-4090-ac1e-46e6645a7611',
notes: '',
priority: 1,
challenge: {},
attribute: 'str',
dateCreated: Fri, 01 Aug 2014 20:29:39 GMT,
history: [ [Object] ],
completed: false,
streak: 10,
repeat: { su: 1, m: false, t: 1, w: 1, th: 1, f: 1, s: 1 },
_id: '43ba224a-ddb2-4090-ac1e-46e6645a7611',
value: 0 } ] to sort of equal [ { type: 'daily',
id: '43ba224a-ddb2-4090-ac1e-46e6645a7611',
text: '43ba224a-ddb2-4090-ac1e-46e6645a7611',
notes: '',
priority: 1,
challenge: {},
attribute: 'str',
dateCreated: Fri, 01 Aug 2014 20:29:39 GMT,
history: [],
completed: true,
streak: 10,
repeat: { su: 1, m: false, t: 1, w: 1, th: 1, f: 1, s: 1 },
_id: '43ba224a-ddb2-4090-ac1e-46e6645a7611',
value: 0 } ]
+ expected - actual
{
"_id": "43ba224a-ddb2-4090-ac1e-46e6645a7611",
"attribute": "str",
"challenge": {},
+ "completed": true,
- "completed": false,
"dateCreated": {},
+ "history": [],
- "history": [
- {
- "date": 1406924979362,
- "value": 0
- }
- ],
"id": "43ba224a-ddb2-4090-ac1e-46e6645a7611",
"notes": "",
"priority": 1,
"repeat": {
at Assertion.assert (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:96:13)
at Assertion.eql (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:230:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:95:28
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at expectNoChange (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:94:5)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:521:34
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at runCron (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:509:11)
at Context.<anonymous> (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:577:36)
at callFn (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:223:21)
at Test.Runnable.run (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:216:7)
at Runner.runTest (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:374:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:452:12
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:299:14)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:309:7
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:247:23)
at Object._onImmediate (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:276:5)
at processImmediate [as _immediateCallback] (timers.js:330:15)
4) Cron dailies new day due yesterday NOT due today pre-dayStart un-checked :
Error: expected { str: 1,
con: 1,
per: 1,
int: 1,
mp: 32,
class: 'warrior',
buffs: {},
hp: 48,
lvl: 1,
gp: 0,
exp: 0 } to sort of equal { str: 1,
con: 1,
per: 1,
int: 1,
mp: 32,
class: 'warrior',
buffs: {},
hp: 50,
lvl: 1,
gp: 0,
exp: 0 }
+ expected - actual
"class": "warrior",
"con": 1,
"exp": 0,
"gp": 0,
+ "hp": 50,
- "hp": 48,
"int": 1,
"lvl": 1,
"mp": 32,
"per": 1,
at Assertion.assert (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:96:13)
at Assertion.eql (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:230:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:95:28
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at expectNoChange (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:94:5)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:521:34
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at runCron (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:509:11)
at Context.<anonymous> (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:577:36)
at callFn (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:223:21)
at Test.Runnable.run (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:216:7)
at Runner.runTest (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:374:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:452:12
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:299:14)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:309:7
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:247:23)
at Object._onImmediate (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:276:5)
at processImmediate [as _immediateCallback] (timers.js:330:15)
5) Cron dailies new day not due yesterday pre-dayStart :
Error: expected [ { type: 'daily',
id: 'd1ae6d72-eac8-46e6-bd18-a9a19f177fc6',
text: 'd1ae6d72-eac8-46e6-bd18-a9a19f177fc6',
notes: '',
priority: 1,
challenge: {},
attribute: 'str',
dateCreated: Fri, 01 Aug 2014 20:29:39 GMT,
history: [ [Object] ],
completed: false,
streak: 10,
repeat: { su: 1, m: 1, t: 1, w: 1, th: 1, f: 1, s: false },
_id: 'd1ae6d72-eac8-46e6-bd18-a9a19f177fc6',
value: 0 } ] to sort of equal [ { type: 'daily',
id: 'd1ae6d72-eac8-46e6-bd18-a9a19f177fc6',
text: 'd1ae6d72-eac8-46e6-bd18-a9a19f177fc6',
notes: '',
priority: 1,
challenge: {},
attribute: 'str',
dateCreated: Fri, 01 Aug 2014 20:29:39 GMT,
history: [],
completed: false,
streak: 10,
repeat: { su: 1, m: 1, t: 1, w: 1, th: 1, f: 1, s: false },
_id: 'd1ae6d72-eac8-46e6-bd18-a9a19f177fc6',
value: 0 } ]
+ expected - actual
"attribute": "str",
"challenge": {},
"completed": false,
"dateCreated": {},
+ "history": [],
- "history": [
- {
- "date": 1406924979917,
- "value": 0
- }
- ],
"id": "d1ae6d72-eac8-46e6-bd18-a9a19f177fc6",
"notes": "",
"priority": 1,
"repeat": {
at Assertion.assert (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:96:13)
at Assertion.eql (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:230:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:95:28
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at expectNoChange (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:94:5)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:521:34
at Function.forEach (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/lodash/dist/lodash.js:3297:15)
at runCron (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:509:11)
at Context.<anonymous> (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:577:36)
at callFn (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:223:21)
at Test.Runnable.run (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:216:7)
at Runner.runTest (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:374:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:452:12
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:299:14)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:309:7
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:247:23)
at Object._onImmediate (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:276:5)
at processImmediate [as _immediateCallback] (timers.js:330:15)
6) Helper calculates the start of the day:
Error: expected '2013-01-02 00:00' to sort of equal '2013-01-01 00:00'
+ expected - actual
+"2013-01-01 00:00"
-"2013-01-02 00:00"
at Assertion.assert (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:96:13)
at Assertion.eql (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/expect.js/index.js:230:10)
at Context.<anonymous> (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/test/algos.mocha.coffee:612:102)
at callFn (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:223:21)
at Test.Runnable.run (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runnable.js:216:7)
at Runner.runTest (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:374:10)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:452:12
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:299:14)
at /Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:309:7
at next (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:247:23)
at Object._onImmediate (/Users/lefnire/Dropbox/Sites/habitrpg/modules/habitrpg-shared/node_modules/mocha/lib/runner.js:276:5)
at processImmediate [as _immediateCallback] (timers.js:330:15)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment