burnchart/test/stats.coffee

68 lines
1.5 KiB
CoffeeScript
Raw Normal View History

2014-10-29 04:30:42 +00:00
proxy = do require('proxyquire').noCallThru
assert = require 'assert'
path = require 'path'
stats = require '../src/modules/stats.coffee'
module.exports =
2014-10-30 01:52:58 +00:00
'stats - is milestone empty, on time and overdue? no due date': (done) ->
2014-10-29 04:30:42 +00:00
milestone =
'issues':
'open': { 'size': 0 }
'closed': { 'size': 0 }
2014-10-30 01:52:58 +00:00
{ isEmpty, isOverdue, isOnTime } = stats milestone
2014-10-29 04:30:42 +00:00
assert.equal isEmpty, yes
2014-10-30 01:52:58 +00:00
assert.equal isOverdue, no
assert.equal isOnTime, yes
do done
'stats - is milestone done?': (done) ->
milestone =
'issues':
'open': { 'size': 0 }
'closed': { 'size': 5 }
{ isDone } = stats milestone
assert.equal isDone, yes
do done
'stats - is milestone overdue? has due date': (done) ->
milestone =
'due_on': 0
'issues':
'open': { 'size': 0 }
'closed': { 'size': 0 }
{ isOverdue } = stats milestone
assert.equal isOverdue, yes
do done
'stats - is milestone on time? has due date, yes': (done) ->
now = +new Date
milestone =
'created_at': now - 1e3
'due_on': 1e4 + now
'issues':
'open': { 'size': 1 }
'closed': { 'size': 1 }
{ isOnTime } = stats milestone
assert.equal isOnTime, yes
do done
'stats - is milestone on time? has due date, no': (done) ->
now = +new Date
milestone =
'created_at': now - 1e4
'due_on': 1e3 + now
'issues':
'open': { 'size': 1 }
'closed': { 'size': 1 }
{ isOnTime } = stats milestone
assert.equal isOnTime, no
2014-10-29 04:30:42 +00:00
do done