import assert from 'node:assert/strict';
import { test } from 'node:test';
import { CDC_TRANSLATIONS, CEFP_TRANSLATIONS } from './index';

test('CDC and CEFP RGC Decision screen have independent bilingual Admin keys', () => {
  for (const [module, all] of [['cdc', CDC_TRANSLATIONS], ['cefp', CEFP_TRANSLATIONS]] as const) {
    const rows = all.filter(item => item.page === 'rgc_decision');
    const keys = new Set(rows.map(item => item.translationKey));
    assert.equal(keys.size, rows.length, `${module} duplicate keys`);
    for (const key of [
      'title', 'page.title', 'breadcrumb', 'filter.status', 'filter.primary_agency',
      'view.list', 'view.grid', 'status.solved', 'pagination.next',
      'detail.title', 'detail.status', 'detail.not_found',
      'error.load',
      'grid_locale.column_menu_label', 'filter_panel.applyFilters',
      'report.no_progress', 'report.referenceName', 'export.title',
      'export.linked_issues', 'export.verification_link',
    ]) {
      const item = rows.find(row => row.translationKey === key);
      assert.ok(item, `${module}/${key}`);
      assert.equal(item.module, module);
      assert.ok(item.englishText.trim());
      assert.ok(item.khmerText.trim());
    }
    assert.equal(rows.find(row => row.translationKey === 'export.title')?.englishText, `${module.toUpperCase()} RGC Decisions`);
  }
});
