update dependencies and devDependencies, fix lint issues
[squeep-indie-auther] / test / src / template / admin-ticket-html.js
1 'use strict';
2
3 const assert = require('assert');
4 const template = require('../../../src/template/admin-ticket-html');
5 const Config = require('../../../config');
6 const StubLogger = require('../../stub-logger');
7 const { makeHtmlLint } = require('@squeep/html-template-helper');
8 const { HtmlValidate } = require('html-validate');
9
10 const stubLogger = new StubLogger();
11 const htmlValidate = new HtmlValidate();
12 const lintHtml = makeHtmlLint(stubLogger, htmlValidate);
13
14 describe('Admin Ticket HTML Template', function () {
15 let ctx, config;
16 beforeEach(function () {
17 ctx = {
18 profilesScopes: {
19 scopeIndex: {
20 'profile': {
21 application: '',
22 description: '',
23 isPermanent: true,
24 isManuallyAdded: false,
25 profiles: ['https://example.com/'],
26 },
27 'other_scope': {
28 application: 'app1',
29 description: '',
30 isPermanent: false,
31 isManuallyAdded: true,
32 profiles: [],
33 },
34 'read': {
35 application: 'app2',
36 description: '',
37 isPermanent: true,
38 isManuallyAdded: false,
39 profiles: [],
40 },
41 'scopitty_scope': {
42 application: 'app2',
43 description: '',
44 isPermanent: false,
45 isManuallyAdded: false,
46 profiles: [],
47 },
48 'last_scope': {
49 application: 'app1',
50 description: '',
51 isPermanent: false,
52 isManuallyAdded: false,
53 profiles: [],
54 },
55 },
56 profileScopes: {
57 'https://example.com': {
58 'profile': {
59 application: '',
60 description: '',
61 isPermanent: true,
62 isManuallyAdded: false,
63 profiles: ['https://example.com/'],
64 },
65 },
66 },
67 profiles: ['https://example.com/'],
68 },
69 };
70 config = new Config('test');
71 });
72 it('renders', async function () {
73 const result = template(ctx, config);
74 await lintHtml(result);
75 assert(result);
76 });
77 it('covers branches', async function () {
78 delete ctx.profilesScopes;
79 const result = template(ctx, config);
80 await lintHtml(result);
81 assert(result);
82 });
83 }); // Admin Ticket HTML Template