Files
drip/test/get-cycles-before.spec.js
Sofiya Tepikin a103949f7c Chore/jest
2022-08-12 09:31:33 +00:00

55 lines
1.3 KiB
JavaScript

import cycleModule from '../lib/cycle'
const julyCycle = [{ date: '2018-07-05' }]
const juneCycle = [{ date: '2018-06-05' }]
const mayCycle = [
{ date: '2018-05-05' },
{ date: '2018-05-04' },
{ date: '2018-05-03' },
]
const aprilCycle = [
{ date: '2018-04-05' },
{ date: '2018-04-04' },
{ date: '2018-04-03' },
{ date: '2018-04-02' },
]
const cycleDaysSortedByDate = [
...julyCycle,
...juneCycle,
...mayCycle,
...aprilCycle,
]
const cycleStartsSortedByDate = [
{ date: '2018-07-05' },
{ date: '2018-06-05' },
{ date: '2018-05-03' },
{ date: '2018-04-02' },
]
describe('getCyclesBefore', () => {
test('gets previous cycles', () => {
const { getCyclesBefore } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate,
})
const cyclesBeforeJuly = getCyclesBefore(...julyCycle)
expect(cyclesBeforeJuly.length).toEqual(3)
expect(cyclesBeforeJuly).toEqual([juneCycle, mayCycle, aprilCycle])
})
test('skips cycles that are longer than max', () => {
const { getCyclesBefore } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate,
maxCycleLength: 30,
})
const cyclesBeforeJuly = getCyclesBefore(...julyCycle)
expect(cyclesBeforeJuly.length).toEqual(1)
expect(cyclesBeforeJuly).toEqual([juneCycle])
})
})