|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- /* eslint no-multi-spaces: 0 */
- const moment = require("moment-timezone");
- const data = require("../../configs/data/weatherforecast_data.json");
-
- describe("Functions module weatherforecast", function () {
- beforeAll(function () {
- Module = {};
- config = {};
- Module.definitions = {};
- Module.register = function (name, moduleDefinition) {
- Module.definitions[name] = moduleDefinition;
- };
- require("../../../modules/default/weatherforecast/weatherforecast.js");
- Module.definitions.weatherforecast.config = {};
- });
-
- describe("roundValue", function () {
- describe("this.config.roundTemp is true", function () {
- beforeAll(function () {
- Module.definitions.weatherforecast.config.roundTemp = true;
- });
-
- const values = [
- // index 0 value
- // index 1 expect
- [1, "1"],
- [1.0, "1"],
- [1.02, "1"],
- [10.12, "10"],
- [2.0, "2"],
- ["2.12", "2"],
- [10.1, "10"]
- ];
-
- values.forEach((value) => {
- it(`for ${value[0]} should be return ${value[1]}`, function () {
- expect(Module.definitions.weatherforecast.roundValue(value[0])).toBe(value[1]);
- });
- });
- });
-
- describe("this.config.roundTemp is false", function () {
- beforeAll(function () {
- Module.definitions.weatherforecast.config.roundTemp = false;
- });
-
- const values = [
- // index 0 value
- // index 1 expect
- [1, "1.0"],
- [1.0, "1.0"],
- [1.02, "1.0"],
- [10.12, "10.1"],
- [2.0, "2.0"],
- ["2.12", "2.1"],
- [10.1, "10.1"],
- [10.1, "10.1"]
- ];
-
- values.forEach((value) => {
- it(`for ${value[0]} should be return ${value[1]}`, function () {
- expect(Module.definitions.weatherforecast.roundValue(value[0])).toBe(value[1]);
- });
- });
- });
- });
-
- describe("forecastIcons", function () {
- Log = {
- error: function () {}
- };
-
- let originalLocale;
- let originalTimeZone;
- beforeAll(function () {
- originalLocale = moment.locale();
- originalTimeZone = moment.tz.guess();
- moment.locale("hi");
- moment.tz.setDefault("Europe/Warsaw");
- });
-
- describe("forecastIcons sunset specified", function () {
- beforeAll(function () {
- Module.definitions.weatherforecast.Log = {};
- Module.definitions.weatherforecast.forecast = [];
- Module.definitions.weatherforecast.show = Module.definitions.weatherforecast.updateDom = function () {};
- Module.definitions.weatherforecast.config = Module.definitions.weatherforecast.defaults;
- });
-
- it(`returns correct icons with sunset time`, function () {
- Module.definitions.weatherforecast.processWeather(data.withSunset, moment);
- let forecastData = Module.definitions.weatherforecast.forecast;
- expect(forecastData.length).toBe(4);
- expect(forecastData[2].icon).toBe("wi-rain");
- });
- });
-
- describe("forecastIcons sunset not specified", function () {
- beforeAll(function () {
- Module.definitions.weatherforecast.forecast = [];
- });
-
- it(`returns correct icons with out sunset time`, function () {
- Module.definitions.weatherforecast.processWeather(data.withoutSunset, moment);
- let forecastData = Module.definitions.weatherforecast.forecast;
- expect(forecastData.length).toBe(4);
- expect(forecastData[2].icon).toBe("wi-rain");
- });
- });
-
- afterAll(function () {
- moment.locale(originalLocale);
- moment.tz.setDefault(originalTimeZone);
- });
- });
- });
|