import test from 'node:test'; import assert from 'node:assert/strict'; import React from 'react'; import { renderToStaticMarkup } from 'react-dom/server'; import { ConvergentSyncPanel } from './ConvergentSyncPanel.tsx'; const t = (key: string, values?: Record) => key === 'cloudSync.convergent.conflict.secretSet' ? 'SECRET_SET' : `${key}${values?.count === undefined ? '' : `:${values.count}`}`; test('secret conflict candidates never render their value', () => { const markup = renderToStaticMarkup( {}} onConfirmMigration={() => {}} onCancelMigration={() => {}} onResolveConflict={() => {}} onDowngrade={() => {}} />, ); assert.equal(markup.includes('PRIVATE-CONTENT-MUST-NOT-RENDER'), false); assert.equal(markup.includes('SECRET_SET'), true); assert.match( markup, /data-testid="convergent-sync-icon"[^>]*class="[^"]*h-9[^"]*w-9[^"]*self-start/, ); }); test('secret fields nested inside array candidates never reach rendered markup', () => { const markup = renderToStaticMarkup( {}} onConfirmMigration={() => {}} onCancelMigration={() => {}} onResolveConflict={() => {}} onDowngrade={() => {}} />, ); assert.equal(markup.includes('NESTED-API-KEY-MUST-NOT-RENDER'), false); assert.equal(markup.includes('SECRET_SET'), true); });