From 97b8452b45a9ad524d848f510089c5c55ed71a30 Mon Sep 17 00:00:00 2001 From: Julia Friesel Date: Thu, 28 Jun 2018 15:59:42 +0200 Subject: [PATCH] Add first failing test --- lib/sensiplan/index.js | 7 +++++++ test/fixtures/regular-cycles.json | 1 + test/sensiplan.spec.js | 20 ++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 lib/sensiplan/index.js create mode 100644 test/fixtures/regular-cycles.json create mode 100644 test/sensiplan.spec.js 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