Commit 280a6482 authored by Johannes Bill's avatar Johannes Bill

added express test

parent 7771c628
var tmUtils = require('./timeUtils'); var tmUtils = require('./timeUtils');
var Holidays = require('./holidays'); var Holidays = require('./holidays');
var now = new Date(); var now = new Date();
var holidaysGetter = new Holidays(now.getFullYear()); var holidaysGetter = {};
var epochSpan = testEpochSpan(); var epochSpan = testEpochSpan();
var startYear;
var endYear;
function setEpocheSpan(_epocheSpan) { function setEpocheSpan(_epocheSpan) {
epochSpan = _epocheSpan; epochSpan = _epocheSpan;
startYear = epochSpan[0].getFullYear();
endYear = epochSpan[1].getFullYear();
for(var year = startYear; year <= endYear; year++) {
if(!holidaysGetter[year])
holidaysGetter[year] = new Holidays(year);
}
} }
function testEpochSpan() { function testEpochSpan() {
...@@ -96,17 +104,21 @@ function parseTime(time) { ...@@ -96,17 +104,21 @@ function parseTime(time) {
} }
//TODO now.getFullYear muss verschwinden, Jahreswechsel!!!! function parseDate(date, year, addOneDay) {
function parseDate(date, addOneDay) {
if (date.length == 0) if (date.length == 0)
return null; return null;
var year = now.getFullYear(); var _year;
var split = date.split("."); var split = date.split(".");
var month = parseInt(split[1]) - 1; var month = parseInt(split[1]) - 1;
var day = parseInt(split[0]) + (addOneDay ? 1 : 0); var day = parseInt(split[0]) + (addOneDay ? 1 : 0);
if(split.length === 3) {
_year = parseInt(split[2]);
}
if(!_year)
_year = year;
return new Date(year, month, day); return new Date(_year, month, day);
} }
function getHolidays(data) { function getHolidays(data) {
...@@ -117,7 +129,11 @@ function getHolidays(data) { ...@@ -117,7 +129,11 @@ function getHolidays(data) {
var timeSpan = getTimeSpan(data); var timeSpan = getTimeSpan(data);
var holidayId = data["holidayoption"][0]; var holidayId = data["holidayoption"][0];
var days = holidaysGetter.getHoliday(holidayId);
var days = [];
for(var year = startYear; year <= endYear; year++) {
days = days.concat(holidaysGetter[year].getHoliday(holidayId));
}
var intervals = days.map(function (date) { var intervals = days.map(function (date) {
return tmUtils.singleDay(date, timeSpan); return tmUtils.singleDay(date, timeSpan);
...@@ -127,7 +143,10 @@ function getHolidays(data) { ...@@ -127,7 +143,10 @@ function getHolidays(data) {
} }
function getAllHolidays() { function getAllHolidays() {
var days = holidaysGetter.getHoliday(0); var days = [];
for(var year = startYear; year <= endYear; year++) {
days = days.concat(holidaysGetter[year].getHoliday(0));
}
var intervals = days.map(function (date) { var intervals = days.map(function (date) {
return tmUtils.singleDay(date); return tmUtils.singleDay(date);
}); });
...@@ -136,9 +155,15 @@ function getAllHolidays() { ...@@ -136,9 +155,15 @@ function getAllHolidays() {
} }
function getDateSpan(data) { function getDateSpan(data) {
var startDate = parseDate(data["opening_day_from"]) || epochSpan[0]; var startDate = parseDate(data["opening_day_from"], now.getFullYear());
var endDate = parseDate(data["opening_day_to"], true) || epochSpan[1]; var endDate = parseDate(data["opening_day_to"], now.getFullYear(), true);
//TODO start und enddate vertauschen, falls enddate < startdate
if(!startDate)
startDate = epochSpan[0];
if(!endDate)
endDate = epochSpan[1];
//TODO: jahreswechsel beruecksichtigen
return [startDate, endDate]; return [startDate, endDate];
} }
......
var dateArray = require('dateArray');
var dateView = require('dateView');
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
"chai": "^1.9.1", "chai": "^1.9.1",
"ejs": "^1.0.0", "ejs": "^1.0.0",
"express": "*", "express": "*",
"mysql": "*" "mysql": "*",
"v8-profiler": "^5.1.0"
}, },
"author": "", "author": "",
"license": "ISC", "license": "ISC",
......
...@@ -40,3 +40,5 @@ openNow(json, now, regionalCode, lang, asString) ...@@ -40,3 +40,5 @@ openNow(json, now, regionalCode, lang, asString)
openingHoursView(json, now, regionalCode, lang) openingHoursView(json, now, regionalCode, lang)
-->html string -->html string
openNow auch nach absprache, nur mit json incl
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment