Commit d91c5965 authored by Johannes Bill's avatar Johannes Bill

added express test

parent ef160243
......@@ -3,18 +3,20 @@ var Holidays = require('./holidays');
var now = new Date();
var holidaysGetter = new Holidays(now.getFullYear());
var _epochStart = new Date();
_epochStart = new Date(_epochStart.getFullYear(), _epochStart.getMonth(), _epochStart.getDate());
//var _epochStart = new Date(2014, 0, 0);
_epochStart.setDate(_epochStart.getDate() - 30);
var _epochEnd = new Date(_epochStart.getTime() + 130 * 24 * 3600000);
//var _epochEnd = new Date(2015, 0, 0);
var epochSpan = [_epochStart, _epochEnd];
var epochSpan = testEpochSpan();
function setEpocheSpan(_epocheSpan) {
epochSpan = _epocheSpan;
}
function testEpochSpan() {
var _epochStart = new Date();
_epochStart = new Date(_epochStart.getFullYear(), _epochStart.getMonth(), _epochStart.getDate());
_epochStart.setDate(_epochStart.getDate() - 30);
var _epochEnd = new Date(_epochStart.getTime() + 130 * 24 * 3600000);
return [_epochStart, _epochEnd];
}
function calculateOpeningHours(json) {
var includeString = "810a6deb-46f2-4fa8-b779-bb5c2a6b5577";
var excludeString = "bb74c170-b06f-4d2b-ab88-2f6bf9ce8068";
......@@ -53,6 +55,10 @@ function calculateOpeningHours(json) {
}
var allHolidays = getAllHolidays();
allHolidays = tmUtils.andOp(allHolidays, [epochSpan]);
holidayIncl = tmUtils.andOp(holidayIncl, [epochSpan]);
resultIncl = tmUtils.orOp(resultIncl);
resultIncl = tmUtils.andNotOp(resultIncl, allHolidays);
resultIncl = tmUtils.orOp([resultIncl, holidayIncl]);
......
var dateArray = require('./dateArray');
var moment = require('moment');
moment.lang("de");
......@@ -124,7 +123,7 @@ function getMaxNoOfItemsPerDay(oHours) {
}
function formatDate(date) {
return moment(date).format("dd L");
return moment(date).format("dd MM");
}
function formatTime(date) {
......
......@@ -65,28 +65,6 @@ function standardFromTillDay(daySpan, timeSpan, dateSpan, epochSpan, daysDistanc
return result;
}
function cyclic(day, noInMonth, timeFrom, timeUntil, epochStart, epochEnd) {
var result = [];
epochStart = new Date(epochStart);
while(true) {
var startDate = _getNextNoInMonthOccurence(day, epochStart, noInMonth);
startDate.setHours(timeFrom.h);
startDate.setMinutes(timeFrom.m);
var endDate = new Date(startDate);
endDate.setHours(timeUntil.h);
endDate.setMinutes(timeUntil.m);
if(endDate.getTime() > epochEnd.getTime())
break;
else {
result.push([startDate, endDate]);
epochStart = new Date(endDate);
epochStart.setDate(epochStart.getDate() + 1);
}
}
return result;
}
function cyclicFromTillDay(daySpan, noInMonth, timeSpan, dateSpan, epochSpan) {
if(!epochSpan)
epochSpan = dateSpan;
......
......@@ -7,8 +7,9 @@
},
"devDependencies": {
"chai": "^1.9.1",
"mysql": "*",
"express": "*"
"ejs": "^1.0.0",
"express": "*",
"mysql": "*"
},
"author": "",
"license": "ISC",
......
var express = require('express');
var path = require('path');
var routes = require('./routes/index');
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use('/', express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use(function (req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
if (app.get('env') === 'development') {
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function () {
console.log('Express server listening on port ' + server.address().port);
});
\ No newline at end of file
var mysql = require('mysql');
var dateArray = require('../lib/dateArray');
var dateView = require('../lib/dateView');
var connection = mysql.createConnection({
host: 'localhost',
user: 'read',
password: 'read',
database: 'regiostart'
});
connection.connect();
module.exports.getData = function (cb) {
var now = new Date();
dateArray.setEpocheSpan(dateView.getPropperEpocheSpan(now));
connection.query('SELECT name, elements FROM cms_zoo_item WHERE type = "company"', function (err, rows) {
var result = [];
for (var i = 0; i < rows.length; i++) {
var obj = JSON.parse(rows[i].elements);
var name = rows[i].name;
try {
var data = dateArray.getData(obj);
if(data.length > 0) {
var view = dateView.getView(data, now);
result.push('<div class="name">' + name + "</div> " + view);
}
}
catch (err) {
console.log(err, name);
}
}
cb(result.join('<br>'));
});
};
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
var express = require('express');
var router = express.Router();
var db = require('../dataBaseQuery');
router.get('/', function(req, res) {
db.getData(function(result) {
res.render('index', { body: result });
});
});
module.exports = router;
<h1><%= message %></h1>
<h2><%= error.status %></h2>
<pre><%= error.stack %></pre>
<!DOCTYPE html>
<html>
<head>
<title>qwe</title>
<link rel="stylesheet" href="uikit.min.css"/>
<script src="jquery.min.js"></script>
<script src="uikit.min.js"></script>
<style>
body {
padding: 30px;
}
.monthview-filled {
background-color: lightgreen;
}
.monthview-empty {
background-color: lightcoral;
}
.weekview-table {
border: 1px solid;
}
.name {
font-size: 20px;
}
</style>
</head>
<body>
<%- body %>
</body>
</html>
......@@ -5,10 +5,6 @@ var dateView = require('../lib/dateView');
var fs = require('fs');
var tmUtils = require('../lib/timeUtils');
var includeString = "810a6deb-46f2-4fa8-b779-bb5c2a6b5577";
var excludeString = "bb74c170-b06f-4d2b-ab88-2f6bf9ce8068";
var connection = mysql.createConnection({
host: 'localhost',
user: 'read',
......@@ -18,25 +14,24 @@ var connection = mysql.createConnection({
connection.connect();
connection.query('SELECT name, elements FROM cms_zoo_item WHERE type = "company"', function(err, rows) {
connection.query('SELECT name, elements FROM cms_zoo_item WHERE type = "company"', function (err, rows) {
var cntGood = 0;
var cntBad = 0;
for (var i = 0; i < rows.length; i++) {
var json = rows[i].elements;
var obj = JSON.parse(json);
var name = rows[i].name;
try{
try {
var result = dateArray.getData(obj);
tmUtils.validate(result);
}
catch(err)
{
console.log(err.message, name);
catch (err) {
console.log(err, name);
var result = [];
fs.writeFileSync(process.env["HOME"] + '/Desktop/oHours/invalid' + name + '.json', json);
fs.writeFileSync(process.env["HOME"] + '/Desktop/oHours/invalid/' + name + '.json', json);
}
if(result.length > 0) {
if (result.length > 0) {
// console.log(name);
// console.log(JSON.stringify(result));
cntGood++;
......
......@@ -7,7 +7,7 @@ var now = new Date(2014, 4, 1);
dateArray.setEpocheSpan(dateView.getPropperEpocheSpan(now));
var data = dateArray.getData(require('./../testData/testHof.json'));
var data = dateArray.getData(require('./testData/testHof.json'));
console.log(data);
var view = dateView.getView(data, now, 0);
......
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