// Unit test for the static legal pages: renderPrivacy / renderEula wrap the owner-edited RU + EN
// markdown in the shared bilingual legal-page chrome (bundled renderLegalHtml) with the right title +
// canonical URL and no dynamic data. The prose rendering itself is unit-tested in ui/ (offer.test.ts);
// here we assert the per-page presets and that both languages reach the document.
import test from 'node:test';
import assert from 'node:assert/strict';
import { renderPrivacy, renderEula } from '../src/legal.mjs';

test('renderPrivacy wraps the RU + EN markdown in the privacy-page chrome', () => {
  const html = renderPrivacy(
    '# Политика конфиденциальности\n\n**1.1.** ИНН 290210610742.',
    '# Privacy Policy\n\n**1.1.** TIN 290210610742.',
  );
  assert.ok(html.includes('<!doctype html>'), 'a standalone document');
  assert.ok(html.includes('<title>Политика конфиденциальности — Эрудит</title>'), 'the privacy title');
  assert.ok(html.includes('data-title-en="Privacy Policy — Erudit"'), 'the English title for the toggle');
  assert.ok(html.includes('href="https://erudit-game.ru/privacy/"'), 'the privacy canonical URL');
  assert.ok(html.includes('290210610742'), 'the prose reached the document');
  assert.ok(html.includes('<main data-lang="en" hidden>'), 'the English body is present, hidden by default');
});

test('renderEula wraps the RU + EN markdown in the EULA-page chrome', () => {
  const html = renderEula('# Лицензионное соглашение\n\nтекст', '# Terms of Use\n\ntext');
  assert.ok(html.includes('<title>Пользовательское соглашение — Эрудит</title>'), 'the EULA title');
  assert.ok(html.includes('data-title-en="Terms of Use — Erudit"'), 'the English title for the toggle');
  assert.ok(html.includes('href="https://erudit-game.ru/eula/"'), 'the EULA canonical URL');
});
