77 lines
2.0 KiB
JavaScript
77 lines
2.0 KiB
JavaScript
"use strict";
|
|
|
|
import moment from 'moment-timezone';
|
|
import House from './../../../client/models/house.js';
|
|
|
|
var data_until = 1456589922, // Sat, 27 Feb 2016 16:18:42 +0000
|
|
house = new House({
|
|
id: 1,
|
|
name: 'Johnson',
|
|
data_from: data_until - 3600 * 24 * 365 * 3, // 3 years before
|
|
data_until: data_until,
|
|
timezone: 'America/New_York'
|
|
});
|
|
|
|
describe('House#state', ()=>{
|
|
|
|
it('has no state after init', ()=>{
|
|
expect(house.state).toEqual({});
|
|
});
|
|
|
|
});
|
|
|
|
describe('house#verifyMonthState', ()=>{
|
|
|
|
it('verifies to data_until month and year by default', ()=>{
|
|
var params = {};
|
|
house.verifyMonthState(params);
|
|
expect(params.month).toEqual('Feb');
|
|
expect(params.year).toEqual(2016);
|
|
});
|
|
|
|
it('verifies properly when passed valid params', ()=>{
|
|
var params = {
|
|
month: 'Mar',
|
|
year: 2015
|
|
};
|
|
house.verifyMonthState(params);
|
|
expect(params.month).toEqual('Mar');
|
|
expect(params.year).toEqual(2015);
|
|
});
|
|
|
|
it('corrects for params outside of data range', ()=>{
|
|
var params = {
|
|
month: 'Mar',
|
|
year: 2006
|
|
};
|
|
house.verifyMonthState(params);
|
|
|
|
expect(params.month).toEqual('Mar');
|
|
expect(params.year).toEqual(2013);
|
|
});
|
|
|
|
});
|
|
describe('House#verifyPowerRange', ()=>{
|
|
|
|
it('defaults to last four days of data', ()=>{
|
|
var power_max = house.data.data_until,
|
|
power_min = power_max - House.MAX_POWER_RANGE,
|
|
power_range = house.verifyPowerRange([], {month: 'Feb', year: 2016});
|
|
|
|
expect(power_range).toEqual([power_min, power_max]);
|
|
});
|
|
|
|
it('otherwise verifies power range to max 4 day range', ()=>{
|
|
var power_max = moment.tz({year: 2014, month: 9, day: 1}, 'America/New_York').endOf('month').unix(),
|
|
invalid_power_min = power_max - House.MAX_POWER_RANGE - 10,
|
|
valid_power_min = power_max - House.MAX_POWER_RANGE,
|
|
power_range = house.verifyPowerRange([invalid_power_min, power_max], {
|
|
month: 'Oct',
|
|
year: 2014
|
|
});
|
|
|
|
expect(power_range).toEqual([valid_power_min, power_max]);
|
|
});
|
|
|
|
});
|