const { test } = require('node:test'); const assert = require('node:assert'); const { renderLoginPage, renderAdminPage } = require('../src/adminView'); test('renderLoginPage without error omits the error message', () => { const html = renderLoginPage(); assert.ok(!html.includes('class="error"')); assert.ok(html.includes('action="/admin/login"')); }); test('renderLoginPage with error escapes and shows the message', () => { const html = renderLoginPage(''); assert.ok(!html.includes('')); assert.ok(html.includes('<script>')); }); test('renderAdminPage lists emails with a remove form for each, escaping HTML', () => { const html = renderAdminPage(['a@example.com', '@example.com']); assert.ok(html.includes('a@example.com')); assert.ok(html.includes('value="a@example.com"')); assert.ok(!html.includes('@example.com')); assert.ok(html.includes('action="/admin/allowlist/remove"')); assert.ok(html.includes('action="/admin/allowlist/add"')); }); test('renderAdminPage shows an error message when provided', () => { const html = renderAdminPage(['a@example.com'], 'invalid email format'); assert.ok(html.includes('invalid email format')); });