Add test for getCycleDayNumber

This commit is contained in:
Julia Friesel
2018-12-21 14:40:47 +01:00
parent 6b0d202272
commit 9bd0eedfaf
2 changed files with 22 additions and 2 deletions
+1 -2
View File
@@ -40,7 +40,7 @@ export default function config(opts) {
const lastMensesLocalDate = LocalDate.parse(lastMensesStart.date)
const diffInDays = lastMensesLocalDate.until(targetDate, DAYS)
// take maxCycleLength into account (we don't display cycle day numbers higher than 99 at the moment)
if (diffInDays >= 99) return null
if (diffInDays >= maxCycleLength) return null
// cycle starts at day 1
return diffInDays + 1
}
@@ -65,7 +65,6 @@ export default function config(opts) {
}
function getCycleForCycleStartDay(startDay) {
// TODO this needs to be made cycle length aware. all other places can go?
const cycleStartIndex = cycleDaysSortedByDate.indexOf(startDay)
const i = cycleStartsSortedByDate.indexOf(startDay)
const nextMensesStart = cycleStartsSortedByDate[i - 1]
+21
View File
@@ -71,6 +71,27 @@ describe('getCycleDayNumber', () => {
const result = getCycleDayNumber(targetDate)
expect(result).to.be.null()
})
it('returns null if the cycle is longer than the max', function () {
const cycleStarts = [{
date: '2018-05-09',
isCycleStart: true,
bleeding: {
value: 2
}
}, {
date: '2018-05-03',
isCycleStart: true,
bleeding: { value: 2 }
}]
// we use the default 99 days max length
const getCycleDayNumber = cycleModule({
cycleStartsSortedByDate: cycleStarts
}).getCycleDayNumber
const targetDate = '2018-08-16'
const result = getCycleDayNumber(targetDate)
expect(result).to.be.null()
})
})
describe('getPreviousCycle', () => {