Files
NodeBB/test/template-helpers.js

53 lines
1.4 KiB
JavaScript
Raw Normal View History

2017-02-24 18:06:23 +03:00
'use strict';
var async = require('async');
var assert = require('assert');
var db = require('./mocks/databasemock');
var helpers = require('../public/src/modules/helpers');
describe('helpers', function () {
it('should return false if item doesn\'t exist', function (done) {
2017-02-24 12:03:47 -05:00
var flag = helpers.displayMenuItem({ navigation: [] }, 0);
2017-02-24 18:06:23 +03:00
assert(!flag);
done();
});
it('should return false if route is /users and privateUserInfo is on and user is not logged in', function (done) {
var flag = helpers.displayMenuItem({
2017-02-24 12:03:47 -05:00
navigation: [{ route: '/users' }],
2017-02-24 18:06:23 +03:00
privateUserInfo: true,
config: {
2017-02-24 12:03:47 -05:00
loggedIn: false,
},
2017-02-24 18:06:23 +03:00
}, 0);
assert(!flag);
done();
});
it('should return false if route is /tags and privateTagListing is on and user is not logged in', function (done) {
var flag = helpers.displayMenuItem({
2017-02-24 12:03:47 -05:00
navigation: [{ route: '/tags' }],
2017-02-24 18:06:23 +03:00
privateTagListing: true,
config: {
2017-02-24 12:03:47 -05:00
loggedIn: false,
},
2017-02-24 18:06:23 +03:00
}, 0);
assert(!flag);
done();
});
it('should stringify object', function (done) {
2017-02-24 12:03:47 -05:00
var str = helpers.stringify({ a: 'herp < derp > and & quote "' });
2017-02-24 18:06:23 +03:00
assert.equal(str, '{&quot;a&quot;:&quot;herp &lt; derp &gt; and &amp; quote \\&quot;&quot;}');
done();
});
it('should escape html', function (done) {
var str = helpers.escape('gdkfhgk < some > and &');
assert.equal(str, 'gdkfhgk &lt; some &gt; and &amp;');
done();
});
});