burnchart/-old-/test/stats.coffee

84 lines
2.1 KiB
CoffeeScript
Raw Normal View History

proxy = do require('proxyquire').noCallThru
{ assert } = require 'chai'
path = require 'path'
2014-12-22 21:03:27 +00:00
moment = require 'moment'
2014-10-29 04:30:42 +00:00
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
assert.isTrue isEmpty
assert.isFalse isOverdue
assert.isTrue isOnTime
2014-10-30 01:52:58 +00:00
do done
'stats - is milestone done?': (done) ->
milestone =
'issues':
'open': { 'size': 0 }
'closed': { 'size': 5 }
{ isDone } = stats milestone
assert.isTrue isDone
2014-10-30 01:52:58 +00:00
do done
2014-12-22 21:03:27 +00:00
'stats - is milestone overdue? has due date, yes': (done) ->
2014-10-30 01:52:58 +00:00
milestone =
2014-12-22 21:03:27 +00:00
'created_at': '2011-04-02T00:00:00.000Z'
'due_on': '2011-04-03T00:00:00.000Z'
2014-10-30 01:52:58 +00:00
'issues':
'open': { 'size': 0 }
'closed': { 'size': 0 }
{ isOverdue } = stats milestone
assert.isTrue isOverdue
2014-10-30 01:52:58 +00:00
do done
'stats - is milestone on time? has due date, yes': (done) ->
2014-12-22 21:03:27 +00:00
now = do moment.utc
2014-10-30 01:52:58 +00:00
milestone =
2014-12-22 21:03:27 +00:00
'created_at': now.subtract(1, 'week').toISOString()
'due_on': now.add(1, 'month').toISOString()
2014-10-30 01:52:58 +00:00
'issues':
'open': { 'size': 1 }
'closed': { 'size': 1 }
{ isOnTime } = stats milestone
assert.isTrue isOnTime
2014-10-30 01:52:58 +00:00
do done
'stats - is milestone on time? has due date, no': (done) ->
2014-12-22 21:03:27 +00:00
now = do moment.utc
2014-10-30 01:52:58 +00:00
milestone =
2014-12-22 21:03:27 +00:00
'created_at': now.subtract(2, 'week').toISOString()
'due_on': now.add(1, 'day').toISOString()
2014-10-30 01:52:58 +00:00
'issues':
2014-12-22 21:03:27 +00:00
'open': { 'size': 2 }
'closed': { 'size': 2 }
2014-10-30 01:52:58 +00:00
{ isOnTime } = stats milestone
assert.isFalse isOnTime
2014-12-22 21:03:27 +00:00
do done
'stats - is milestone on time? has due date, all issues closed': (done) ->
now = do moment.utc
milestone =
'created_at': now.subtract(2, 'week').toISOString()
'due_on': now.subtract(1, 'week').toISOString()
'issues':
'open': { 'size': 0 }
'closed': { 'size': 5 }
{ isOnTime } = stats milestone
assert.isTrue isOnTime
2014-10-29 04:30:42 +00:00
do done