import test from 'tape' import nlp from '../_lib.js' test('test first generated-date', function (t) { const context = { timezone: 'Asia/Kolkata', today: '2021-02-16', dayStart: '8:00am', max_repeat: 5, } const arr = [ ['any monday', '2021-02-22T08:00:00.000+05:30'], ['every monday in march', '2021-03-01T08:00:00.000+05:30'], ['every tuesday in march', '2021-03-02T08:00:00.000+05:30'], ['every hour tomorrow', '2021-02-17T08:00:00.000+05:30'], ['any month this year', '2021-01-01T08:00:00.000+05:30'], ['any month next year', '2022-01-01T08:00:00.000+05:30'], ['every thursday at 2pm', '2021-02-18T14:00:00.000+05:30'], ] arr.forEach((a) => { const doc = nlp(a[0]) const dates = doc.dates(context).get()[0] dates.repeat = dates.repeat || {} dates.repeat.generated = dates.repeat.generated || [] t.equal(dates.repeat.generated[0].start, a[1], a[0]) }) t.end() }) test('count generated dates', function (t) { const context = { timezone: 'Asia/Kolkata', today: '2000-01-01', max_repeat: 65, } const arr = [ ['every day in march', 31], ['every monday in march', 4], ['every hour in June 5th', 24], ['any monday this year', 52], ['any wednesday between 2001 and 2002', 52], ['any hour this week', context.max_repeat], ['any wednesday', context.max_repeat], ['any wednesday this week', 1], ['any month this year', 12], ['any month next year', 12], // ['any minute', context.max_repeat], // ['any year in june', 0], ] arr.forEach((a) => { const doc = nlp(a[0]) const dates = doc.dates(context).get()[0] dates.repeat = dates.repeat || {} dates.repeat.generated = dates.repeat.generated || [] t.equal(dates.repeat.generated.length, a[1], a[0]) }) t.end() })