smc-hub
Version:
CoCalc: Backend webserver component
50 lines (44 loc) • 1.75 kB
JavaScript
// Generated by CoffeeScript 2.5.1
(function() {
//########################################################################
// This file is part of CoCalc: Copyright © 2020 Sagemath, Inc.
// License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details
//########################################################################
var expect, utils;
expect = require('expect');
utils = require('../../utils');
describe('parse retention strings', function() {
var EXTRAS, displayer, parser, retentions;
({EXTRAS} = require('smc-util/db-schema/site-settings-extras'));
retentions = EXTRAS.pii_retention.valid;
parser = EXTRAS.pii_retention.to_val;
displayer = EXTRAS.pii_retention.to_display;
it('all valid values work', function() {
var cnt, i, len, s, secs;
cnt = 0;
for (i = 0, len = retentions.length; i < len; i++) {
s = retentions[i];
if (s === 'never') {
continue;
}
cnt += 1;
secs = parser(s);
expect(isNaN(secs)).toBe(false);
expect(secs > 0).toBe(true);
}
// make sure there are at least some available
return expect(cnt > 3).toBe(true);
});
it('parses correctly', function() {
expect(parser('30 days')).toBe(30 * 24 * 60 * 60);
expect(parser('6 months')).toBe(6 * 30 * 24 * 60 * 60);
expect(parser('1 year')).toBe(365 * 24 * 60 * 60);
return expect(parser('10 years')).toBe(10 * 365 * 24 * 60 * 60);
});
return it('displays them', function() {
expect(displayer('never').indexOf('never expire') > 0).toBe(true);
return expect(displayer('30 days').length > 10).toBe(true);
});
});
}).call(this);
//# sourceMappingURL=utils.js.map