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 lastMensesLocalDate = LocalDate.parse(lastMensesStart.date)
const diffInDays = lastMensesLocalDate.until(targetDate, DAYS) const diffInDays = lastMensesLocalDate.until(targetDate, DAYS)
// take maxCycleLength into account (we don't display cycle day numbers higher than 99 at the moment) // 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 // cycle starts at day 1
return diffInDays + 1 return diffInDays + 1
} }
@@ -65,7 +65,6 @@ export default function config(opts) {
} }
function getCycleForCycleStartDay(startDay) { function getCycleForCycleStartDay(startDay) {
// TODO this needs to be made cycle length aware. all other places can go?
const cycleStartIndex = cycleDaysSortedByDate.indexOf(startDay) const cycleStartIndex = cycleDaysSortedByDate.indexOf(startDay)
const i = cycleStartsSortedByDate.indexOf(startDay) const i = cycleStartsSortedByDate.indexOf(startDay)
const nextMensesStart = cycleStartsSortedByDate[i - 1] const nextMensesStart = cycleStartsSortedByDate[i - 1]
+21
View File
@@ -71,6 +71,27 @@ describe('getCycleDayNumber', () => {
const result = getCycleDayNumber(targetDate) const result = getCycleDayNumber(targetDate)
expect(result).to.be.null() 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', () => { describe('getPreviousCycle', () => {