kt-template-admin/apps/web-antdv-next/src/views/blog/article/list.spec.ts

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');
});
});