diff --git a/lib/sensiplan/index.js b/lib/sensiplan/index.js new file mode 100644 index 0000000..0d733f4 --- /dev/null +++ b/lib/sensiplan/index.js @@ -0,0 +1,7 @@ +function getTemperatureStatus (targetDate) { + return '42' +} + +export { + getTemperatureStatus +} \ No newline at end of file diff --git a/test/fixtures/regular-cycles.json b/test/fixtures/regular-cycles.json new file mode 100644 index 0000000..38b534c --- /dev/null +++ b/test/fixtures/regular-cycles.json @@ -0,0 +1 @@ +[{"date":"2018-04-30","bleeding":{"value":2}},{"date":"2018-05-08","temperature":{"value":36.48,"exclude":false}},{"date":"2018-05-09","temperature":{"value":36.46,"exclude":false}},{"date":"2018-05-10","temperature":{"value":36.4,"exclude":false}},{"date":"2018-05-11","temperature":{"value":36.38,"exclude":false}},{"date":"2018-05-12","temperature":{"value":36.57,"exclude":false},"bleeding":{"value":4}},{"date":"2018-05-13","temperature":{"value":36.51,"exclude":false},"bleeding":{"value":4}},{"date":"2018-05-14","temperature":{"value":36.64,"exclude":false},"bleeding":{"value":4}},{"date":"2018-05-15","temperature":{"value":36.5,"exclude":false},"bleeding":{"value":3}},{"date":"2018-05-16","temperature":{"value":36.74,"exclude":false}},{"date":"2018-05-17","temperature":{"value":36.74,"exclude":false}},{"date":"2018-05-18","temperature":{"value":36.85,"exclude":false}},{"date":"2018-05-29","bleeding":{"value":2}},{"date":"2018-06-04","temperature":{"value":36.7,"exclude":false}},{"date":"2018-06-05","temperature":{"value":36.57,"exclude":false}},{"date":"2018-06-06","temperature":{"value":36.47,"exclude":false}},{"date":"2018-06-07","temperature":{"value":36.49,"exclude":false}},{"date":"2018-06-08","bleeding":{"value":4}},{"date":"2018-06-09","temperature":{"value":36.57,"exclude":false},"bleeding":{"value":4}},{"date":"2018-06-10","temperature":{"value":36.62,"exclude":false},"bleeding":{"value":4}},{"date":"2018-06-11","temperature":{"value":36.55,"exclude":false},"bleeding":{"value":3}},{"date":"2018-06-12","temperature":{"value":36.8,"exclude":false}},{"date":"2018-06-13","temperature":{"value":36.86,"exclude":false}},{"date":"2018-06-14","temperature":{"value":36.82,"exclude":false}},{"date":"2018-06-24","bleeding":{"value":2}}] \ No newline at end of file diff --git a/test/sensiplan.spec.js b/test/sensiplan.spec.js new file mode 100644 index 0000000..cd36646 --- /dev/null +++ b/test/sensiplan.spec.js @@ -0,0 +1,20 @@ +import chai from 'chai' +import * as sensiplan from '../lib/sensiplan' +import cycleDaysFixtures from './fixtures/regular-cycles.json' + +const expect = chai.expect + +describe('sensiplan', () => { + describe('getTemperatureStatus', () => { + it('detects temperature shift', function () { + const targetDate = '2018-06-14' + const status = sensiplan.getTemperatureStatus(targetDate, cycleDaysFixtures) + expect(status).to.eql({ + lowerTemps: [36.6, 36.5, 36.5, 36.6, 36.6, 36.6], + ltl: 36.6, + higherTemps: [36.8, 36.9, 36.8], + shiftDetected: true + }) + }) + }) +}) \ No newline at end of file