Files
drip/test/get-previous-cycle.spec.js
T

73 lines
1.6 KiB
JavaScript

import chai from 'chai'
import dirtyChai from 'dirty-chai'
import cycleModule from '../lib/cycle'
const { expect } = chai
chai.use(dirtyChai)
const mayCycle = [
{ date: '2018-05-05' },
{ date: '2018-05-04' },
{ date: '2018-05-03' },
]
const cycleDaysSortedByDate = [
{ date: '2018-07-05' },
{ date: '2018-06-05' },
...mayCycle,
{ date: '2018-04-05' },
{ date: '2018-04-04' },
{ date: '2018-04-03' },
{ date: '2018-04-02' },
]
const cycleStartsSortedByDate = [
{ date: '2018-07-05' },
{ date: '2018-06-05' },
{ date: '2018-05-03' },
{ date: '2018-04-02' },
]
describe('getPreviousCycle', () => {
it('gets previous cycle', () => {
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate,
})
expect(getPreviousCycle('2018-06-08')).to.eql(mayCycle)
})
it('returns null when target day is not in a cyle', () => {
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate: [],
})
expect(getPreviousCycle('2018-06-08')).to.eql(null)
})
it('returns null when there is no previous cycle', () => {
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate,
})
expect(getPreviousCycle('2018-04-18')).to.eql(null)
})
it('returns null when the previous cycle > maxcyclelength', () => {
const { getPreviousCycle } = cycleModule({
cycleDaysSortedByDate,
cycleStartsSortedByDate,
maxCycleLength: 2,
})
expect(getPreviousCycle('2018-06-08')).to.eql(null)
})
})