Add istanbul and generate ininital coverage report
This commit is contained in:
165
coverage/lcov-report/server/boot/a-extendUser.js.html
Normal file
165
coverage/lcov-report/server/boot/a-extendUser.js.html
Normal file
@@ -0,0 +1,165 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/a-extendUser.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header low">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/a-extendUser.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">34.78% <small>(8 / 23)</small></span>
|
||||
Branches: <span class="metric">0% <small>(0 / 8)</small></span>
|
||||
Functions: <span class="metric">14.29% <small>(1 / 7)</small></span>
|
||||
Lines: <span class="metric">36.36% <small>(8 / 22)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » a-extendUser.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var Rx = require('rx');
|
||||
var debug = require('debug')('freecc:user:remote');
|
||||
|
||||
<span class="fstat-no" title="function not covered" >function destroyById(id, Model) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return Rx.Observable.create(<span class="fstat-no" title="function not covered" >function(observer) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > Model.destroyById(id, <span class="fstat-no" title="function not covered" >function(err) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) { <span class="cstat-no" title="statement not covered" >return observer.onError(err); </span>}</span>
|
||||
<span class="cstat-no" title="statement not covered" > observer.onCompleted();</span>
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > return Rx.Disposable(Rx.helpers.noop);</span>
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = function(app) {
|
||||
var User = app.models.User;
|
||||
var UserIdentity = app.models.UserIdentity;
|
||||
var UserCredential = app.models.UserCredential;
|
||||
User.observe('after delete', <span class="fstat-no" title="function not covered" >function(ctx, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > debug('removing user', ctx.where);</span>
|
||||
<span class="cstat-no" title="statement not covered" > var id = ctx.where && ctx.where.id ? ctx.where.id : null;</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (!id) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return next();</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > Rx.Observable.combineLatest(</span>
|
||||
destroyById(id, UserIdentity),
|
||||
destroyById(id, UserCredential),
|
||||
Rx.helpers.noop
|
||||
).subscribe(
|
||||
Rx.helpers.noop,
|
||||
<span class="fstat-no" title="function not covered" > function(err) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > debug('error deleting user %s stuff', id, err);</span>
|
||||
<span class="cstat-no" title="statement not covered" > next(err);</span>
|
||||
},
|
||||
<span class="fstat-no" title="function not covered" > function() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > debug('user stuff deleted for user %s', id);</span>
|
||||
<span class="cstat-no" title="statement not covered" > next();</span>
|
||||
}
|
||||
);
|
||||
});
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
57
coverage/lcov-report/server/boot/authentication.js.html
Normal file
57
coverage/lcov-report/server/boot/authentication.js.html
Normal file
@@ -0,0 +1,57 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/authentication.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/authentication.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">100% <small>(2 / 2)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">100% <small>(1 / 1)</small></span>
|
||||
Lines: <span class="metric">100% <small>(2 / 2)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » authentication.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">module.exports = function enableAuthentication(app) {
|
||||
// enable authentication
|
||||
app.enableAuth();
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
1761
coverage/lcov-report/server/boot/challenge.js.html
Normal file
1761
coverage/lcov-report/server/boot/challenge.js.html
Normal file
File diff suppressed because it is too large
Load Diff
240
coverage/lcov-report/server/boot/challengeMap.js.html
Normal file
240
coverage/lcov-report/server/boot/challengeMap.js.html
Normal file
@@ -0,0 +1,240 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/challengeMap.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header low">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/challengeMap.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">32.26% <small>(10 / 31)</small></span>
|
||||
Branches: <span class="metric">0% <small>(0 / 4)</small></span>
|
||||
Functions: <span class="metric">11.11% <small>(1 / 9)</small></span>
|
||||
Lines: <span class="metric">33.33% <small>(10 / 30)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » challengeMap.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var R = require('ramda'),
|
||||
// debug = require('debug')('freecc:cntr:challengeMap'),
|
||||
utils = require('./../utils'),
|
||||
middleware = require('../utils/middleware');
|
||||
|
||||
|
||||
module.exports = function(app) {
|
||||
var User = app.models.User;
|
||||
var router = app.loopback.Router();
|
||||
|
||||
router.get('/map', middleware.userMigration, challengeMap);
|
||||
router.get('/learn-to-code', <span class="fstat-no" title="function not covered" >function(req, res) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.redirect(301, '/map');</span>
|
||||
});
|
||||
router.get('/about', <span class="fstat-no" title="function not covered" >function(req, res) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.redirect(301, '/map');</span>
|
||||
});
|
||||
|
||||
app.use(router);
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function challengeMap(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var completedList = [];</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (req.user) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > completedList = req.user.completedChallenges;</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var noDuplicatedChallenges = R.uniq(completedList);</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var completedChallengeList = noDuplicatedChallenges</span>
|
||||
.map(<span class="fstat-no" title="function not covered" >function(challenge) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return challenge.id;</span>
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > var challengeList = utils.</span>
|
||||
getChallengeMapForDisplay(completedChallengeList);
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > Object.keys(challengeList).forEach(<span class="fstat-no" title="function not covered" >function(key) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > challengeList[key].completed = challengeList[key]</span>
|
||||
.challenges.filter(<span class="fstat-no" title="function not covered" >function(elem) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return completedChallengeList.indexOf(elem.id) > -1;</span>
|
||||
});
|
||||
});
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function numberWithCommas(x) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var date1 = new Date('10/15/2014');</span>
|
||||
<span class="cstat-no" title="statement not covered" > var date2 = new Date();</span>
|
||||
<span class="cstat-no" title="statement not covered" > var timeDiff = Math.abs(date2.getTime() - date1.getTime());</span>
|
||||
<span class="cstat-no" title="statement not covered" > var daysRunning = Math.ceil(timeDiff / (1000 * 3600 * 24));</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > User.count(<span class="fstat-no" title="function not covered" >function(err, camperCount) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) { <span class="cstat-no" title="statement not covered" >return next(err); </span>}</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > res.render('challengeMap/show', {</span>
|
||||
daysRunning: daysRunning,
|
||||
camperCount: numberWithCommas(camperCount),
|
||||
title: "A map of all Free Code Camp's Challenges",
|
||||
challengeList: challengeList,
|
||||
completedChallengeList: completedChallengeList
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
135
coverage/lcov-report/server/boot/explorer.js.html
Normal file
135
coverage/lcov-report/server/boot/explorer.js.html
Normal file
@@ -0,0 +1,135 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/explorer.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header medium">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/explorer.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">56.25% <small>(9 / 16)</small></span>
|
||||
Branches: <span class="metric">25% <small>(1 / 4)</small></span>
|
||||
Functions: <span class="metric">33.33% <small>(1 / 3)</small></span>
|
||||
Lines: <span class="metric">56.25% <small>(9 / 16)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » explorer.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">module.exports = function mountLoopBackExplorer(app) {
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (process.env.NODE_ENV === 'production') {
|
||||
<span class="cstat-no" title="statement not covered" > return;</span>
|
||||
}
|
||||
var explorer;
|
||||
try {
|
||||
explorer = require('loopback-explorer');
|
||||
} catch(err) {
|
||||
// Print the message only when the app was started via `app.listen()`.
|
||||
// Do not print any message when the project is used as a component.
|
||||
<span class="cstat-no" title="statement not covered" > app.once('started', <span class="fstat-no" title="function not covered" >function() {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > console.log(</span>
|
||||
'Run `npm install loopback-explorer` to enable the LoopBack explorer'
|
||||
);
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > return;</span>
|
||||
}
|
||||
|
||||
var restApiRoot = app.get('restApiRoot');
|
||||
|
||||
var explorerApp = explorer(app, { basePath: restApiRoot });
|
||||
app.use('/explorer', explorerApp);
|
||||
app.once('started', <span class="fstat-no" title="function not covered" >function() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var baseUrl = app.get('url').replace(/\/$/, '');</span>
|
||||
// express 4.x (loopback 2.x) uses `mountpath`
|
||||
// express 3.x (loopback 1.x) uses `route`
|
||||
<span class="cstat-no" title="statement not covered" > var explorerPath = explorerApp.mountpath || explorerApp.route;</span>
|
||||
<span class="cstat-no" title="statement not covered" > console.log('Browse your REST API at %s%s', baseUrl, explorerPath);</span>
|
||||
});
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
426
coverage/lcov-report/server/boot/fieldGuide.js.html
Normal file
426
coverage/lcov-report/server/boot/fieldGuide.js.html
Normal file
@@ -0,0 +1,426 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/fieldGuide.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header low">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/fieldGuide.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">24.14% <small>(14 / 58)</small></span>
|
||||
Branches: <span class="metric">0% <small>(0 / 24)</small></span>
|
||||
Functions: <span class="metric">9.09% <small>(1 / 11)</small></span>
|
||||
Lines: <span class="metric">25% <small>(14 / 56)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » fieldGuide.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66
|
||||
67
|
||||
68
|
||||
69
|
||||
70
|
||||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
92
|
||||
93
|
||||
94
|
||||
95
|
||||
96
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
123
|
||||
124
|
||||
125
|
||||
126
|
||||
127
|
||||
128</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var R = require('ramda'),
|
||||
// Rx = require('rx'),
|
||||
// debug = require('debug')('freecc:fieldguides'),
|
||||
utils = require('../utils');
|
||||
|
||||
module.exports = function(app) {
|
||||
var router = app.loopback.Router();
|
||||
var FieldGuide = app.models.FieldGuide;
|
||||
|
||||
router.get('/field-guide/all-articles', showAllFieldGuides);
|
||||
router.get('/field-guide/:fieldGuideName', returnIndividualFieldGuide);
|
||||
router.get('/field-guide/', returnNextFieldGuide);
|
||||
router.post('/completed-field-guide/', completedFieldGuide);
|
||||
|
||||
app.use(router);
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function returnIndividualFieldGuide(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var dashedNameFromQuery = req.params.fieldGuideName;</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (req.user) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var completed = req.user.completedFieldGuides;</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var uncompletedFieldGuides = utils.allFieldGuideIds()</span>
|
||||
.filter(<span class="fstat-no" title="function not covered" >function (elem) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (completed.indexOf(elem) === -1) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return elem;</span>
|
||||
}
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > req.user.uncompletedFieldGuides = uncompletedFieldGuides;</span>
|
||||
// TODO(berks): handle callback properly
|
||||
<span class="cstat-no" title="statement not covered" > req.user.save(<span class="fstat-no" title="function not covered" >function(err) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) { <span class="cstat-no" title="statement not covered" >return next(err); </span>}</span>
|
||||
});
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > FieldGuide.find({ where: {'dashedName': dashedNameFromQuery}},</span>
|
||||
<span class="fstat-no" title="function not covered" > function(err, fieldGuideFromMongo) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return next(err);</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (fieldGuideFromMongo.length < 1) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > req.flash('errors', {</span>
|
||||
msg: '404: We couldn\'t find a field guide entry with that name. ' +
|
||||
'Please double check the name.'
|
||||
});
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return res.redirect('/');</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var fieldGuide = R.head(fieldGuideFromMongo);</span>
|
||||
<span class="cstat-no" title="statement not covered" > fieldGuide.name.toLowerCase().replace(/\s/g, '-').replace(/\?/g, '');</span>
|
||||
|
||||
// if (fieldGuide.dashedName !== dashedNameFromQuery) {
|
||||
// return res.redirect('../field-guide/' + fieldGuide.dashedName);
|
||||
// }
|
||||
<span class="cstat-no" title="statement not covered" > res.render('field-guide/show', {</span>
|
||||
title: fieldGuide.name,
|
||||
fieldGuideId: fieldGuide.id,
|
||||
description: fieldGuide.description.join('')
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function showAllFieldGuides(req, res) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var allFieldGuideNamesAndIds = utils.allFieldGuideNamesAndIds();</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var completedFieldGuides = [];</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (req.user && req.user.completedFieldGuides) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > completedFieldGuides = req.user.completedFieldGuides;</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > res.render('field-guide/all-articles', {</span>
|
||||
allFieldGuideNamesAndIds: allFieldGuideNamesAndIds,
|
||||
completedFieldGuides: completedFieldGuides
|
||||
});
|
||||
}
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function showCompletedFieldGuideFunction(req, res) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > req.flash('success', {</span>
|
||||
msg: [
|
||||
'You\'ve read all our current Field Guide entries. ' +
|
||||
'If you have ideas for other Field Guide articles, ' +
|
||||
'please let us know on ',
|
||||
'<a href=\'https://github.com/freecodecamp/freecodecamp/' +
|
||||
'issues/new?&body=Please describe your idea for a Field Guide' +
|
||||
' article and include links if possible.\'>GitHub</a>.'
|
||||
].join('')
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > return res.redirect('../field-guide/how-do-i-use-this-guide');</span>
|
||||
}
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function returnNextFieldGuide(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (!req.user) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return res.redirect('/field-guide/how-do-i-use-this-guide');</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!req.user.uncompletedFieldGuides.length) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return showCompletedFieldGuideFunction(req, res, next);</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > FieldGuide.findById(req.user.uncompletedFieldGuides[0],</span>
|
||||
<span class="fstat-no" title="function not covered" > function(err, fieldGuide) {</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (err) { <span class="cstat-no" title="statement not covered" >return next(err); </span>}</span>
|
||||
<span class="cstat-no" title="statement not covered" > return res.redirect('../field-guide/' + fieldGuide.dashedName);</span>
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
<span class="fstat-no" title="function not covered" >function completedFieldGuide(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var fieldGuideId = req.body.fieldGuideInfo.fieldGuideId;</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > req.user.completedFieldGuides.push(fieldGuideId);</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var index = req.user.uncompletedFieldGuides.indexOf(fieldGuideId);</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (index > -1) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > req.user.progressTimestamps.push(Date.now());</span>
|
||||
<span class="cstat-no" title="statement not covered" > req.user.uncompletedFieldGuides.splice(index, 1);</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > req.user.save(<span class="fstat-no" title="function not covered" >function (err) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return next(err);</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > res.send(true);</span>
|
||||
});
|
||||
}
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
117
coverage/lcov-report/server/boot/home.js.html
Normal file
117
coverage/lcov-report/server/boot/home.js.html
Normal file
@@ -0,0 +1,117 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/home.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header medium">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/home.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">50% <small>(7 / 14)</small></span>
|
||||
Branches: <span class="metric">0% <small>(0 / 6)</small></span>
|
||||
Functions: <span class="metric">33.33% <small>(1 / 3)</small></span>
|
||||
Lines: <span class="metric">53.85% <small>(7 / 13)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » home.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var defaultProfileImage =
|
||||
require('../../common/utils/constantStrings.json').defaultProfileImage;
|
||||
var message =
|
||||
'Learn to Code JavaScript and get a Coding Job by Helping Nonprofits';
|
||||
|
||||
module.exports = function(app) {
|
||||
var router = app.loopback.Router();
|
||||
router.get('/', index);
|
||||
|
||||
app.use(router);
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function index(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (req.user && !req.user.picture) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > req.user.picture = defaultProfileImage;</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > req.user.save(<span class="fstat-no" title="function not covered" >function(err) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) { <span class="cstat-no" title="statement not covered" >return next(err); </span>}</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.render('home', { title: message });</span>
|
||||
});
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > res.render('home', { title: message });</span>
|
||||
}
|
||||
}
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
255
coverage/lcov-report/server/boot/index.html
Normal file
255
coverage/lcov-report/server/boot/index.html
Normal file
@@ -0,0 +1,255 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header low">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">20.49% <small>(218 / 1064)</small></span>
|
||||
Branches: <span class="metric">0.2% <small>(1 / 503)</small></span>
|
||||
Functions: <span class="metric">6.03% <small>(14 / 232)</small></span>
|
||||
Lines: <span class="metric">21.23% <small>(218 / 1027)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » server/boot/</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="coverage-summary">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file low" data-value="a-extendUser.js"><a href="a-extendUser.js.html">a-extendUser.js</a></td>
|
||||
<td data-value="34.78" class="pic low"><span class="cover-fill" style="width: 34px;"></span><span class="cover-empty" style="width:66px;"></span></td>
|
||||
<td data-value="34.78" class="pct low">34.78%</td>
|
||||
<td data-value="23" class="abs low">(8 / 23)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="8" class="abs low">(0 / 8)</td>
|
||||
<td data-value="14.29" class="pct low">14.29%</td>
|
||||
<td data-value="7" class="abs low">(1 / 7)</td>
|
||||
<td data-value="36.36" class="pct low">36.36%</td>
|
||||
<td data-value="22" class="abs low">(8 / 22)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="authentication.js"><a href="authentication.js.html">authentication.js</a></td>
|
||||
<td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="2" class="abs high">(2 / 2)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="1" class="abs high">(1 / 1)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="2" class="abs high">(2 / 2)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="challenge.js"><a href="challenge.js.html">challenge.js</a></td>
|
||||
<td data-value="10.71" class="pic low"><span class="cover-fill" style="width: 10px;"></span><span class="cover-empty" style="width:90px;"></span></td>
|
||||
<td data-value="10.71" class="pct low">10.71%</td>
|
||||
<td data-value="196" class="abs low">(21 / 196)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="118" class="abs low">(0 / 118)</td>
|
||||
<td data-value="2.78" class="pct low">2.78%</td>
|
||||
<td data-value="36" class="abs low">(1 / 36)</td>
|
||||
<td data-value="11.05" class="pct low">11.05%</td>
|
||||
<td data-value="190" class="abs low">(21 / 190)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="challengeMap.js"><a href="challengeMap.js.html">challengeMap.js</a></td>
|
||||
<td data-value="32.26" class="pic low"><span class="cover-fill" style="width: 32px;"></span><span class="cover-empty" style="width:68px;"></span></td>
|
||||
<td data-value="32.26" class="pct low">32.26%</td>
|
||||
<td data-value="31" class="abs low">(10 / 31)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="4" class="abs low">(0 / 4)</td>
|
||||
<td data-value="11.11" class="pct low">11.11%</td>
|
||||
<td data-value="9" class="abs low">(1 / 9)</td>
|
||||
<td data-value="33.33" class="pct low">33.33%</td>
|
||||
<td data-value="30" class="abs low">(10 / 30)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file medium" data-value="explorer.js"><a href="explorer.js.html">explorer.js</a></td>
|
||||
<td data-value="56.25" class="pic medium"><span class="cover-fill" style="width: 56px;"></span><span class="cover-empty" style="width:44px;"></span></td>
|
||||
<td data-value="56.25" class="pct medium">56.25%</td>
|
||||
<td data-value="16" class="abs medium">(9 / 16)</td>
|
||||
<td data-value="25" class="pct low">25%</td>
|
||||
<td data-value="4" class="abs low">(1 / 4)</td>
|
||||
<td data-value="33.33" class="pct low">33.33%</td>
|
||||
<td data-value="3" class="abs low">(1 / 3)</td>
|
||||
<td data-value="56.25" class="pct medium">56.25%</td>
|
||||
<td data-value="16" class="abs medium">(9 / 16)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="fieldGuide.js"><a href="fieldGuide.js.html">fieldGuide.js</a></td>
|
||||
<td data-value="24.14" class="pic low"><span class="cover-fill" style="width: 24px;"></span><span class="cover-empty" style="width:76px;"></span></td>
|
||||
<td data-value="24.14" class="pct low">24.14%</td>
|
||||
<td data-value="58" class="abs low">(14 / 58)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="24" class="abs low">(0 / 24)</td>
|
||||
<td data-value="9.09" class="pct low">9.09%</td>
|
||||
<td data-value="11" class="abs low">(1 / 11)</td>
|
||||
<td data-value="25" class="pct low">25%</td>
|
||||
<td data-value="56" class="abs low">(14 / 56)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file medium" data-value="home.js"><a href="home.js.html">home.js</a></td>
|
||||
<td data-value="50" class="pic medium"><span class="cover-fill" style="width: 50px;"></span><span class="cover-empty" style="width:50px;"></span></td>
|
||||
<td data-value="50" class="pct medium">50%</td>
|
||||
<td data-value="14" class="abs medium">(7 / 14)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="6" class="abs low">(0 / 6)</td>
|
||||
<td data-value="33.33" class="pct low">33.33%</td>
|
||||
<td data-value="3" class="abs low">(1 / 3)</td>
|
||||
<td data-value="53.85" class="pct medium">53.85%</td>
|
||||
<td data-value="13" class="abs medium">(7 / 13)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file medium" data-value="jobs.js"><a href="jobs.js.html">jobs.js</a></td>
|
||||
<td data-value="60" class="pic medium"><span class="cover-fill" style="width: 60px;"></span><span class="cover-empty" style="width:40px;"></span></td>
|
||||
<td data-value="60" class="pct medium">60%</td>
|
||||
<td data-value="10" class="abs medium">(6 / 10)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="2" class="abs low">(0 / 2)</td>
|
||||
<td data-value="33.33" class="pct low">33.33%</td>
|
||||
<td data-value="3" class="abs low">(1 / 3)</td>
|
||||
<td data-value="66.67" class="pct medium">66.67%</td>
|
||||
<td data-value="9" class="abs medium">(6 / 9)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="middlewares.js"><a href="middlewares.js.html">middlewares.js</a></td>
|
||||
<td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="nonprofits.js"><a href="nonprofits.js.html">nonprofits.js</a></td>
|
||||
<td data-value="24.24" class="pic low"><span class="cover-fill" style="width: 24px;"></span><span class="cover-empty" style="width:76px;"></span></td>
|
||||
<td data-value="24.24" class="pct low">24.24%</td>
|
||||
<td data-value="33" class="abs low">(8 / 33)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="16" class="abs low">(0 / 16)</td>
|
||||
<td data-value="16.67" class="pct low">16.67%</td>
|
||||
<td data-value="6" class="abs low">(1 / 6)</td>
|
||||
<td data-value="25" class="pct low">25%</td>
|
||||
<td data-value="32" class="abs low">(8 / 32)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="randomAPIs.js"><a href="randomAPIs.js.html">randomAPIs.js</a></td>
|
||||
<td data-value="28.92" class="pic low"><span class="cover-fill" style="width: 28px;"></span><span class="cover-empty" style="width:72px;"></span></td>
|
||||
<td data-value="28.92" class="pct low">28.92%</td>
|
||||
<td data-value="166" class="abs low">(48 / 166)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="60" class="abs low">(0 / 60)</td>
|
||||
<td data-value="2.13" class="pct low">2.13%</td>
|
||||
<td data-value="47" class="abs low">(1 / 47)</td>
|
||||
<td data-value="29.81" class="pct low">29.81%</td>
|
||||
<td data-value="161" class="abs low">(48 / 161)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file medium" data-value="redirects.js"><a href="redirects.js.html">redirects.js</a></td>
|
||||
<td data-value="66.67" class="pic medium"><span class="cover-fill" style="width: 66px;"></span><span class="cover-empty" style="width:34px;"></span></td>
|
||||
<td data-value="66.67" class="pct medium">66.67%</td>
|
||||
<td data-value="9" class="abs medium">(6 / 9)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="25" class="pct low">25%</td>
|
||||
<td data-value="4" class="abs low">(1 / 4)</td>
|
||||
<td data-value="66.67" class="pct medium">66.67%</td>
|
||||
<td data-value="9" class="abs medium">(6 / 9)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="restApi.js"><a href="restApi.js.html">restApi.js</a></td>
|
||||
<td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="3" class="abs high">(3 / 3)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="1" class="abs high">(1 / 1)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="3" class="abs high">(3 / 3)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="story.js"><a href="story.js.html">story.js</a></td>
|
||||
<td data-value="16.28" class="pic low"><span class="cover-fill" style="width: 16px;"></span><span class="cover-empty" style="width:84px;"></span></td>
|
||||
<td data-value="16.28" class="pct low">16.28%</td>
|
||||
<td data-value="215" class="abs low">(35 / 215)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="111" class="abs low">(0 / 111)</td>
|
||||
<td data-value="2.5" class="pct low">2.5%</td>
|
||||
<td data-value="40" class="abs low">(1 / 40)</td>
|
||||
<td data-value="16.43" class="pct low">16.43%</td>
|
||||
<td data-value="213" class="abs low">(35 / 213)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="user.js"><a href="user.js.html">user.js</a></td>
|
||||
<td data-value="14.24" class="pic low"><span class="cover-fill" style="width: 14px;"></span><span class="cover-empty" style="width:86px;"></span></td>
|
||||
<td data-value="14.24" class="pct low">14.24%</td>
|
||||
<td data-value="288" class="abs low">(41 / 288)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="150" class="abs low">(0 / 150)</td>
|
||||
<td data-value="1.64" class="pct low">1.64%</td>
|
||||
<td data-value="61" class="abs low">(1 / 61)</td>
|
||||
<td data-value="15.13" class="pct low">15.13%</td>
|
||||
<td data-value="271" class="abs low">(41 / 271)</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
99
coverage/lcov-report/server/boot/jobs.js.html
Normal file
99
coverage/lcov-report/server/boot/jobs.js.html
Normal file
@@ -0,0 +1,99 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/jobs.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header medium">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/jobs.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">60% <small>(6 / 10)</small></span>
|
||||
Branches: <span class="metric">0% <small>(0 / 2)</small></span>
|
||||
Functions: <span class="metric">33.33% <small>(1 / 3)</small></span>
|
||||
Lines: <span class="metric">66.67% <small>(6 / 9)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » jobs.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">module.exports = function(app) {
|
||||
var Job = app.models.Job;
|
||||
var router = app.loopback.Router();
|
||||
|
||||
router.get('/jobs', jobsDirectory);
|
||||
app.use(router);
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function jobsDirectory(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > Job.find({}, <span class="fstat-no" title="function not covered" >function(err, jobs) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) { <span class="cstat-no" title="statement not covered" >return next(err); </span>}</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > res.render('jobs/directory', {</span>
|
||||
title: 'Junior JavaScript Engineer Jobs',
|
||||
jobs: jobs
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
45
coverage/lcov-report/server/boot/middlewares.js.html
Normal file
45
coverage/lcov-report/server/boot/middlewares.js.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/middlewares.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/middlewares.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Lines: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » middlewares.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1</td><td class="line-coverage"><span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"> </pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
432
coverage/lcov-report/server/boot/nonprofits.js.html
Normal file
432
coverage/lcov-report/server/boot/nonprofits.js.html
Normal file
@@ -0,0 +1,432 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/nonprofits.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header low">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/nonprofits.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">24.24% <small>(8 / 33)</small></span>
|
||||
Branches: <span class="metric">0% <small>(0 / 16)</small></span>
|
||||
Functions: <span class="metric">16.67% <small>(1 / 6)</small></span>
|
||||
Lines: <span class="metric">25% <small>(8 / 32)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » nonprofits.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66
|
||||
67
|
||||
68
|
||||
69
|
||||
70
|
||||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
92
|
||||
93
|
||||
94
|
||||
95
|
||||
96
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
123
|
||||
124
|
||||
125
|
||||
126
|
||||
127
|
||||
128
|
||||
129
|
||||
130</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">module.exports = function(app) {
|
||||
var router = app.loopback.Router();
|
||||
var Nonprofit = app.models.Nonprofit;
|
||||
|
||||
router.get('/nonprofits/directory', nonprofitsDirectory);
|
||||
router.get('/nonprofits/:nonprofitName', returnIndividualNonprofit);
|
||||
|
||||
app.use(router);
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function nonprofitsDirectory(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > Nonprofit.find(</span>
|
||||
{ where: { estimatedHours: { $gt: 0 } } },
|
||||
<span class="fstat-no" title="function not covered" > function(err, nonprofits) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) { <span class="cstat-no" title="statement not covered" >return next(err); </span>}</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > res.render('nonprofits/directory', {</span>
|
||||
title: 'Nonprofits we help',
|
||||
nonprofits: nonprofits
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
<span class="fstat-no" title="function not covered" > function returnIndividualNonprofit(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var dashedName = req.params.nonprofitName;</span>
|
||||
<span class="cstat-no" title="statement not covered" > var nonprofitName = dashedName.replace(/\-/g, ' ');</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > Nonprofit.find(</span>
|
||||
{ where: { name: new RegExp(nonprofitName, 'i') } },
|
||||
<span class="fstat-no" title="function not covered" > function(err, nonprofit) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (err) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return next(err);</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (nonprofit.length < 1) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > req.flash('errors', {</span>
|
||||
msg: "404: We couldn't find a nonprofit with that name. " +
|
||||
'Please double check the name.'
|
||||
});
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return res.redirect('/nonprofits');</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > nonprofit = nonprofit.pop();</span>
|
||||
<span class="cstat-no" title="statement not covered" > var dashedNameFull = nonprofit.name.toLowerCase().replace(/\s/g, '-');</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (dashedNameFull !== dashedName) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return res.redirect('../nonprofit/' + dashedNameFull);</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > var buttonActive = false;</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (req.user) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (req.user.uncompletedBonfires.length === 0) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (req.user.completedCoursewares.length > 63) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var hasShownInterest =</span>
|
||||
nonprofit.interestedCampers.filter(<span class="fstat-no" title="function not covered" >function ( obj ) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return obj.username === req.user.username;</span>
|
||||
});
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (hasShownInterest.length === 0) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > buttonActive = true;</span>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > res.render('nonprofits/show', {</span>
|
||||
dashedName: dashedNameFull,
|
||||
title: nonprofit.name,
|
||||
logoUrl: nonprofit.logoUrl,
|
||||
estimatedHours: nonprofit.estimatedHours,
|
||||
projectDescription: nonprofit.projectDescription,
|
||||
|
||||
approvedOther:
|
||||
nonprofit.approvedDeliverables.indexOf('other') > -1,
|
||||
approvedWebsite:
|
||||
nonprofit.approvedDeliverables.indexOf('website') > -1,
|
||||
|
||||
approvedDonor:
|
||||
nonprofit.approvedDeliverables.indexOf('donor') > -1,
|
||||
approvedInventory:
|
||||
nonprofit.approvedDeliverables.indexOf('inventory') > -1,
|
||||
|
||||
approvedVolunteer:
|
||||
nonprofit.approvedDeliverables.indexOf('volunteer') > -1,
|
||||
approvedForm:
|
||||
nonprofit.approvedDeliverables.indexOf('form') > -1,
|
||||
|
||||
approvedCommunity:
|
||||
nonprofit.approvedDeliverables.indexOf('community') > -1,
|
||||
approvedELearning:
|
||||
nonprofit.approvedDeliverables.indexOf('eLearning') > -1,
|
||||
|
||||
websiteLink: nonprofit.websiteLink,
|
||||
imageUrl: nonprofit.imageUrl,
|
||||
whatDoesNonprofitDo: nonprofit.whatDoesNonprofitDo,
|
||||
interestedCampers: nonprofit.interestedCampers,
|
||||
assignedCampers: nonprofit.assignedCampers,
|
||||
buttonActive: buttonActive,
|
||||
currentStatus: nonprofit.currentStatus
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
function interestedInNonprofit(req, res, next) {
|
||||
if (req.user) {
|
||||
Nonprofit.findOne(
|
||||
{ name: new RegExp(req.params.nonprofitName.replace(/-/, ' '), 'i') },
|
||||
function(err, nonprofit) {
|
||||
if (err) { return next(err); }
|
||||
nonprofit.interestedCampers.push({
|
||||
username: req.user.username,
|
||||
picture: req.user.picture,
|
||||
timeOfInterest: Date.now()
|
||||
});
|
||||
nonprofit.save(function(err) {
|
||||
if (err) { return next(err); }
|
||||
req.flash('success', {
|
||||
msg: 'Thanks for expressing interest in this nonprofit project! ' +
|
||||
"We've added you to this project as an interested camper!"
|
||||
});
|
||||
res.redirect('back');
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
*/
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
1527
coverage/lcov-report/server/boot/randomAPIs.js.html
Normal file
1527
coverage/lcov-report/server/boot/randomAPIs.js.html
Normal file
File diff suppressed because it is too large
Load Diff
111
coverage/lcov-report/server/boot/redirects.js.html
Normal file
111
coverage/lcov-report/server/boot/redirects.js.html
Normal file
@@ -0,0 +1,111 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/redirects.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header medium">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/redirects.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">66.67% <small>(6 / 9)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">25% <small>(1 / 4)</small></span>
|
||||
Lines: <span class="metric">66.67% <small>(6 / 9)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » redirects.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">module.exports = function(app) {
|
||||
var router = app.loopback.Router();
|
||||
|
||||
router.get('/nonprofit-project-instructions', <span class="fstat-no" title="function not covered" >function(req, res) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.redirect(</span>
|
||||
301,
|
||||
'/field-guide/how-do-free-code-camps-nonprofit-projects-work'
|
||||
);
|
||||
});
|
||||
|
||||
router.get('/agile', <span class="fstat-no" title="function not covered" >function(req, res) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.redirect(301, '/pmi-acp-agile-project-managers');</span>
|
||||
});
|
||||
|
||||
router.get('/privacy', <span class="fstat-no" title="function not covered" >function(req, res) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.redirect(</span>
|
||||
301, '/field-guide/what-is-the-free-code-camp-privacy-policy?'
|
||||
);
|
||||
});
|
||||
|
||||
app.use(router);
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
57
coverage/lcov-report/server/boot/restApi.js.html
Normal file
57
coverage/lcov-report/server/boot/restApi.js.html
Normal file
@@ -0,0 +1,57 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/boot/restApi.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">server/boot/restApi.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">100% <small>(3 / 3)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">100% <small>(1 / 1)</small></span>
|
||||
Lines: <span class="metric">100% <small>(3 / 3)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/boot/</a> » restApi.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">module.exports = function mountRestApi(app) {
|
||||
var restApiRoot = app.get('restApiRoot');
|
||||
app.use(restApiRoot, app.loopback.rest());
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
1869
coverage/lcov-report/server/boot/story.js.html
Normal file
1869
coverage/lcov-report/server/boot/story.js.html
Normal file
File diff suppressed because it is too large
Load Diff
2076
coverage/lcov-report/server/boot/user.js.html
Normal file
2076
coverage/lcov-report/server/boot/user.js.html
Normal file
File diff suppressed because it is too large
Load Diff
99
coverage/lcov-report/server/config.development.js.html
Normal file
99
coverage/lcov-report/server/config.development.js.html
Normal file
@@ -0,0 +1,99 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/config.development.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../prettify.css">
|
||||
<link rel="stylesheet" href="../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">server/config.development.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">100% <small>(1 / 1)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Lines: <span class="metric">100% <small>(1 / 1)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../index.html">All files</a> » <a href="index.html">server/</a> » config.development.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">module.exports = {
|
||||
host: '127.0.0.1',
|
||||
sessionSecret: process.env.SESSION_SECRET,
|
||||
|
||||
trello: {
|
||||
key: process.env.TRELLO_KEY,
|
||||
secret: process.env.TRELLO_SECRET
|
||||
},
|
||||
|
||||
blogger: {
|
||||
key: process.env.BLOGGER_KEY
|
||||
},
|
||||
|
||||
github: {
|
||||
clientID: process.env.GITHUB_ID,
|
||||
clientSecret: process.env.GITHUB_SECRET
|
||||
}
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
60
coverage/lcov-report/server/config.local.js.html
Normal file
60
coverage/lcov-report/server/config.local.js.html
Normal file
@@ -0,0 +1,60 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/config.local.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../prettify.css">
|
||||
<link rel="stylesheet" href="../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">server/config.local.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">100% <small>(2 / 2)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Lines: <span class="metric">100% <small>(2 / 2)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../index.html">All files</a> » <a href="index.html">server/</a> » config.local.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var globalConfig = require('../common/config.global');
|
||||
|
||||
module.exports = {
|
||||
restApiRoot: globalConfig.restApi
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
102
coverage/lcov-report/server/datasources.local.js.html
Normal file
102
coverage/lcov-report/server/datasources.local.js.html
Normal file
@@ -0,0 +1,102 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/datasources.local.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../prettify.css">
|
||||
<link rel="stylesheet" href="../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">server/datasources.local.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">100% <small>(2 / 2)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Lines: <span class="metric">100% <small>(2 / 2)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../index.html">All files</a> » <a href="index.html">server/</a> » datasources.local.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var secrets = require('../config/secrets');
|
||||
|
||||
module.exports = {
|
||||
db: {
|
||||
connector: 'mongodb',
|
||||
url: process.env.MONGOHQ_URL
|
||||
},
|
||||
mail: {
|
||||
connector: 'mail',
|
||||
transports: [{
|
||||
type: 'smtp',
|
||||
service: 'Mandrill',
|
||||
auth: {
|
||||
user: secrets.mandrill.user,
|
||||
pass: secrets.mandrill.password
|
||||
}
|
||||
}]
|
||||
}
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
125
coverage/lcov-report/server/index.html
Normal file
125
coverage/lcov-report/server/index.html
Normal file
@@ -0,0 +1,125 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../prettify.css">
|
||||
<link rel="stylesheet" href="../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header medium">
|
||||
<h1>Code coverage report for <span class="entity">server/</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">56.7% <small>(55 / 97)</small></span>
|
||||
Branches: <span class="metric">16.13% <small>(5 / 31)</small></span>
|
||||
Functions: <span class="metric">20% <small>(2 / 10)</small></span>
|
||||
Lines: <span class="metric">56.7% <small>(55 / 97)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../index.html">All files</a> » server/</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="coverage-summary">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file high" data-value="config.development.js"><a href="config.development.js.html">config.development.js</a></td>
|
||||
<td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="1" class="abs high">(1 / 1)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="1" class="abs high">(1 / 1)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="config.local.js"><a href="config.local.js.html">config.local.js</a></td>
|
||||
<td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="2" class="abs high">(2 / 2)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="2" class="abs high">(2 / 2)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="datasources.local.js"><a href="datasources.local.js.html">datasources.local.js</a></td>
|
||||
<td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="2" class="abs high">(2 / 2)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="2" class="abs high">(2 / 2)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file high" data-value="passport-providers.js"><a href="passport-providers.js.html">passport-providers.js</a></td>
|
||||
<td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="3" class="abs high">(3 / 3)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="3" class="abs high">(3 / 3)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file medium" data-value="server.js"><a href="server.js.html">server.js</a></td>
|
||||
<td data-value="52.81" class="pic medium"><span class="cover-fill" style="width: 52px;"></span><span class="cover-empty" style="width:48px;"></span></td>
|
||||
<td data-value="52.81" class="pct medium">52.81%</td>
|
||||
<td data-value="89" class="abs medium">(47 / 89)</td>
|
||||
<td data-value="16.13" class="pct low">16.13%</td>
|
||||
<td data-value="31" class="abs low">(5 / 31)</td>
|
||||
<td data-value="20" class="pct low">20%</td>
|
||||
<td data-value="10" class="abs low">(2 / 10)</td>
|
||||
<td data-value="52.81" class="pct medium">52.81%</td>
|
||||
<td data-value="89" class="abs medium">(47 / 89)</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
414
coverage/lcov-report/server/passport-providers.js.html
Normal file
414
coverage/lcov-report/server/passport-providers.js.html
Normal file
@@ -0,0 +1,414 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/passport-providers.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../prettify.css">
|
||||
<link rel="stylesheet" href="../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">server/passport-providers.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">100% <small>(3 / 3)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Lines: <span class="metric">100% <small>(3 / 3)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../index.html">All files</a> » <a href="index.html">server/</a> » passport-providers.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66
|
||||
67
|
||||
68
|
||||
69
|
||||
70
|
||||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
92
|
||||
93
|
||||
94
|
||||
95
|
||||
96
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
123
|
||||
124</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var successRedirect = '/';
|
||||
var failureRedirect = '/login';
|
||||
module.exports = {
|
||||
local: {
|
||||
provider: 'local',
|
||||
module: 'passport-local',
|
||||
usernameField: 'email',
|
||||
passwordField: 'password',
|
||||
authPath: '/auth/local',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: '/email-signin',
|
||||
session: true,
|
||||
failureFlash: true
|
||||
},
|
||||
'facebook-login': {
|
||||
provider: 'facebook',
|
||||
module: 'passport-facebook',
|
||||
clientID: process.env.FACEBOOK_ID,
|
||||
clientSecret: process.env.FACEBOOK_SECRET,
|
||||
authPath: '/auth/facebook',
|
||||
callbackURL: '/auth/facebook/callback',
|
||||
callbackPath: '/auth/facebook/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
scope: ['email'],
|
||||
failureFlash: true
|
||||
},
|
||||
'facebook-link': {
|
||||
provider: 'facebook',
|
||||
module: 'passport-facebook',
|
||||
clientID: process.env.FACEBOOK_ID,
|
||||
clientSecret: process.env.FACEBOOK_SECRET,
|
||||
authPath: '/link/facebook',
|
||||
callbackURL: '/link/facebook/callback',
|
||||
callbackPath: '/link/facebook/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
scope: ['email', 'user_likes'],
|
||||
link: true,
|
||||
failureFlash: true
|
||||
},
|
||||
'google-login': {
|
||||
provider: 'google',
|
||||
module: 'passport-google-oauth2',
|
||||
clientID: process.env.GOOGLE_ID,
|
||||
clientSecret: process.env.GOOGLE_SECRET,
|
||||
authPath: '/auth/google',
|
||||
callbackURL: '/auth/google/callback',
|
||||
callbackPath: '/auth/google/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
scope: ['email', 'profile'],
|
||||
failureFlash: true
|
||||
},
|
||||
'google-link': {
|
||||
provider: 'google',
|
||||
module: 'passport-google-oauth2',
|
||||
clientID: process.env.GOOGLE_ID,
|
||||
clientSecret: process.env.GOOGLE_SECRET,
|
||||
authPath: '/link/google',
|
||||
callbackURL: '/link/google/callback',
|
||||
callbackPath: '/link/google/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
scope: ['email', 'profile'],
|
||||
link: true,
|
||||
failureFlash: true
|
||||
},
|
||||
'twitter-login': {
|
||||
provider: 'twitter',
|
||||
authScheme: 'oauth',
|
||||
module: 'passport-twitter',
|
||||
authPath: '/auth/twitter',
|
||||
callbackURL: '/auth/twitter/callback',
|
||||
callbackPath: '/auth/twitter/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
consumerKey: process.env.TWITTER_KEY,
|
||||
consumerSecret: process.env.TWITTER_SECRET,
|
||||
failureFlash: true
|
||||
},
|
||||
'twitter-link': {
|
||||
provider: 'twitter',
|
||||
authScheme: 'oauth',
|
||||
module: 'passport-twitter',
|
||||
authPath: '/link/twitter',
|
||||
callbackURL: '/link/twitter/callback',
|
||||
callbackPath: '/link/twitter/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
consumerKey: process.env.TWITTER_KEY,
|
||||
consumerSecret: process.env.TWITTER_SECRET,
|
||||
failureFlash: true
|
||||
},
|
||||
'linkedin-login': {
|
||||
provider: 'linkedin',
|
||||
authScheme: 'oauth',
|
||||
module: 'passport-linkedin-oauth2',
|
||||
authPath: '/auth/linkedin',
|
||||
callbackURL: '/auth/linkedin/callback',
|
||||
callbackPath: '/auth/linkedin/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
clientID: process.env.LINKEDIN_ID,
|
||||
clientSecret: process.env.LINKEDIN_SECRET,
|
||||
scope: ['r_fullprofile', 'r_emailaddress'],
|
||||
failureFlash: true
|
||||
},
|
||||
'linkedin-link': {
|
||||
provider: 'linkedin',
|
||||
authScheme: 'oauth',
|
||||
module: 'passport-linkedin-oauth2',
|
||||
authPath: '/link/linkedin',
|
||||
callbackURL: '/link/linkedin/callback',
|
||||
callbackPath: '/link/linkedin/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
clientID: process.env.LINKEDIN_ID,
|
||||
clientSecret: process.env.LINKEDIN_SECRET,
|
||||
scope: ['r_fullprofile', 'r_emailaddress'],
|
||||
failureFlash: true
|
||||
}
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
951
coverage/lcov-report/server/server.js.html
Normal file
951
coverage/lcov-report/server/server.js.html
Normal file
@@ -0,0 +1,951 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/server.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../prettify.css">
|
||||
<link rel="stylesheet" href="../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header medium">
|
||||
<h1>Code coverage report for <span class="entity">server/server.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">52.81% <small>(47 / 89)</small></span>
|
||||
Branches: <span class="metric">16.13% <small>(5 / 31)</small></span>
|
||||
Functions: <span class="metric">20% <small>(2 / 10)</small></span>
|
||||
Lines: <span class="metric">52.81% <small>(47 / 89)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../index.html">All files</a> » <a href="index.html">server/</a> » server.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66
|
||||
67
|
||||
68
|
||||
69
|
||||
70
|
||||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
92
|
||||
93
|
||||
94
|
||||
95
|
||||
96
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
123
|
||||
124
|
||||
125
|
||||
126
|
||||
127
|
||||
128
|
||||
129
|
||||
130
|
||||
131
|
||||
132
|
||||
133
|
||||
134
|
||||
135
|
||||
136
|
||||
137
|
||||
138
|
||||
139
|
||||
140
|
||||
141
|
||||
142
|
||||
143
|
||||
144
|
||||
145
|
||||
146
|
||||
147
|
||||
148
|
||||
149
|
||||
150
|
||||
151
|
||||
152
|
||||
153
|
||||
154
|
||||
155
|
||||
156
|
||||
157
|
||||
158
|
||||
159
|
||||
160
|
||||
161
|
||||
162
|
||||
163
|
||||
164
|
||||
165
|
||||
166
|
||||
167
|
||||
168
|
||||
169
|
||||
170
|
||||
171
|
||||
172
|
||||
173
|
||||
174
|
||||
175
|
||||
176
|
||||
177
|
||||
178
|
||||
179
|
||||
180
|
||||
181
|
||||
182
|
||||
183
|
||||
184
|
||||
185
|
||||
186
|
||||
187
|
||||
188
|
||||
189
|
||||
190
|
||||
191
|
||||
192
|
||||
193
|
||||
194
|
||||
195
|
||||
196
|
||||
197
|
||||
198
|
||||
199
|
||||
200
|
||||
201
|
||||
202
|
||||
203
|
||||
204
|
||||
205
|
||||
206
|
||||
207
|
||||
208
|
||||
209
|
||||
210
|
||||
211
|
||||
212
|
||||
213
|
||||
214
|
||||
215
|
||||
216
|
||||
217
|
||||
218
|
||||
219
|
||||
220
|
||||
221
|
||||
222
|
||||
223
|
||||
224
|
||||
225
|
||||
226
|
||||
227
|
||||
228
|
||||
229
|
||||
230
|
||||
231
|
||||
232
|
||||
233
|
||||
234
|
||||
235
|
||||
236
|
||||
237
|
||||
238
|
||||
239
|
||||
240
|
||||
241
|
||||
242
|
||||
243
|
||||
244
|
||||
245
|
||||
246
|
||||
247
|
||||
248
|
||||
249
|
||||
250
|
||||
251
|
||||
252
|
||||
253
|
||||
254
|
||||
255
|
||||
256
|
||||
257
|
||||
258
|
||||
259
|
||||
260
|
||||
261
|
||||
262
|
||||
263
|
||||
264
|
||||
265
|
||||
266
|
||||
267
|
||||
268
|
||||
269
|
||||
270
|
||||
271
|
||||
272
|
||||
273
|
||||
274
|
||||
275
|
||||
276
|
||||
277
|
||||
278
|
||||
279
|
||||
280
|
||||
281
|
||||
282
|
||||
283
|
||||
284
|
||||
285
|
||||
286
|
||||
287
|
||||
288
|
||||
289
|
||||
290
|
||||
291
|
||||
292
|
||||
293
|
||||
294
|
||||
295
|
||||
296
|
||||
297
|
||||
298
|
||||
299
|
||||
300
|
||||
301
|
||||
302
|
||||
303</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">require('dotenv').load();
|
||||
// handle uncaught exceptions. Forever will restart process on shutdown
|
||||
process.on('uncaughtException', function (err) {
|
||||
console.error(
|
||||
(new Date()).toUTCString() + ' uncaughtException:',
|
||||
err.message
|
||||
);
|
||||
console.error(err.stack);
|
||||
process.exit(1); // eslint-disable-line
|
||||
});
|
||||
|
||||
var R = require('ramda'),
|
||||
assign = require('lodash').assign,
|
||||
loopback = require('loopback'),
|
||||
boot = require('loopback-boot'),
|
||||
accepts = require('accepts'),
|
||||
cookieParser = require('cookie-parser'),
|
||||
compress = require('compression'),
|
||||
session = require('express-session'),
|
||||
logger = require('morgan'),
|
||||
errorHandler = require('errorhandler'),
|
||||
methodOverride = require('method-override'),
|
||||
bodyParser = require('body-parser'),
|
||||
helmet = require('helmet'),
|
||||
MongoStore = require('connect-mongo')(session),
|
||||
flash = require('express-flash'),
|
||||
path = require('path'),
|
||||
expressValidator = require('express-validator'),
|
||||
forceDomain = require('forcedomain'),
|
||||
lessMiddleware = require('less-middleware'),
|
||||
|
||||
passportProviders = require('./passport-providers'),
|
||||
/**
|
||||
* API keys and Passport configuration.
|
||||
*/
|
||||
secrets = require('./../config/secrets');
|
||||
|
||||
var generateKey =
|
||||
require('loopback-component-passport/lib/models/utils').generateKey;
|
||||
/**
|
||||
* Create Express server.
|
||||
*/
|
||||
var app = loopback();
|
||||
var PassportConfigurator =
|
||||
require('loopback-component-passport').PassportConfigurator;
|
||||
var passportConfigurator = new PassportConfigurator(app);
|
||||
|
||||
app.set('port', process.env.PORT || 3000);
|
||||
app.set('views', path.join(__dirname, 'views'));
|
||||
app.set('view engine', 'jade');
|
||||
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (process.env.NODE_ENV === 'production') {
|
||||
<span class="cstat-no" title="statement not covered" > app.use(forceDomain({</span>
|
||||
hostname: 'www.freecodecamp.com'
|
||||
}));
|
||||
}
|
||||
|
||||
app.use(compress());
|
||||
app.use(lessMiddleware(path.join(__dirname, '/public')));
|
||||
app.use(logger('dev'));
|
||||
app.use(bodyParser.json());
|
||||
app.use(bodyParser.urlencoded({ extended: true }));
|
||||
app.use(expressValidator({
|
||||
customValidators: {
|
||||
matchRegex: <span class="fstat-no" title="function not covered" >function (param, regex) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return regex.test(param);</span>
|
||||
}
|
||||
}
|
||||
}));
|
||||
app.use(methodOverride());
|
||||
app.use(cookieParser(secrets.cookieSecret));
|
||||
app.use(session({
|
||||
resave: true,
|
||||
saveUninitialized: true,
|
||||
secret: secrets.sessionSecret,
|
||||
store: new MongoStore({
|
||||
url: secrets.db,
|
||||
'autoReconnect': true
|
||||
})
|
||||
}));
|
||||
|
||||
app.use(flash());
|
||||
app.disable('x-powered-by');
|
||||
|
||||
app.use(helmet.xssFilter());
|
||||
app.use(helmet.noSniff());
|
||||
app.use(helmet.frameguard());
|
||||
app.use(<span class="fstat-no" title="function not covered" >function(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.header('Access-Control-Allow-Origin', '*');</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.header('Access-Control-Allow-Headers',</span>
|
||||
'Origin, X-Requested-With, Content-Type, Accept'
|
||||
);
|
||||
<span class="cstat-no" title="statement not covered" > next();</span>
|
||||
});
|
||||
|
||||
var trusted = [
|
||||
"'self'",
|
||||
'blob:',
|
||||
'*.freecodecamp.com',
|
||||
'http://www.freecodecamp.com',
|
||||
'ws://freecodecamp.com/',
|
||||
'ws://www.freecodecamp.com/',
|
||||
'*.gstatic.com',
|
||||
'*.google-analytics.com',
|
||||
'*.googleapis.com',
|
||||
'*.google.com',
|
||||
'*.gstatic.com',
|
||||
'*.doubleclick.net',
|
||||
'*.twitter.com',
|
||||
'*.twitch.tv',
|
||||
'*.twimg.com',
|
||||
"'unsafe-eval'",
|
||||
"'unsafe-inline'",
|
||||
'*.bootstrapcdn.com',
|
||||
'*.cloudflare.com',
|
||||
'https://*.cloudflare.com',
|
||||
'localhost:3001',
|
||||
'ws://localhost:3001/',
|
||||
'http://localhost:3001',
|
||||
'localhost:3000',
|
||||
'ws://localhost:3000/',
|
||||
'http://localhost:3000',
|
||||
'*.ionicframework.com',
|
||||
'https://syndication.twitter.com',
|
||||
'*.youtube.com',
|
||||
'*.jsdelivr.net',
|
||||
'https://*.jsdelivr.net',
|
||||
'*.ytimg.com',
|
||||
'*.bitly.com',
|
||||
'http://cdn.inspectlet.com/',
|
||||
'wss://inspectletws.herokuapp.com/',
|
||||
'http://hn.inspectlet.com/'
|
||||
];
|
||||
|
||||
app.use(helmet.csp({
|
||||
defaultSrc: trusted,
|
||||
scriptSrc: [
|
||||
'*.optimizely.com',
|
||||
'*.aspnetcdn.com',
|
||||
'*.d3js.org'
|
||||
].concat(trusted),
|
||||
'connect-src': [
|
||||
].concat(trusted),
|
||||
styleSrc: trusted,
|
||||
imgSrc: [
|
||||
/* allow all input since we have user submitted images for public profile*/
|
||||
'*'
|
||||
].concat(trusted),
|
||||
fontSrc: ['*.googleapis.com'].concat(trusted),
|
||||
mediaSrc: [
|
||||
'*.amazonaws.com',
|
||||
'*.twitter.com'
|
||||
].concat(trusted),
|
||||
frameSrc: [
|
||||
|
||||
'*.gitter.im',
|
||||
'*.gitter.im https:',
|
||||
'*.vimeo.com',
|
||||
'*.twitter.com',
|
||||
'*.ghbtns.com'
|
||||
].concat(trusted),
|
||||
// set to true if you only want to report errors
|
||||
reportOnly: false,
|
||||
// set to true if you want to set all headers
|
||||
setAllHeaders: false,
|
||||
// set to true if you want to force buggy CSP in Safari 5
|
||||
safari5: false
|
||||
}));
|
||||
|
||||
passportConfigurator.init();
|
||||
|
||||
app.use(<span class="fstat-no" title="function not covered" >function (req, res, next) {</span>
|
||||
// Make user object available in templates.
|
||||
<span class="cstat-no" title="statement not covered" > res.locals.user = req.user;</span>
|
||||
<span class="cstat-no" title="statement not covered" > next();</span>
|
||||
});
|
||||
|
||||
app.use(
|
||||
loopback.static(path.join(__dirname, '../public'), { maxAge: 86400000 })
|
||||
);
|
||||
|
||||
boot(app, {
|
||||
appRootDir: __dirname,
|
||||
dev: process.env.NODE_ENV
|
||||
});
|
||||
|
||||
app.use(<span class="fstat-no" title="function not covered" >function (req, res, next) {</span>
|
||||
// Remember original destination before login.
|
||||
<span class="cstat-no" title="statement not covered" > var path = req.path.split('/')[1];</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (/auth|login|logout|signin|signup|fonts|favicon/i.test(path)) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return next();</span>
|
||||
} else <span class="cstat-no" title="statement not covered" >if (/\/stories\/comments\/\w+/i.test(req.path)) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return next();</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > req.session.returnTo = req.path;</span>
|
||||
<span class="cstat-no" title="statement not covered" > next();</span>
|
||||
});
|
||||
|
||||
passportConfigurator.setupModels({
|
||||
userModel: app.models.user,
|
||||
userIdentityModel: app.models.userIdentity,
|
||||
userCredentialModel: app.models.userCredential
|
||||
});
|
||||
|
||||
var passportOptions = {
|
||||
emailOptional: true,
|
||||
profileToUser: <span class="fstat-no" title="function not covered" >function(provider, profile) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var emails = profile.emails;</span>
|
||||
// NOTE(berks): get email or set to null.
|
||||
// MongoDB indexs email but can be sparse(blank)
|
||||
<span class="cstat-no" title="statement not covered" > var email = emails && emails[0] && emails[0].value ?</span>
|
||||
emails[0].value :
|
||||
null;
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var username = (profile.username || profile.id);</span>
|
||||
<span class="cstat-no" title="statement not covered" > username = typeof username === 'string' ? username.toLowerCase() : username;</span>
|
||||
<span class="cstat-no" title="statement not covered" > var password = generateKey('password');</span>
|
||||
<span class="cstat-no" title="statement not covered" > var userObj = {</span>
|
||||
username: username,
|
||||
password: password
|
||||
};
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (email) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > userObj.email = email;</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > return userObj;</span>
|
||||
}
|
||||
};
|
||||
|
||||
R.keys(passportProviders).map(function(strategy) {
|
||||
var config = passportProviders[strategy];
|
||||
config.session = config.session !== false;
|
||||
passportConfigurator.configureProvider(
|
||||
strategy,
|
||||
assign(config, passportOptions)
|
||||
);
|
||||
});
|
||||
|
||||
/**
|
||||
* OAuth sign-in routes.
|
||||
*/
|
||||
|
||||
/**
|
||||
* 500 Error Handler.
|
||||
*/
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (process.env.NODE_ENV === 'development') {
|
||||
<span class="cstat-no" title="statement not covered" > app.use(errorHandler({ log: true }));</span>
|
||||
} else {
|
||||
// error handling in production disabling eslint due to express parity rules
|
||||
// for error handlers
|
||||
app.use(<span class="fstat-no" title="function not covered" >function(err, req, res, next) {</span> // eslint-disable-line
|
||||
|
||||
// respect err.status
|
||||
<span class="cstat-no" title="statement not covered" > if (err.status) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.statusCode = err.status;</span>
|
||||
}
|
||||
|
||||
// default status code to 500
|
||||
<span class="cstat-no" title="statement not covered" > if (res.statusCode < 400) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.statusCode = 500;</span>
|
||||
}
|
||||
|
||||
// parse res type
|
||||
<span class="cstat-no" title="statement not covered" > var accept = accepts(req);</span>
|
||||
<span class="cstat-no" title="statement not covered" > var type = accept.type('html', 'json', 'text');</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var message = 'opps! Something went wrong. Please try again later';</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (type === 'html') {</span>
|
||||
<span class="cstat-no" title="statement not covered" > req.flash('errors', { msg: message });</span>
|
||||
<span class="cstat-no" title="statement not covered" > return res.redirect('/');</span>
|
||||
// json
|
||||
} else <span class="cstat-no" title="statement not covered" >if (type === 'json') {</span>
|
||||
<span class="cstat-no" title="statement not covered" > res.setHeader('Content-Type', 'application/json');</span>
|
||||
<span class="cstat-no" title="statement not covered" > return res.send({ message: message });</span>
|
||||
// plain text
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > res.setHeader('Content-Type', 'text/plain');</span>
|
||||
<span class="cstat-no" title="statement not covered" > return res.send(message);</span>
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Start Express server.
|
||||
*/
|
||||
|
||||
app.start = <span class="fstat-no" title="function not covered" >function() {</span>
|
||||
<span class="cstat-no" title="statement not covered" > app.listen(app.get('port'), <span class="fstat-no" title="function not covered" >function () {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > console.log(</span>
|
||||
'FreeCodeCamp server listening on port %d in %s mode',
|
||||
app.get('port'),
|
||||
app.get('env')
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
// start the server if `$ node server.js`
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (require.main === module) {
|
||||
<span class="cstat-no" title="statement not covered" > app.start();</span>
|
||||
}
|
||||
|
||||
module.exports = app;
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
162
coverage/lcov-report/server/utils/constants.js.html
Normal file
162
coverage/lcov-report/server/utils/constants.js.html
Normal file
@@ -0,0 +1,162 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/utils/constants.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">server/utils/constants.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">100% <small>(1 / 1)</small></span>
|
||||
Branches: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Functions: <span class="metric">100% <small>(0 / 0)</small></span>
|
||||
Lines: <span class="metric">100% <small>(1 / 1)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/utils/</a> » constants.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">exports.blacklistedUsernames = [
|
||||
'bonfire',
|
||||
'account',
|
||||
'user',
|
||||
'challenge',
|
||||
'challenges',
|
||||
'completed-challenge',
|
||||
'completed-zipline-or-basejump',
|
||||
'completed-bonfire',
|
||||
'map',
|
||||
'learn-to-code',
|
||||
'about',
|
||||
'api',
|
||||
'explorer',
|
||||
'field-guide',
|
||||
'completed-field-guide',
|
||||
'jobs',
|
||||
'nonprofits',
|
||||
'api',
|
||||
'sitemap.xml',
|
||||
'get-help',
|
||||
'chat',
|
||||
'twitch',
|
||||
'get-pai',
|
||||
'get-help',
|
||||
'nonprofits',
|
||||
'nonproifts-form',
|
||||
'jobs-form',
|
||||
'unsubscribe',
|
||||
'unsubscribed',
|
||||
'cats.json',
|
||||
'agile',
|
||||
'privacy',
|
||||
'stories',
|
||||
'signin',
|
||||
'signout',
|
||||
'forgot',
|
||||
'reset'
|
||||
];
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
99
coverage/lcov-report/server/utils/index.html
Normal file
99
coverage/lcov-report/server/utils/index.html
Normal file
@@ -0,0 +1,99 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/utils/</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header low">
|
||||
<h1>Code coverage report for <span class="entity">server/utils/</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">35.11% <small>(33 / 94)</small></span>
|
||||
Branches: <span class="metric">9.38% <small>(3 / 32)</small></span>
|
||||
Functions: <span class="metric">30.3% <small>(10 / 33)</small></span>
|
||||
Lines: <span class="metric">35.11% <small>(33 / 94)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » server/utils/</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="coverage-summary">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file high" data-value="constants.js"><a href="constants.js.html">constants.js</a></td>
|
||||
<td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="1" class="abs high">(1 / 1)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="0" class="abs high">(0 / 0)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="1" class="abs high">(1 / 1)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="index.js"><a href="index.js.html">index.js</a></td>
|
||||
<td data-value="35.29" class="pic low"><span class="cover-fill" style="width: 35px;"></span><span class="cover-empty" style="width:65px;"></span></td>
|
||||
<td data-value="35.29" class="pct low">35.29%</td>
|
||||
<td data-value="85" class="abs low">(30 / 85)</td>
|
||||
<td data-value="10.71" class="pct low">10.71%</td>
|
||||
<td data-value="28" class="abs low">(3 / 28)</td>
|
||||
<td data-value="33.33" class="pct low">33.33%</td>
|
||||
<td data-value="30" class="abs low">(10 / 30)</td>
|
||||
<td data-value="35.29" class="pct low">35.29%</td>
|
||||
<td data-value="85" class="abs low">(30 / 85)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="file low" data-value="middleware.js"><a href="middleware.js.html">middleware.js</a></td>
|
||||
<td data-value="25" class="pic low"><span class="cover-fill" style="width: 25px;"></span><span class="cover-empty" style="width:75px;"></span></td>
|
||||
<td data-value="25" class="pct low">25%</td>
|
||||
<td data-value="8" class="abs low">(2 / 8)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="4" class="abs low">(0 / 4)</td>
|
||||
<td data-value="0" class="pct low">0%</td>
|
||||
<td data-value="3" class="abs low">(0 / 3)</td>
|
||||
<td data-value="25" class="pct low">25%</td>
|
||||
<td data-value="8" class="abs low">(2 / 8)</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
693
coverage/lcov-report/server/utils/index.js.html
Normal file
693
coverage/lcov-report/server/utils/index.js.html
Normal file
@@ -0,0 +1,693 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/utils/index.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header low">
|
||||
<h1>Code coverage report for <span class="entity">server/utils/index.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">35.29% <small>(30 / 85)</small></span>
|
||||
Branches: <span class="metric">10.71% <small>(3 / 28)</small></span>
|
||||
Functions: <span class="metric">33.33% <small>(10 / 30)</small></span>
|
||||
Lines: <span class="metric">35.29% <small>(30 / 85)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/utils/</a> » index.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66
|
||||
67
|
||||
68
|
||||
69
|
||||
70
|
||||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
92
|
||||
93
|
||||
94
|
||||
95
|
||||
96
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
123
|
||||
124
|
||||
125
|
||||
126
|
||||
127
|
||||
128
|
||||
129
|
||||
130
|
||||
131
|
||||
132
|
||||
133
|
||||
134
|
||||
135
|
||||
136
|
||||
137
|
||||
138
|
||||
139
|
||||
140
|
||||
141
|
||||
142
|
||||
143
|
||||
144
|
||||
145
|
||||
146
|
||||
147
|
||||
148
|
||||
149
|
||||
150
|
||||
151
|
||||
152
|
||||
153
|
||||
154
|
||||
155
|
||||
156
|
||||
157
|
||||
158
|
||||
159
|
||||
160
|
||||
161
|
||||
162
|
||||
163
|
||||
164
|
||||
165
|
||||
166
|
||||
167
|
||||
168
|
||||
169
|
||||
170
|
||||
171
|
||||
172
|
||||
173
|
||||
174
|
||||
175
|
||||
176
|
||||
177
|
||||
178
|
||||
179
|
||||
180
|
||||
181
|
||||
182
|
||||
183
|
||||
184
|
||||
185
|
||||
186
|
||||
187
|
||||
188
|
||||
189
|
||||
190
|
||||
191
|
||||
192
|
||||
193
|
||||
194
|
||||
195
|
||||
196
|
||||
197
|
||||
198
|
||||
199
|
||||
200
|
||||
201
|
||||
202
|
||||
203
|
||||
204
|
||||
205
|
||||
206
|
||||
207
|
||||
208
|
||||
209
|
||||
210
|
||||
211
|
||||
212
|
||||
213
|
||||
214
|
||||
215
|
||||
216
|
||||
217</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">14</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">39</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">14</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">14</span>
|
||||
<span class="cline-any cline-yes">175</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">14</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">14</span>
|
||||
<span class="cline-any cline-yes">175</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">14</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var path = require('path'),
|
||||
// debug = require('debug')('freecc:cntr:resources'),
|
||||
cheerio = require('cheerio'),
|
||||
request = require('request'),
|
||||
R = require('ramda'),
|
||||
_ = require('lodash'),
|
||||
fs = require('fs'),
|
||||
|
||||
|
||||
resources = require('./resources.json'),
|
||||
nonprofits = require('../../seed/nonprofits.json'),
|
||||
fieldGuides = require('../../seed/field-guides.json');
|
||||
|
||||
/**
|
||||
* Cached values
|
||||
*/
|
||||
var allFieldGuideIds, allFieldGuideNames, allNonprofitNames,
|
||||
challengeMap, challengeMapForDisplay, challengeMapWithIds,
|
||||
challengeMapWithNames, allChallengeIds, allChallenges;
|
||||
|
||||
/**
|
||||
* GET /
|
||||
* Resources.
|
||||
*/
|
||||
|
||||
Array.zip = <span class="fstat-no" title="function not covered" >function(left, right, combinerFunction) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var counter,</span>
|
||||
results = [];
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > for (counter = 0; counter < Math.min(left.length, right.length); counter++) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > results.push(combinerFunction(left[counter], right[counter]));</span>
|
||||
}
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > return results;</span>
|
||||
};
|
||||
|
||||
(function() {
|
||||
<span class="missing-if-branch" title="else path not taken" >E</span>if (!challengeMap) {
|
||||
var localChallengeMap = {};
|
||||
var files = fs.readdirSync(
|
||||
path.join(__dirname, '../../seed/challenges')
|
||||
);
|
||||
var keyCounter = 0;
|
||||
files = files.map(function (file) {
|
||||
return require(
|
||||
path.join(__dirname, '../../seed/challenges/' + file)
|
||||
);
|
||||
});
|
||||
files = files.sort(function (a, b) {
|
||||
return a.order - b.order;
|
||||
});
|
||||
files.forEach(function (file) {
|
||||
localChallengeMap[keyCounter++] = file;
|
||||
});
|
||||
challengeMap = _.cloneDeep(localChallengeMap);
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
module.exports = {
|
||||
getChallengeMapForDisplay: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (!challengeMapForDisplay) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > challengeMapForDisplay = {};</span>
|
||||
<span class="cstat-no" title="statement not covered" > Object.keys(challengeMap).forEach(<span class="fstat-no" title="function not covered" >function (key) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > challengeMapForDisplay[key] = {</span>
|
||||
name: challengeMap[key].name,
|
||||
dashedName: challengeMap[key].name.replace(/\s/g, '-'),
|
||||
challenges: challengeMap[key].challenges,
|
||||
completedCount: challengeMap[key].challenges
|
||||
};
|
||||
});
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > return challengeMapForDisplay;</span>
|
||||
},
|
||||
|
||||
getChallengeMapWithIds: function () {
|
||||
<span class="missing-if-branch" title="else path not taken" >E</span>if (!challengeMapWithIds) {
|
||||
challengeMapWithIds = {};
|
||||
Object.keys(challengeMap).forEach(function (key) {
|
||||
var onlyIds = challengeMap[key].challenges.map(function (elem) {
|
||||
return elem.id;
|
||||
});
|
||||
challengeMapWithIds[key] = onlyIds;
|
||||
});
|
||||
}
|
||||
return challengeMapWithIds;
|
||||
},
|
||||
|
||||
allChallengeIds: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > if (!allChallengeIds) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > allChallengeIds = [];</span>
|
||||
<span class="cstat-no" title="statement not covered" > Object.keys(this.getChallengeMapWithIds()).forEach(<span class="fstat-no" title="function not covered" >function (key) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > allChallengeIds.push(challengeMapWithIds[key]);</span>
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > allChallengeIds = R.flatten(allChallengeIds);</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > return allChallengeIds;</span>
|
||||
},
|
||||
|
||||
allChallenges: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (!allChallenges) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > allChallenges = [];</span>
|
||||
<span class="cstat-no" title="statement not covered" > Object.keys(this.getChallengeMapWithNames()).forEach(<span class="fstat-no" title="function not covered" >function (key) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > allChallenges.push(challengeMap[key].challenges);</span>
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > allChallenges = R.flatten(allChallenges);</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > return allChallenges;</span>
|
||||
},
|
||||
|
||||
getChallengeMapWithNames: function () {
|
||||
<span class="missing-if-branch" title="else path not taken" >E</span>if (!challengeMapWithNames) {
|
||||
challengeMapWithNames = {};
|
||||
Object.keys(challengeMap).
|
||||
forEach(function (key) {
|
||||
var onlyNames = challengeMap[key].challenges.map(function (elem) {
|
||||
return elem.name;
|
||||
});
|
||||
challengeMapWithNames[key] = onlyNames;
|
||||
});
|
||||
}
|
||||
return challengeMapWithNames;
|
||||
},
|
||||
|
||||
|
||||
randomPhrase: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return resources.phrases[</span>
|
||||
Math.floor(Math.random() * resources.phrases.length)
|
||||
];
|
||||
},
|
||||
|
||||
randomVerb: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return resources.verbs[</span>
|
||||
Math.floor(Math.random() * resources.verbs.length)
|
||||
];
|
||||
},
|
||||
|
||||
randomCompliment: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return resources.compliments[</span>
|
||||
Math.floor(Math.random() * resources.compliments.length)
|
||||
];
|
||||
},
|
||||
|
||||
allFieldGuideIds: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (allFieldGuideIds) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return allFieldGuideIds;</span>
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > allFieldGuideIds = fieldGuides.map(<span class="fstat-no" title="function not covered" >function (elem) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > return elem.id;</span>
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > return allFieldGuideIds;</span>
|
||||
}
|
||||
},
|
||||
|
||||
allFieldGuideNamesAndIds: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (allFieldGuideNames) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return allFieldGuideNames;</span>
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > allFieldGuideNames = fieldGuides.map(<span class="fstat-no" title="function not covered" >function (elem) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > return {</span>
|
||||
name: elem.name,
|
||||
dashedName: elem.dashedName,
|
||||
id: elem.id
|
||||
};
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > return allFieldGuideNames;</span>
|
||||
}
|
||||
},
|
||||
|
||||
allNonprofitNames: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (allNonprofitNames) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return allNonprofitNames;</span>
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > allNonprofitNames = nonprofits.map(<span class="fstat-no" title="function not covered" >function (elem) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > return {name: elem.name};</span>
|
||||
});
|
||||
<span class="cstat-no" title="statement not covered" > return allNonprofitNames;</span>
|
||||
}
|
||||
},
|
||||
|
||||
whichEnvironment: <span class="fstat-no" title="function not covered" >function () {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return process.env.NODE_ENV;</span>
|
||||
},
|
||||
|
||||
getURLTitle: <span class="fstat-no" title="function not covered" >function (url, callback) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > (<span class="fstat-no" title="function not covered" >function () {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > var result = {title: '', image: '', url: '', description: ''};</span>
|
||||
<span class="cstat-no" title="statement not covered" > request(url, <span class="fstat-no" title="function not covered" >function (error, response, body) {</span></span>
|
||||
<span class="cstat-no" title="statement not covered" > if (!error && response.statusCode === 200) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > var $ = cheerio.load(body);</span>
|
||||
<span class="cstat-no" title="statement not covered" > var metaDescription = $("meta[name='description']");</span>
|
||||
<span class="cstat-no" title="statement not covered" > var metaImage = $("meta[property='og:image']");</span>
|
||||
<span class="cstat-no" title="statement not covered" > var urlImage = metaImage.attr('content') ?</span>
|
||||
metaImage.attr('content') :
|
||||
'';
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > var metaTitle = $('title');</span>
|
||||
<span class="cstat-no" title="statement not covered" > var description = metaDescription.attr('content') ?</span>
|
||||
metaDescription.attr('content') :
|
||||
'';
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > result.title = metaTitle.text().length < 90 ?</span>
|
||||
metaTitle.text() :
|
||||
metaTitle.text().slice(0, 87) + '...';
|
||||
|
||||
<span class="cstat-no" title="statement not covered" > result.image = urlImage;</span>
|
||||
<span class="cstat-no" title="statement not covered" > result.description = description;</span>
|
||||
<span class="cstat-no" title="statement not covered" > callback(null, result);</span>
|
||||
} else {
|
||||
<span class="cstat-no" title="statement not covered" > callback(new Error('failed'));</span>
|
||||
}
|
||||
});
|
||||
})();
|
||||
}
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
150
coverage/lcov-report/server/utils/middleware.js.html
Normal file
150
coverage/lcov-report/server/utils/middleware.js.html
Normal file
@@ -0,0 +1,150 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for server/utils/middleware.js</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="../../prettify.css">
|
||||
<link rel="stylesheet" href="../../base.css">
|
||||
<style type='text/css'>
|
||||
div.coverage-summary .sorter {
|
||||
background-image: url(../../sort-arrow-sprite.png);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header low">
|
||||
<h1>Code coverage report for <span class="entity">server/utils/middleware.js</span></h1>
|
||||
<h2>
|
||||
Statements: <span class="metric">25% <small>(2 / 8)</small></span>
|
||||
Branches: <span class="metric">0% <small>(0 / 4)</small></span>
|
||||
Functions: <span class="metric">0% <small>(0 / 3)</small></span>
|
||||
Lines: <span class="metric">25% <small>(2 / 8)</small></span>
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../../index.html">All files</a> » <a href="index.html">server/utils/</a> » middleware.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var R = require('ramda');
|
||||
|
||||
/*
|
||||
* Middleware to migrate users from fragmented challenge structure to unified
|
||||
* challenge structure
|
||||
*
|
||||
* @param req
|
||||
* @param res
|
||||
* @returns null
|
||||
*/
|
||||
exports.userMigration = <span class="fstat-no" title="function not covered" >function userMigration(req, res, next) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > if (!req.user || req.user.completedChallenges.length !== 0) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return next();</span>
|
||||
}
|
||||
<span class="cstat-no" title="statement not covered" > req.user.completedChallenges = R.filter(<span class="fstat-no" title="function not covered" >function (elem) {</span></span>
|
||||
// getting rid of undefined
|
||||
<span class="cstat-no" title="statement not covered" > return elem;</span>
|
||||
}, R.concat(
|
||||
req.user.completedCoursewares,
|
||||
req.user.completedBonfires.map(<span class="fstat-no" title="function not covered" >function (bonfire) {</span>
|
||||
<span class="cstat-no" title="statement not covered" > return ({</span>
|
||||
completedDate: bonfire.completedDate,
|
||||
id: bonfire.id,
|
||||
name: bonfire.name,
|
||||
completedWith: bonfire.completedWith,
|
||||
solution: bonfire.solution,
|
||||
githubLink: '',
|
||||
verified: false,
|
||||
challengeType: 5
|
||||
});
|
||||
})
|
||||
)
|
||||
);
|
||||
<span class="cstat-no" title="statement not covered" > return next();</span>
|
||||
};
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 11 2015 21:16:17 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
<script src="../../prettify.js"></script>
|
||||
<script>
|
||||
window.onload = function () {
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="../../sorter.js"></script>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user