823b439d695ecbe41566b40d91a38382fae433b4
[websub-hub] / test / src / template / admin-topic-details-html.js
1 /* eslint-env mocha */
2 'use strict';
3
4 const assert = require('assert');
5 const template = require('../../../src/template/admin-topic-details-html');
6 const Config = require('../../../config');
7 const lintHtml = require('../../lint-html');
8
9 describe('Admin Topic Details HTML Template', function () {
10 let ctx, config;
11
12 beforeEach(function () {
13 ctx = {
14 topic: {},
15 subscriptions: [
16 {},
17 ],
18 };
19 config = new Config('test');
20 });
21
22 it('renders', function () {
23 const result = template(ctx, config);
24 lintHtml(result);
25 assert(result);
26 });
27 it('covers null topic', function () {
28 ctx.topic = null;
29 ctx.subscriptions = null;
30 const result = template(ctx, config);
31 lintHtml(result);
32 assert(result);
33 });
34 it('covers missing subscriptions', function () {
35 delete ctx.subscriptions;
36 const result = template(ctx, config);
37 lintHtml(result);
38 assert(result);
39 });
40 it('covers plural subscriptions', function () {
41 ctx.subscriptions = [{}, {}, {}];
42 const result = template(ctx, config);
43 lintHtml(result);
44 assert(result);
45 });
46 });