Skip to content
Snippets Groups Projects
Commit de2233f9 authored by Julia Friesel's avatar Julia Friesel
Browse files

Fix assert for bleeding value === null

parent 125fd84d
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@ import { LocalDate } from 'js-joda'
import assert from 'assert'
export default function getSymptoThermalStatus({ cycle, previousCycles = [] }) {
throwIfArgsAreNotInRequiredFormat(cycle, previousCycles)
throwIfArgsAreNotInRequiredFormat([cycle, ...previousCycles])
const status = {
assumeFertility: true,
......@@ -14,12 +14,14 @@ export default function getSymptoThermalStatus({ cycle, previousCycles = [] }) {
// if there was no first higher measurement in the previous cycle,
// no infertile pre-ovulatory phase may be assumed
const lastCycle = previousCycles[previousCycles.length - 1]
if (lastCycle && getSymptoThermalStatus({cycle: lastCycle}).temperatureShift) {
status.phases.preOvulatory = getPreOvulatoryPhase(cycle, previousCycles)
if (status.phases.preOvulatory.cycleDays.length === cycle.length) {
status.assumeFertility = false
return status
if (previousCycles) {
const lastCycle = previousCycles[previousCycles.length - 1]
if (lastCycle && getSymptoThermalStatus({ cycle: lastCycle }).temperatureShift) {
status.phases.preOvulatory = getPreOvulatoryPhase(cycle, previousCycles)
if (status.phases.preOvulatory.cycleDays.length === cycle.length) {
status.assumeFertility = false
return status
}
}
}
......@@ -71,11 +73,11 @@ export default function getSymptoThermalStatus({ cycle, previousCycles = [] }) {
return status
}
function throwIfArgsAreNotInRequiredFormat(cycle, previousCycles) {
[cycle, ...previousCycles].forEach(cycle => {
function throwIfArgsAreNotInRequiredFormat(cycles) {
cycles.forEach(cycle => {
assert.ok(Array.isArray(cycle))
// TODO handle case of no previous cycles
assert.ok(cycle.length > 0)
assert.ok(cycle[0].bleeding !== null)
assert.equal(typeof cycle[0].bleeding, 'object')
assert.equal(typeof cycle[0].bleeding.value, 'number')
cycle.forEach(day => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment