burnchart/-old-/test/projects.coffee

134 lines
3.5 KiB
CoffeeScript
Raw Normal View History

{ assert } = require 'chai'
2014-10-29 04:30:42 +00:00
projects = require '../src/models/projects.coffee'
2014-10-29 04:30:42 +00:00
module.exports =
'projects - initializes empty': (done) ->
assert.deepEqual projects.data.list, [ ]
2014-10-30 01:52:58 +00:00
do done
'projects - sorts on new milestones': (done) ->
do projects.clear
2014-11-11 02:16:52 +00:00
project = { 'owner': 'radekstepan', 'name': 'burnchart' }
2014-10-30 03:56:53 +00:00
milestone = 'title': '1.0.0', 'stats': {}
2014-10-30 01:52:58 +00:00
projects.push 'list', project
projects.addMilestone project, milestone
assert.deepEqual projects.data.index, [ [ 0, 0 ] ]
do done
'projects - sort by progress': (done) ->
do projects.clear
projects.set 'sortBy', 'progress'
2014-11-11 02:16:52 +00:00
project = { 'owner': 'radekstepan', 'name': 'burnchart' }
2014-10-30 01:52:58 +00:00
milestone1 = 'title': '1.0.0', 'stats': {
'progress': { 'points': 5 }
}
milestone2 = 'title': '2.0.0', 'stats': {
'progress': { 'points': 7 }
}
projects.push 'list', project
projects.addMilestone project, milestone1
projects.addMilestone project, milestone2
assert.deepEqual projects.data.index, [ [ 0, 1 ], [ 0, 0 ] ]
do done
# (points - time) * days
'projects - sort by priority': (done) ->
do projects.clear
projects.set 'sortBy', 'priority'
2014-11-11 02:16:52 +00:00
project = { 'owner': 'radekstepan', 'name': 'burnchart' }
2014-10-30 01:52:58 +00:00
milestone1 = 'title': '1.0.0', 'stats': {
'progress': { 'points': 2, 'time': 1 }
'days': 2
}
milestone2 = 'title': '2.0.0', 'stats': {
'progress': { 'points': 2, 'time': 1 }
'days': 3
}
milestone3 = 'title': '3.0.0', 'stats': {
'progress': { 'points': 1, 'time': 2 }
'days': 4
}
projects.push 'list', project
projects.addMilestone project, milestone1
projects.addMilestone project, milestone2
projects.addMilestone project, milestone3
assert.deepEqual projects.data.index, [ [ 0, 2 ], [ 0, 0 ], [ 0, 1 ] ]
do done
# (points - time) * days
'projects - sort by priority defaults': (done) ->
do projects.clear
projects.set 'sortBy', 'priority'
2014-11-11 02:16:52 +00:00
project = { 'owner': 'radekstepan', 'name': 'burnchart' }
2014-10-30 01:52:58 +00:00
milestone1 = 'title': '1.0.0', 'stats': {
'progress': { 'points': 3 }
}
milestone2 = 'title': '2.0.0', 'stats': {
'progress': { 'points': 2 }
}
milestone3 = 'title': '3.0.0', 'stats': {
'progress': { 'points': 1 }
}
projects.push 'list', project
projects.addMilestone project, milestone1
projects.addMilestone project, milestone2
projects.addMilestone project, milestone3
assert.deepEqual projects.data.index, [ [ 0, 2 ], [ 0, 1 ], [ 0, 0 ] ]
do done
'projects - sort by name': (done) ->
do projects.clear
projects.set 'sortBy', 'name'
2014-11-11 02:16:52 +00:00
project = { 'owner': 'radekstepan', 'name': 'burnchart' }
2014-10-30 03:56:53 +00:00
milestone1 = 'title': 'B', 'stats': {}
milestone2 = 'title': 'A', 'stats': {}
2014-10-30 01:52:58 +00:00
projects.push 'list', project
projects.addMilestone project, milestone1
projects.addMilestone project, milestone2
assert.deepEqual projects.data.index, [ [ 0, 1 ], [ 0, 0 ] ]
do done
'projects - sort by name semver': (done) ->
do projects.clear
projects.set 'sortBy', 'name'
2014-11-11 02:16:52 +00:00
project = { 'owner': 'radekstepan', 'name': 'burnchart' }
2014-10-30 03:56:53 +00:00
milestone1 = 'title': '1.2.5', 'stats': {}
milestone2 = 'title': '1.1.x', 'stats': {}
milestone3 = 'title': '1.1.7', 'stats': {}
2014-10-30 01:52:58 +00:00
projects.push 'list', project
projects.addMilestone project, milestone1
projects.addMilestone project, milestone2
projects.addMilestone project, milestone3
assert.deepEqual projects.data.index, [ [ 0, 2 ], [ 0, 1 ], [ 0, 0 ] ]
2014-10-29 04:30:42 +00:00
do done