67 lines
2.3 KiB
JavaScript
67 lines
2.3 KiB
JavaScript
import chai from 'chai'
|
|
import { getTemperatureStatus } from '../lib/sensiplan'
|
|
import tempShift from './fixtures/regular-rule-shift.json'
|
|
import noTempShift from './fixtures/regular-rule-no-shift.json'
|
|
import lowerTempDays from './fixtures/lower-temps.json'
|
|
import firstException from './fixtures/first-exception-rule.json'
|
|
import firstExceptionNoShift from './fixtures/first-exception-rule-no-shift.json'
|
|
|
|
const expect = chai.expect
|
|
|
|
describe.only('sensiplan', () => {
|
|
describe('getTemperatureStatus', () => {
|
|
describe('regular rule', () => {
|
|
it('reports lower temperature status before shift', function () {
|
|
const status = getTemperatureStatus('2018-06-09', lowerTempDays)
|
|
expect(status).to.eql({
|
|
low: [36.7, 36.55, 36.45, 36.5, 36.55],
|
|
ltl: 36.7,
|
|
high: [],
|
|
shiftDetected: false
|
|
})
|
|
})
|
|
|
|
it('detects temperature shift correctly', function () {
|
|
const status = getTemperatureStatus('2018-06-14', tempShift)
|
|
expect(status).to.eql({
|
|
low: [36.7, 36.55, 36.45, 36.5, 36.55, 36.6, 36.55],
|
|
ltl: 36.6,
|
|
high: [36.8, 36.85, 36.8],
|
|
shiftDetected: true
|
|
})
|
|
})
|
|
|
|
it('detects missing temperature shift correctly', function () {
|
|
const status = getTemperatureStatus('2018-06-14', noTempShift)
|
|
expect(status).to.eql({
|
|
low: [36.7, 36.55, 36.45, 36.5, 36.55, 36.6, 36.55],
|
|
ltl: 36.6,
|
|
high: [36.8, 36.85, 36.75],
|
|
shiftDetected: false
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('1st exception rule', () => {
|
|
it('detects temperature shift', function () {
|
|
const status = getTemperatureStatus('2018-06-14', firstException)
|
|
expect(status).to.eql({
|
|
low: [36.7, 36.55, 36.45, 36.5, 36.55, 36.6, 36.55],
|
|
ltl: 36.6,
|
|
high: [36.8, 36.85, 36.75, 36.65],
|
|
shiftDetected: true
|
|
})
|
|
})
|
|
|
|
it('detects missing temperature shift correctly', function () {
|
|
const status = getTemperatureStatus('2018-06-14', firstExceptionNoShift)
|
|
expect(status).to.eql({
|
|
low: [36.7, 36.55, 36.45, 36.5, 36.55, 36.6, 36.55],
|
|
ltl: 36.6,
|
|
high: [36.8, 36.85, 36.75, 36.55],
|
|
shiftDetected: false
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}) |