3 const assert
= require('assert');
4 const template
= require('../../../src/template/admin-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');
10 const stubLogger
= new StubLogger();
11 const htmlValidate
= new HtmlValidate({
13 'html-validate:recommended',
16 'valid-id': ['error', { relaxed: true }], // allow profile uri to be component of id
19 const lintHtml
= makeHtmlLint(stubLogger
, htmlValidate
);
21 describe('Admin HTML Template', function () {
23 beforeEach(function () {
31 isManuallyAdded: false,
32 profiles: ['https://example.com/'],
38 isManuallyAdded: true,
45 isManuallyAdded: false,
52 isManuallyAdded: false,
59 isManuallyAdded: false,
63 profiles: ['https://example.com/'],
68 clientId: 'https://client.example.com/',
69 profile: 'https://profile.example.com/',
76 clientId: 'https://client.example.com/',
77 profile: 'https://profile.example.com/',
79 created: new Date(Date
.now() - 86400000),
80 refreshed: new Date(),
81 expires: new Date(Date
.now() + 86400000),
86 clientId: 'https://client.exmaple.com/',
87 profile: 'https://profile.example.com/',
88 resource: 'https://resource.example.com/',
94 config
= new Config('test');
96 it('renders', async
function () {
97 const result
= template(ctx
, config
);
98 await
lintHtml(result
);
101 it('renders no tokens', async
function () {
103 const result
= template(ctx
, config
);
104 await
lintHtml(result
);
107 it('covers options', async
function () {
108 delete ctx
.profilesScopes
.profiles
;
109 delete ctx
.profilesScopes
.scopeIndex
.scope
.profiles
;
111 const result
= template(ctx
, config
);
112 await
lintHtml(result
);
115 }); // Admin HTML Template