X-Git-Url: http://git.squeep.com/?p=squeep-indie-auther;a=blobdiff_plain;f=test%2Fsrc%2Ftemplate%2Fadmin-maintenance-html.js;fp=test%2Fsrc%2Ftemplate%2Fadmin-maintenance-html.js;h=49d3b15512456de4d5b551149865da8c4469a7e4;hp=0000000000000000000000000000000000000000;hb=b0103b0d496262c438b40bc20304081dbfe41e73;hpb=8ed81748bce7cea7904cac7225b20a60cafdfc16 diff --git a/test/src/template/admin-maintenance-html.js b/test/src/template/admin-maintenance-html.js new file mode 100644 index 0000000..49d3b15 --- /dev/null +++ b/test/src/template/admin-maintenance-html.js @@ -0,0 +1,47 @@ +/* eslint-env mocha */ +'use strict'; + +const assert = require('assert'); +const template = require('../../../src/template/admin-maintenance-html'); +const Config = require('../../../config'); +const StubLogger = require('../../stub-logger'); +const lint = require('html-minifier-lint').lint; // eslint-disable-line node/no-unpublished-require + +const stubLogger = new StubLogger(); + +function lintHtml(html) { + const result = lint(html); + stubLogger.debug('validHtml', '', { result, html }); + assert(!result); +} + +describe('Admin Management HTML Template', function () { + let ctx, config; + beforeEach(function () { + ctx = { + almanac: [{ + event: 'exampleChore', + date: new Date(), + }], + chores: { + exampleChore: { + intervalMs: 86400, + nextSchedule: new Date(), + }, + }, + }; + config = new Config('test'); + }); + it('renders', function () { + const result = template(ctx, config); + lintHtml(result); + assert(result); + }); + it('covers failsafes', function () { + delete ctx.almanac; + delete ctx.chores; + const result = template(ctx, config); + lintHtml(result); + assert(result); + }); +}); // Admin Ticket HTML Template