123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 'use strict'
- var test = require('tap').test
- var Tracker = require('../index.js').Tracker
- var testEvent = require('./lib/test-event.js')
- var name = 'test'
- test('initialization', function (t) {
- var simple = new Tracker(name)
- t.is(simple.completed(), 0, 'Nothing todo is 0 completion')
- t.done()
- })
- var track
- var todo = 100
- test('completion', function (t) {
- track = new Tracker(name, todo)
- t.is(track.completed(), 0, 'Nothing done is 0 completion')
- testEvent(track, 'change', afterCompleteWork)
- track.completeWork(todo)
- t.is(track.completed(), 1, 'completeWork: 100% completed')
- function afterCompleteWork (er, onChangeName) {
- t.is(er, null, 'completeWork: on change event fired')
- t.is(onChangeName, name, 'completeWork: on change emits the correct name')
- t.done()
- }
- })
- test('add more work', function (t) {
- testEvent(track, 'change', afterAddWork)
- track.addWork(todo)
- t.is(track.completed(), 0.5, 'addWork: 50% completed')
- function afterAddWork (er, onChangeName) {
- t.is(er, null, 'addWork: on change event fired')
- t.is(onChangeName, name, 'addWork: on change emits the correct name')
- t.done()
- }
- })
- test('complete more work', function (t) {
- track.completeWork(200)
- t.is(track.completed(), 1, 'completeWork: Over completion is still only 100% complete')
- t.done()
- })
- test('finish is always 100%', function (t) {
- var finishtest = new Tracker(name, todo)
- finishtest.completeWork(50)
- finishtest.finish()
- t.is(finishtest.completed(), 1, 'finish: Explicitly finishing moves to 100%')
- t.done()
- })
|