UNPKG

tw-shift-schedule

Version:
76 lines (61 loc) 1.67 kB
const tape = require('tape') const Schedule = require('../src/schedule') const moment = require('moment') tape('from/to string', function (t) { let data = ` foo = 1 bar = hi -- xxxxxxxxxx ` let s = Schedule.load(data) t.same(s.header, { foo: '1', bar: 'hi' }) t.same(s.body, 'xxxxxxxxxx') let x = s.toString() t.same(x, `foo=1\nbar=hi\n--\nxxxxxxxxxx`) t.end() }) tape('headers containing \'--\'', function (t) { let data = ` foo = 1-- bar = hi -- xxxxxxxxxx ` let s = Schedule.load(data) t.same(s.header, { foo: '1--', bar: 'hi' }) t.same(s.body, 'xxxxxxxxxx') let x = s.toString() t.same(x, `foo=1--\nbar=hi\n--\nxxxxxxxxxx`) t.end() }) tape('上班八小時', function (t) { let s = Schedule.fromTime([ ['2018-01-01 00:00:00', '2018-01-01 08:00:00'] ]) t.same(s.body, 'x'.repeat(8 * 60)) t.ok(s.header.start.isSame(moment('2018-01-01 00:00:00'))) t.end() }) tape('隱藏工時', function (t) { let s = Schedule.fromTime([ ['2018-01-01 00:00:00', '2018-01-01 08:00:00'] ], { before: '10 minutes', after: '30 minutes' }) t.same(s.body, 'x'.repeat(10) + 'x'.repeat(8 * 60) + 'x'.repeat(30)) t.end() }) tape('上班間休息', function (t) { let s = Schedule.fromTime([ ['2018-01-01 00:00:00', '2018-01-01 08:00:00'], ['2018-01-02 00:00:00', '2018-01-02 08:00:00'] ]) t.same(s.body, 'x'.repeat(8 * 60) + '.'.repeat(16 * 60) + 'x'.repeat(8 * 60)) t.end() }) tape('time format', function (t) { let s = Schedule.fromTime([ ['2018/01/01 00:00:00', '2018/01/01 08:00:00'] ], { format: 'YYYY/MM/DD HH:mm:ss' }) t.same(s.body, 'x'.repeat(8 * 60)) t.end() })