Skip to content

Commit aeb22b4

Browse files
authored
Merge pull request #29 from plaidev/fix/cmsimage-test-type-errors
cmsImageのテストを修正
2 parents 985cfda + b22abe1 commit aeb22b4

File tree

2 files changed

+40
-9
lines changed

2 files changed

+40
-9
lines changed

.changeset/fair-lands-cross.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@craft-cross-cms/rich-text-core': patch
3+
---
4+
5+
Fix TypeScript type errors in cmsImage tests

packages/rich-text-core/src/extensions/cmsImage.test.ts

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
11
/**
22
* @vitest-environment jsdom
33
*/
4+
import type { MarkdownLexerConfiguration, MarkdownToken } from '@tiptap/core';
45
import { Editor } from '@tiptap/core';
56
import StarterKit from '@tiptap/starter-kit';
67
import { describe, expect, it, vi } from 'vitest';
78
import { generateCmsImage, ResolveAssetFn } from './cmsImage.js';
89

10+
const stubHelpers = {
11+
renderChildren: () => '',
12+
wrapInBlock: () => '',
13+
indent: (c: string) => c,
14+
};
15+
const stubCtx = { index: 0, level: 0 };
16+
const stubTokens: MarkdownToken[] = [];
17+
const stubLexer: MarkdownLexerConfiguration = {
18+
inlineTokens: () => [],
19+
blockTokens: () => [],
20+
};
21+
922
describe('cmsImage Extension', () => {
1023
describe('parseHTML', () => {
1124
it('should parse data-asset-id attribute', () => {
@@ -89,12 +102,25 @@ describe('cmsImage Extension', () => {
89102
// given
90103
const resolveAsset: ResolveAssetFn = (assetId) => ({
91104
id: assetId,
105+
sys: {
106+
createdAt: null,
107+
createdBy: null,
108+
updatedAt: null,
109+
updatedBy: null,
110+
publishedAt: null,
111+
},
112+
title: 'Test image',
113+
description: 'Test description',
114+
altText: 'Resolved alt text',
115+
tagIds: [],
92116
file: {
117+
name: 'resolved.jpg',
118+
mimeType: 'image/jpeg',
93119
src: 'https://cdn.example.com/resolved.jpg',
120+
size: 102400,
94121
width: 1200,
95122
height: 800,
96123
},
97-
altText: 'Resolved alt text',
98124
});
99125

100126
const CmsImage = generateCmsImage({ resolveAsset });
@@ -195,8 +221,8 @@ describe('cmsImage Extension', () => {
195221
});
196222

197223
// when
198-
const node = editor.state.doc.firstChild;
199-
const result = CmsImage.config.renderMarkdown?.(node!);
224+
const nodeJson = editor.getJSON().content![0]!;
225+
const result = CmsImage.config.renderMarkdown?.(nodeJson, stubHelpers, stubCtx);
200226

201227
// then
202228
expect(result).toBe('![image](asset123)\n\n');
@@ -221,8 +247,8 @@ describe('cmsImage Extension', () => {
221247
});
222248

223249
// when
224-
const node = editor.state.doc.firstChild;
225-
const result = CmsImage.config.renderMarkdown?.(node!);
250+
const nodeJson = editor.getJSON().content![0]!;
251+
const result = CmsImage.config.renderMarkdown?.(nodeJson, stubHelpers, stubCtx);
226252

227253
// then
228254
expect(result).toBe('');
@@ -239,7 +265,7 @@ describe('cmsImage Extension', () => {
239265
const tokenizer = CmsImage.config.markdownTokenizer;
240266

241267
// when
242-
const result = tokenizer?.tokenize?.(src);
268+
const result = tokenizer?.tokenize(src, stubTokens, stubLexer);
243269

244270
// then
245271
expect(result).toEqual({
@@ -256,7 +282,7 @@ describe('cmsImage Extension', () => {
256282
const tokenizer = CmsImage.config.markdownTokenizer;
257283

258284
// when
259-
const result = tokenizer?.tokenize?.(src);
285+
const result = tokenizer?.tokenize(src, stubTokens, stubLexer);
260286

261287
// then
262288
expect(result).toBeUndefined();
@@ -266,10 +292,10 @@ describe('cmsImage Extension', () => {
266292
// given
267293
const src = 'Some text ![image](abc123) more text';
268294
const CmsImage = generateCmsImage({});
269-
const tokenizer = CmsImage.config.markdownTokenizer;
295+
const { start } = CmsImage.config.markdownTokenizer ?? {};
270296

271297
// when
272-
const result = tokenizer?.start?.(src);
298+
const result = typeof start === 'function' ? start(src) : undefined;
273299

274300
// then
275301
expect(result).toBe(10);

0 commit comments

Comments
 (0)