31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
/* @vitest-environment node */
|
|
|
|
import { readFileSync } from 'node:fs';
|
|
|
|
import { describe, expect, it } from 'vitest';
|
|
|
|
const source = readFileSync(new URL('list.tsx', import.meta.url), 'utf8');
|
|
|
|
describe('blog article list preview entry', () => {
|
|
it('keeps the preview row action wired to the hidden iframe route', () => {
|
|
expect(source).toContain("key: 'preview'");
|
|
expect(source).toContain("permissionCodes: ['Blog:Article:Preview']");
|
|
expect(source).toContain("name: 'BlogArticlePreview'");
|
|
expect(source).toContain('articleId: row.id');
|
|
});
|
|
|
|
it('wires Tiptap editor mode switching without dropping current content', () => {
|
|
expect(source).toContain(
|
|
"import { KtTiptapHtmlEditor } from '#/components/richText';",
|
|
);
|
|
expect(source).toContain('createBlogArticleEditorModeSchema');
|
|
expect(source).toContain(
|
|
'void setArticleEditorMode(mode, { preserveContent: true });',
|
|
);
|
|
expect(source).toContain(
|
|
'contentFormat: getContentFormatForEditorMode(mode)',
|
|
);
|
|
expect(source).toContain('editorMode: mode');
|
|
});
|
|
});
|