85 lines
3.5 KiB
JavaScript
85 lines
3.5 KiB
JavaScript
"use strict";
|
|
|
|
import moment from 'moment-timezone';
|
|
import House from './../../../../client/models/house.js';
|
|
|
|
describe('house#setMonthState', ()=>{
|
|
|
|
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,
|
|
data_until: data_until,
|
|
timezone: 'America/New_York'
|
|
});
|
|
|
|
it('is updated properly on init', ()=>{
|
|
var current_month_moment = moment.tz({year: 2016, month: 1, day: 1}, 'America/New_York'),
|
|
energy_min = moment.tz({year: 2016, month: 0, day: 1}, 'America/New_York').unix(),
|
|
energy_max = data_until,
|
|
power_min = data_until - 3600 * 24 * 4,
|
|
power_max = data_until;
|
|
|
|
expect(house.state.month).toEqual('Feb');
|
|
expect(house.state.year).toEqual(2016);
|
|
expect(house.state.current_month_moment.unix()).toEqual(current_month_moment.unix());
|
|
expect(house.state.energy_range).toEqual([energy_min, energy_max]);
|
|
expect(house.state.power_range).toEqual([power_min, power_max]);
|
|
});
|
|
|
|
it('is not updated when passed no params', ()=>{
|
|
var current_month_moment = moment.tz({year: 2016, month: 1, day: 1}, 'America/New_York'),
|
|
energy_min = moment.tz({year: 2016, month: 0, day: 1}, 'America/New_York').unix(),
|
|
energy_max = data_until,
|
|
power_min = data_until - 3600 * 24 * 4,
|
|
power_max = data_until;
|
|
|
|
house.setMonthState({});
|
|
expect(house.state.month).toEqual('Feb');
|
|
expect(house.state.year).toEqual(2016);
|
|
expect(house.state.current_month_moment.unix()).toEqual(current_month_moment.unix());
|
|
expect(house.state.energy_range).toEqual([energy_min, energy_max]);
|
|
expect(house.state.power_range).toEqual([power_min, power_max]);
|
|
});
|
|
|
|
it('is updated properly when passed power params', ()=>{
|
|
var current_month_moment = moment.tz({year: 2015, month: 2, day: 1}, 'America/New_York'),
|
|
energy_min = moment.tz({year: 2015, month: 0, day: 1}, 'America/New_York').unix(),
|
|
energy_max = moment.tz({year: 2015, month: 0, day: 1}, 'America/New_York').endOf('year').unix(),
|
|
power_max = current_month_moment.clone().endOf('month').subtract(3, 'days').unix(),
|
|
power_min = current_month_moment.clone().endOf('month').subtract(6, 'days').unix()
|
|
|
|
house.setMonthState({
|
|
month: 'Mar',
|
|
year: 2015
|
|
}, [ power_min, power_max ]);
|
|
|
|
expect(house.state.month).toEqual('Mar');
|
|
expect(house.state.year).toEqual(2015);
|
|
expect(house.state.current_month_moment.unix()).toEqual(current_month_moment.unix());
|
|
expect(house.state.energy_range).toEqual([energy_min, energy_max]);
|
|
expect(house.state.power_range).toEqual([power_min, power_max]);
|
|
});
|
|
|
|
it('is updated properly when passed energy params', ()=>{
|
|
var current_month_moment = moment.tz({year: 2014, month: 9, day: 1}, 'America/New_York'),
|
|
energy_min = moment.tz({year: 2014, month: 0, day: 1}, 'America/New_York').unix(),
|
|
energy_max = moment.tz({year: 2014, month: 0, day: 1}, 'America/New_York').endOf('year').unix(),
|
|
power_max = moment.tz({year: 2014, month: 9, day: 1}, 'America/New_York').endOf('month').unix(),
|
|
power_min = power_max - 3600 * 24 * 4;
|
|
|
|
house.setMonthState({
|
|
month: 'Oct',
|
|
year: 2014
|
|
});
|
|
|
|
expect(house.state.month).toEqual('Oct');
|
|
expect(house.state.year).toEqual(2014);
|
|
expect(house.state.current_month_moment.unix()).toEqual(current_month_moment.unix());
|
|
expect(house.state.energy_range).toEqual([energy_min, energy_max]);
|
|
expect(house.state.power_range).toEqual([power_min, power_max]);
|
|
});
|
|
|
|
});
|