Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
opening-hours
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
regionalkauf
opening-hours
Commits
d1b5b124
Commit
d1b5b124
authored
Jul 09, 2014
by
Johannes Bill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
after cb refactor
parent
6a15bb8f
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
313 additions
and
262 deletions
+313
-262
dateArray.js
lib/dateArray.js
+210
-190
holidays.js
lib/holidays.js
+27
-18
restRequests.js
lib/restRequests.js
+38
-24
dataArrayTest.js
mochaTests/dataArrayTest.js
+6
-5
dateViewTest.js
mochaTests/dateViewTest.js
+9
-8
dataBaseQuery.js
serverTest/dataBaseQuery.js
+23
-17
No files found.
lib/dateArray.js
View file @
d1b5b124
...
...
@@ -3,240 +3,260 @@ var Holidays = require('./holidays');
var
now
=
new
Date
();
var
holidaysGetter
=
{};
var
epochSpan
=
testEpochSpan
();
var
startYear
;
var
endYear
;
function
setEpocheSpan
(
_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
()
{
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
wrapper
(
_epochSpan
)
{
var
epochSpan
;
var
startYear
;
var
endYear
;
setEpocheSpan
(
_epochSpan
);
function
setEpocheSpan
(
newEpochSpan
)
{
epochSpan
=
newEpochSpan
;
startYear
=
epochSpan
[
0
].
getFullYear
();
endYear
=
epochSpan
[
1
].
getFullYear
();
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
if
(
!
holidaysGetter
[
year
])
holidaysGetter
[
year
]
=
new
Holidays
(
year
);
}
}
function
calculateOpeningHours
(
json
)
{
var
includeString
=
"810a6deb-46f2-4fa8-b779-bb5c2a6b5577"
;
var
excludeString
=
"bb74c170-b06f-4d2b-ab88-2f6bf9ce8068"
;
function
calculateOpeningHours
(
json
,
plz
,
cb
)
{
var
includeString
=
"810a6deb-46f2-4fa8-b779-bb5c2a6b5577"
;
var
excludeString
=
"bb74c170-b06f-4d2b-ab88-2f6bf9ce8068"
;
var
jsonIncl
=
json
[
includeString
];
var
jsonExcl
=
json
[
excludeString
];
if
(
!
jsonIncl
)
{
throw
new
Error
(
'no openinghours model found'
);
}
var
jsonIncl
=
json
[
includeString
];
var
jsonExcl
=
json
[
excludeString
];
var
resultIncl
=
[];
var
resultExcl
=
[]
;
var
holidayIncl
=
[];
if
(
!
jsonIncl
)
{
return
cb
(
new
Error
(
'no openinghours model found'
))
;
}
var
data
,
option
,
key
;
for
(
key
in
jsonIncl
)
{
data
=
jsonIncl
[
key
];
option
=
getOption
(
data
);
if
(
option
==
"holiday"
)
holidayIncl
=
holidayIncl
.
concat
(
getHolidays
(
data
));
var
resultIncl
=
[];
var
resultExcl
=
[];
var
holidayIncl
=
[];
var
data
,
option
,
key
;
try
{
for
(
key
in
jsonIncl
)
{
data
=
jsonIncl
[
key
];
option
=
getOption
(
data
);
if
(
option
==
"holiday"
)
holidayIncl
=
holidayIncl
.
concat
(
getHolidays
(
data
));
// else if (option == "vacation") {
// resultExcl.push(getOpeningHours(data, option));
// }
else
resultIncl
.
push
(
getOpeningHours
(
data
,
option
));
}
if
(
jsonExcl
)
{
for
(
key
in
jsonExcl
)
{
data
=
jsonExcl
[
key
];
option
=
getOption
(
data
);
resultExcl
.
push
(
getOpeningHours
(
data
,
option
));
else
resultIncl
.
push
(
getOpeningHours
(
data
,
option
));
}
if
(
jsonExcl
)
{
for
(
key
in
jsonExcl
)
{
data
=
jsonExcl
[
key
];
option
=
getOption
(
data
);
resultExcl
.
push
(
getOpeningHours
(
data
,
option
));
}
resultExcl
=
tmUtils
.
orOp
(
resultExcl
);
}
}
catch
(
err
)
{
return
cb
(
err
);
}
resultExcl
=
tmUtils
.
orOp
(
resultExcl
);
}
var
allHolidays
=
getAllHolidays
();
getAllHolidays
(
plz
,
function
(
err
,
allHolidays
)
{
if
(
err
)
return
cb
(
err
);
allHolidays
=
tmUtils
.
andOp
(
allHolidays
,
[
epochSpan
]);
holidayIncl
=
tmUtils
.
andOp
(
holidayIncl
,
[
epochSpan
]);
allHolidays
=
tmUtils
.
andOp
(
allHolidays
,
[
epochSpan
]);
holidayIncl
=
tmUtils
.
andOp
(
holidayIncl
,
[
epochSpan
]);
resultIncl
=
tmUtils
.
orOp
(
resultIncl
);
resultIncl
=
tmUtils
.
andNotOp
(
resultIncl
,
allHolidays
);
resultIncl
=
tmUtils
.
orOp
([
resultIncl
,
holidayIncl
]);
resultIncl
=
tmUtils
.
orOp
(
resultIncl
);
resultIncl
=
tmUtils
.
andNotOp
(
resultIncl
,
allHolidays
);
resultIncl
=
tmUtils
.
orOp
([
resultIncl
,
holidayIncl
]);
var
result
=
resultIncl
;
if
(
jsonExcl
)
result
=
tmUtils
.
andNotOp
(
resultIncl
,
resultExcl
);
var
result
=
resultIncl
;
if
(
jsonExcl
)
result
=
tmUtils
.
andNotOp
(
resultIncl
,
resultExcl
);
cb
(
null
,
result
);
});
return
result
;
}
function
getDaySpan
(
data
)
{
var
dayoption
=
parseInt
(
data
[
"dayoption"
][
"0"
]);
if
(
dayoption
<
7
)
return
[
dayoption
,
dayoption
];
switch
(
dayoption
)
{
case
7
:
return
[
0
,
0
];
case
8
:
return
[
0
,
7
];
case
9
:
return
[
1
,
5
];
case
10
:
return
[
1
,
6
];
default
:
throw
new
Error
(
"Invalid day option: "
+
dayoption
);
}
}
function
parseTime
(
time
)
{
var
split
=
time
.
split
(
":"
);
return
{
h
:
parseInt
(
split
[
0
])
||
0
,
m
:
parseInt
(
split
[
1
])
||
0
function
getDaySpan
(
data
)
{
var
dayoption
=
parseInt
(
data
[
"dayoption"
][
"0"
]);
if
(
dayoption
<
7
)
return
[
dayoption
,
dayoption
];
switch
(
dayoption
)
{
case
7
:
return
[
0
,
0
];
case
8
:
return
[
0
,
7
];
case
9
:
return
[
1
,
5
];
case
10
:
return
[
1
,
6
];
default
:
throw
new
Error
(
"Invalid day option: "
+
dayoption
);
}
}
}
function
parseTime
(
time
)
{
var
split
=
time
.
split
(
":"
);
return
{
h
:
parseInt
(
split
[
0
])
||
0
,
m
:
parseInt
(
split
[
1
])
||
0
}
}
function
parseDate
(
date
,
year
,
addOneDay
)
{
if
(
date
.
length
==
0
)
return
null
;
var
_year
;
var
split
=
date
.
split
(
"."
);
var
month
=
parseInt
(
split
[
1
])
-
1
;
var
day
=
parseInt
(
split
[
0
])
+
(
addOneDay
?
1
:
0
);
if
(
split
.
length
===
3
)
{
_year
=
parseInt
(
split
[
2
]);
}
if
(
!
_year
)
_year
=
year
;
function
parseDate
(
date
,
year
,
addOneDay
)
{
if
(
date
.
length
==
0
)
return
null
;
return
new
Date
(
_year
,
month
,
day
);
}
var
_year
;
var
split
=
date
.
split
(
"."
);
var
month
=
parseInt
(
split
[
1
])
-
1
;
var
day
=
parseInt
(
split
[
0
])
+
(
addOneDay
?
1
:
0
);
if
(
split
.
length
===
3
)
{
_year
=
parseInt
(
split
[
2
]);
}
if
(
!
_year
)
_year
=
year
;
function
getHolidays
(
data
)
{
var
option
=
data
[
"option"
][
"0"
];
if
(
option
!=
"holiday"
)
{
throw
new
Error
(
'not holiday: '
+
option
);
return
new
Date
(
_year
,
month
,
day
);
}
var
timeSpan
=
getTimeSpan
(
data
);
var
holidayId
=
data
[
"holidayoption"
][
0
];
function
getHolidays
(
data
)
{
var
option
=
data
[
"option"
][
"0"
];
if
(
option
!=
"holiday"
)
{
throw
new
Error
(
'not holiday: '
+
option
);
}
var
timeSpan
=
getTimeSpan
(
data
);
var
holidayId
=
data
[
"holidayoption"
][
0
];
var
days
=
[];
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
days
=
days
.
concat
(
holidaysGetter
[
year
].
getHoliday
(
holidayId
));
}
var
days
=
[];
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
days
=
days
.
concat
(
holidaysGetter
[
year
].
getHoliday
(
holidayId
));
var
intervals
=
days
.
map
(
function
(
date
)
{
return
tmUtils
.
singleDay
(
date
,
timeSpan
);
});
tmUtils
.
sort
(
intervals
);
return
intervals
;
}
var
intervals
=
days
.
map
(
function
(
date
)
{
return
tmUtils
.
singleDay
(
date
,
timeSpan
);
});
tmUtils
.
sort
(
intervals
);
return
intervals
;
}
function
getAllHolidays
(
plz
,
cb
)
{
var
days
=
[];
var
cnt
=
endYear
-
startYear
+
1
;
function
_cb
(
err
,
result
)
{
if
(
err
)
return
cb
(
err
);
days
=
days
.
concat
(
result
);
cnt
--
;
if
(
cnt
===
0
)
{
var
intervals
=
days
.
map
(
function
(
date
)
{
return
tmUtils
.
singleDay
(
date
);
});
tmUtils
.
sort
(
intervals
);
cb
(
null
,
intervals
);
}
}
function
getAllHolidays
()
{
var
days
=
[];
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
days
=
days
.
concat
(
holidaysGetter
[
year
].
getAllHolidays
());
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
holidaysGetter
[
year
].
getAllHolidays
(
plz
,
_cb
);
}
}
var
intervals
=
days
.
map
(
function
(
date
)
{
return
tmUtils
.
singleDay
(
date
);
});
tmUtils
.
sort
(
intervals
);
return
intervals
;
}
function
getDateSpan
(
data
)
{
var
startDate
=
parseDate
(
data
[
"opening_day_from"
],
now
.
getFullYear
());
var
endDate
=
parseDate
(
data
[
"opening_day_to"
],
now
.
getFullYear
(),
true
);
function
getDateSpan
(
data
)
{
var
startDate
=
parseDate
(
data
[
"opening_day_from"
],
now
.
getFullYear
());
var
endDate
=
parseDate
(
data
[
"opening_day_to"
],
now
.
getFullYear
(),
true
);
if
(
!
startDate
)
startDate
=
epochSpan
[
0
];
if
(
!
endDate
)
endDate
=
epochSpan
[
1
];
if
(
!
startDate
)
startDate
=
epochSpan
[
0
];
if
(
!
endDate
)
endDate
=
epochSpan
[
1
];
//TODO: jahreswechsel beruecksichtigen
return
[
startDate
,
endDate
];
}
//TODO: jahreswechsel beruecksichtigen
return
[
startDate
,
endDate
];
}
function
getTimeSpan
(
data
)
{
return
[
parseTime
(
data
[
"opening_from"
]),
parseTime
(
data
[
"opening_to"
])];
}
function
getTimeSpan
(
data
)
{
return
[
parseTime
(
data
[
"opening_from"
]),
parseTime
(
data
[
"opening_to"
])];
}
function
getOption
(
data
)
{
return
data
[
"option"
][
0
];
}
function
getOption
(
data
)
{
return
data
[
"option"
][
0
];
}
function
getOpeningHours
(
data
,
option
)
{
option
=
option
||
getOption
(
data
);
switch
(
option
)
{
case
"default"
:
return
getOpeningHoursDefault
(
data
);
case
"season"
:
return
getOpeningHoursSeason
(
data
);
case
"repeatable"
:
return
getOpeningHoursRepeatable
(
data
);
case
"vacation"
:
return
getOpeningHoursVacation
(
data
);
case
""
:
return
[];
default
:
throw
new
Error
(
"option not supported: "
+
option
);
return
[];
function
getOpeningHours
(
data
,
option
)
{
option
=
option
||
getOption
(
data
);
switch
(
option
)
{
case
"default"
:
return
getOpeningHoursDefault
(
data
);
case
"season"
:
return
getOpeningHoursSeason
(
data
);
case
"repeatable"
:
return
getOpeningHoursRepeatable
(
data
);
case
"vacation"
:
return
getOpeningHoursVacation
(
data
);
case
""
:
return
[];
default
:
throw
new
Error
(
"option not supported: "
+
option
);
return
[];
}
}
}
function
getOpeningHoursDefault
(
data
)
{
var
daySpan
=
getDaySpan
(
data
);
var
timeSpan
=
getTimeSpan
(
data
);
return
tmUtils
.
standardFromTillDay
(
daySpan
,
timeSpan
,
epochSpan
,
epochSpan
,
7
);
}
function
getOpeningHoursDefault
(
data
)
{
var
daySpan
=
getDaySpan
(
data
);
var
timeSpan
=
getTimeSpan
(
data
);
return
tmUtils
.
standardFromTillDay
(
daySpan
,
timeSpan
,
epochSpan
,
epochSpan
,
7
);
}
function
getOpeningHoursSeason
(
data
)
{
var
daySpan
=
getDaySpan
(
data
);
var
timeSpan
=
getTimeSpan
(
data
);
var
dateSpan
=
getDateSpan
(
data
);
return
tmUtils
.
standardFromTillDay
(
daySpan
,
timeSpan
,
dateSpan
,
epochSpan
,
7
);
}
function
getOpeningHoursSeason
(
data
)
{
var
daySpan
=
getDaySpan
(
data
);
var
timeSpan
=
getTimeSpan
(
data
);
var
dateSpan
=
getDateSpan
(
data
);
return
tmUtils
.
standardFromTillDay
(
daySpan
,
timeSpan
,
dateSpan
,
epochSpan
,
7
);
}
function
getOpeningHoursVacation
(
data
)
{
var
dateSpan
=
getDateSpan
(
data
);
return
tmUtils
.
dateSpan
(
dateSpan
);
}
function
getOpeningHoursVacation
(
data
)
{
var
dateSpan
=
getDateSpan
(
data
);
return
tmUtils
.
dateSpan
(
dateSpan
);
}
function
getOpeningHoursRepeatable
(
data
)
{
var
daySpan
=
getDaySpan
(
data
);
var
timeSpan
=
getTimeSpan
(
data
);
var
dateSpan
=
getDateSpan
(
data
);
var
repeatOption
=
parseInt
(
data
[
"repeatoption"
][
"0"
]);
var
noInMonth
;
if
(
repeatOption
<=
4
)
noInMonth
=
repeatOption
;
else
if
(
repeatOption
==
30
)
noInMonth
=
-
1
;
if
(
noInMonth
)
return
tmUtils
.
cyclicFromTillDay
(
daySpan
,
noInMonth
,
timeSpan
,
dateSpan
,
epochSpan
);
else
{
switch
(
repeatOption
)
{
case
14
:
case
21
:
case
28
:
return
tmUtils
.
standardFromTillDay
(
daySpan
,
timeSpan
,
dateSpan
,
epochSpan
,
repeatOption
);
default
:
throw
new
Error
(
"invalid repeatoption"
);
function
getOpeningHoursRepeatable
(
data
)
{
var
daySpan
=
getDaySpan
(
data
);
var
timeSpan
=
getTimeSpan
(
data
);
var
dateSpan
=
getDateSpan
(
data
);
var
repeatOption
=
parseInt
(
data
[
"repeatoption"
][
"0"
]);
var
noInMonth
;
if
(
repeatOption
<=
4
)
noInMonth
=
repeatOption
;
else
if
(
repeatOption
==
30
)
noInMonth
=
-
1
;
if
(
noInMonth
)
return
tmUtils
.
cyclicFromTillDay
(
daySpan
,
noInMonth
,
timeSpan
,
dateSpan
,
epochSpan
);
else
{
switch
(
repeatOption
)
{
case
14
:
case
21
:
case
28
:
return
tmUtils
.
standardFromTillDay
(
daySpan
,
timeSpan
,
dateSpan
,
epochSpan
,
repeatOption
);
default
:
throw
new
Error
(
"invalid repeatoption"
);
}
}
}
return
{
getData
:
calculateOpeningHours
,
setEpocheSpan
:
setEpocheSpan
};
}
module
.
exports
=
wrapper
;
module
.
exports
.
getData
=
calculateOpeningHours
;
module
.
exports
.
setEpocheSpan
=
setEpocheSpan
;
lib/holidays.js
View file @
d1b5b124
...
...
@@ -60,46 +60,55 @@ function Holidays(year) {
var
holidays
=
getFixedHolidays
(
fixedHolidays
);
holidays
=
getVariableHolidaysMap
(
variableOffsets
,
holidays
);
function
plzToBlnd
(
plz
)
{
function
plzToBlnd
(
plz
,
cb
)
{
}
function
isAugsburg
(
plz
)
{
function
isAugsburg
(
plz
,
cb
)
{
}
function
getHolidayKeys
(
plz
,
kath
,
cb
)
{
function
isKath
(
plz
,
cb
)
{
//remove
}
function
getHolidayKeys
(
plz
,
cb
)
{
//TODO: remove
var
keys
=
Object
.
keys
(
holidays
);
return
keys
;
return
cb
(
null
,
keys
)
;
//\remove
var
blnd
=
plzToBlnd
(
plz
);
var
isAugsburg
=
isAugsburg
(
plz
);
var
isKath
=
isKath
(
plz
);
var
keys
=
holidayMapping
[
'sureHolidays'
];
assert
(
isAugsburg
&&
blnd
==
'BY'
);
assert
(
isAugsburg
==
(
blnd
==
'BY'
)
);
var
blndMap
=
holidayMapping
[
'region'
][
blnd
];
if
(
blndMap
)
{
keys
.
concat
(
blndMap
[
'default'
]);
if
(
kath
&&
blndMap
[
'kath'
]
)
if
(
blndMap
[
'kath'
]
&&
isKath
)
keys
.
concat
(
blndMap
[
'kath'
]);
if
(
isAugsburg
&&
blndMap
[
'augsburg'
]
)
if
(
blndMap
[
'augsburg'
]
&&
isAugsburg
)
keys
.
concat
(
blndMap
[
'augsburg'
]);
}
cb
(
null
,
keys
);
}
this
.
getAllHolidays
=
function
(
plz
,
kath
)
{
var
keys
=
getHolidayKeys
(
plz
,
kath
);
var
result
=
[];
for
(
var
i
=
0
;
i
<
keys
.
length
;
i
++
)
{
var
key
=
keys
[
i
];
var
elem
=
holidays
[
key
];
if
(
elem
)
result
.
push
(
elem
);
}
return
result
;
this
.
getAllHolidays
=
function
(
plz
,
cb
)
{
getHolidayKeys
(
plz
,
function
(
err
,
keys
)
{
if
(
err
)
return
cb
(
err
);
var
result
=
[];
for
(
var
i
=
0
;
i
<
keys
.
length
;
i
++
)
{
var
key
=
keys
[
i
];
var
elem
=
holidays
[
key
];
if
(
elem
)
result
.
push
(
elem
);
}
cb
(
err
,
result
);
});
};
this
.
getHoliday
=
function
(
id
)
{
...
...
lib/restRequests.js
View file @
d1b5b124
var
http
=
require
(
'http'
);
var
hostname
=
"127.0.0.1"
;
var
port
=
3001
;
var
headers
=
{
"Content-Type"
:
"application/json"
};
var
path
=
'/api/postleitzahlen/findone/?filter[where][plz]=93047'
;
var
headers
=
{};
headers
[
"Content-Type"
]
=
"application/json"
;
function
request
(
path
,
cb
)
{
var
options
=
{
hostname
:
hostname
,
port
:
port
,
path
:
path
,
method
:
'GET'
,
headers
:
headers
};
var
callback
=
function
(
response
)
{
console
.
log
(
'bla'
);
var
str
=
''
;
response
.
on
(
'data'
,
function
(
chunk
)
{
str
+=
chunk
;
});
response
.
on
(
'end'
,
function
()
{
cb
(
null
,
str
);
});
};
var
req
=
http
.
request
(
options
,
callback
);
req
.
on
(
"error"
,
function
(
err
)
{
cb
(
err
);
});
var
options
=
{
hostname
:
"127.0.0.1"
,
port
:
3000
,
path
:
path
,
method
:
'GET'
,
headers
:
headers
};
req
.
end
();
}
var
callback
=
function
(
response
)
{
console
.
log
(
'bla'
);
var
str
=
''
;
response
.
on
(
'data'
,
function
(
chunk
)
{
str
+=
chunk
;
});
response
.
on
(
'end'
,
function
()
{
console
.
log
(
str
);
});
};
var
req
=
http
.
request
(
options
,
callback
);
req
.
on
(
"error"
,
function
(
error
)
{
console
.
error
(
error
);
});
req
.
end
();
function
getBundesland
(
plz
,
cb
)
{
}
function
getKatholisch
(
plz
,
cb
)
{
}
mochaTests/dataArrayTest.js
View file @
d1b5b124
...
...
@@ -3,13 +3,14 @@ var dateArray = require('../lib/dateArray');
describe
(
"dateArray"
,
function
()
{
describe
(
"calculateOpeningHours"
,
function
()
{
it
(
"should equal"
,
function
()
{
it
(
"should equal"
,
function
(
done
)
{
var
data
=
require
(
'./testData/testHof.json'
);
var
epocheSpan
=
[
new
Date
(
2014
,
0
,
1
),
new
Date
(
2015
,
0
,
1
)];
dateArray
.
setEpocheSpan
(
epocheSpan
);
var
oHours
=
dateArray
.
getData
(
data
);
var
result
=
JSON
.
stringify
(
oHours
);
expect
(
result
).
to
.
equal
(
require
(
'./testData/testHofResult.json'
)[
'data'
]);
dateArray
(
epocheSpan
).
getData
(
data
,
93047
,
function
(
err
,
oHours
)
{
var
result
=
JSON
.
stringify
(
oHours
);
expect
(
result
).
to
.
equal
(
require
(
'./testData/testHofResult.json'
)[
'data'
]);
done
();
});
})
})
});
\ No newline at end of file
mochaTests/dateViewTest.js
View file @
d1b5b124
...
...
@@ -5,19 +5,20 @@ var dateView = require('../lib/dateView');
describe
(
"dateView"
,
function
()
{
describe
(
"calculateOpeningHours"
,
function
()
{
it
(
"should equal"
,
function
()
{
it
(
"should equal"
,
function
(
done
)
{
var
data
=
require
(
'./testData/testHof.json'
);
var
now
=
new
Date
(
2014
,
4
,
1
);
var
epocheSpan
=
dateView
.
getPropperEpochSpan
(
now
);
dateArray
.
setEpocheSpan
(
epocheSpan
);
var
oHours
=
dateArray
.
getData
(
data
);
var
view
=
dateView
.
getView
(
oHours
,
now
);
console
.
log
(
view
);
var
viewRef
=
fs
.
readFileSync
(
__dirname
+
'/testData/testHofView.html'
,
{
encoding
:
"utf8"
dateArray
(
epocheSpan
).
getData
(
data
,
93047
,
function
(
err
,
oHours
)
{
var
view
=
dateView
.
getView
(
oHours
,
now
);
console
.
log
(
view
);
var
viewRef
=
fs
.
readFileSync
(
__dirname
+
'/testData/testHofView.html'
,
{
encoding
:
"utf8"
});
expect
(
view
).
to
.
equal
(
viewRef
);
done
();
});
expect
(
view
).
to
.
equal
(
viewRef
);
})
})
});
\ No newline at end of file
serverTest/dataBaseQuery.js
View file @
d1b5b124
var
mysql
=
require
(
'mysql'
);
var
dateArray
=
require
(
'../lib/dateArray'
);
var
dateView
=
require
(
'../lib/dateView'
);
var
plz
=
93047
;
var
connection
=
mysql
.
createConnection
({
host
:
'localhost'
,
...
...
@@ -11,32 +12,37 @@ var connection = mysql.createConnection({
connection
.
connect
();
module
.
exports
.
getData
=
function
(
now
,
cb
)
{
module
.
exports
.
getData
=
function
(
now
,
cb
)
{
var
epocheSpan
=
dateView
.
getPropperEpochSpan
(
now
);
// console.log(now);
// console.log(epocheSpan);
dateArray
.
setEpocheSpan
(
epocheSpan
);
//
dateArray.setEpocheSpan(epocheSpan);
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
result
=
[];
var
cnt
=
0
;
var
iters
=
rows
.
length
;
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
)
{
cnt
++
;
var
view
=
dateView
.
getView
(
data
,
now
);
result
.
push
(
'<div class="name">'
+
name
+
"</div> "
+
view
);
}
}
catch
(
err
)
{
}
(
function
()
{
var
name
=
rows
[
i
].
name
;
dateArray
(
epocheSpan
).
getData
(
obj
,
plz
,
function
(
err
,
data
)
{
if
(
err
)
{
console
.
log
(
name
,
err
);
}
else
if
(
data
.
length
>
0
)
{
cnt
++
;
var
view
=
dateView
.
getView
(
data
,
now
);
result
.
push
(
'<div class="name">'
+
name
+
"</div> "
+
view
);
}
if
(
--
iters
==
0
)
{
console
.
log
(
"Count: %d"
,
cnt
);
cb
(
result
.
join
(
'<br>'
));
}
});
})();
}
console
.
log
(
"Count: %d"
,
cnt
);
cb
(
result
.
join
(
'<br>'
));
});
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment