Skip to content

Commit d5a70dd

Browse files
committed
fix(app): fix tests errors
1 parent dfc0132 commit d5a70dd

File tree

8 files changed

+52
-36
lines changed

8 files changed

+52
-36
lines changed

packages/app/__tests__/setup.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import i18n from '@plugins/i18n'
12
import { config } from '@vue/test-utils'
23

34
config.global.stubs['fa-icon'] = true
@@ -7,6 +8,7 @@ config.global.config.warnHandler = () => true
78

89
config.global.renderStubDefaultSlot = true
910
config.global.mocks.$t = (key: string) => key
11+
config.global.plugins = [i18n]
1012

1113
window.clientConfig = {
1214
useCase: () => Promise.reject('Not implemented'),

packages/app/modules/block-editor/__tests__/factories.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
import { MarkdownNode, MarkdownNodeHeading, MarkdownNodeParagraph } from '@language-kit/markdown'
1+
import {
2+
MarkdownNode,
3+
MarkdownNodeHeading,
4+
MarkdownNodeParagraph,
5+
MarkdownParser,
6+
} from '@language-kit/markdown'
7+
8+
const parser = new MarkdownParser()
29

310
export function createParagraph(data: Partial<MarkdownNodeParagraph> = {}) {
411
const node = new MarkdownNodeParagraph()
@@ -37,6 +44,10 @@ export function createHeadingFactory() {
3744

3845
Object.assign(node, data)
3946

47+
node.tokens = parser.toTokens(node.body, {
48+
includeEndOfFileToken: false,
49+
})
50+
4051
return node
4152
})
4253
}

packages/app/modules/block-editor/components/BlockHeading.spec.ts

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ describe('BlockHeading (unit)', () => {
5252
it('should render HTMLContentEditable component', () => {
5353
const node = factory.make({ level: 1 })
5454

55-
editor.create(node)
55+
editor.add(node)
5656

5757
component.mount({
5858
props: {
@@ -66,7 +66,7 @@ describe('BlockHeading (unit)', () => {
6666
it('should use h1 element as v-model', () => {
6767
const node = factory.make({ level: 1 })
6868

69-
editor.create(node)
69+
editor.add(node)
7070

7171
component.mount({
7272
props: {
@@ -76,57 +76,62 @@ describe('BlockHeading (unit)', () => {
7676

7777
const editable = findEditable()
7878

79-
expect(editable.props('modelValue')).toBe('<h1>Heading</h1>')
79+
expect(editable.props('modelValue')).toBe('Heading')
8080
})
8181

8282
it.each([
83-
['Hello word', 'Hello&nbsp;word'],
84-
['Hello <strong>bold</strong>', 'Hello&nbsp;<strong>bold</strong>'],
85-
])('should transform white-spaces %s before use the html', (input, expected) => {
86-
const node = factory.make({
87-
level: 1,
88-
body: input,
89-
})
83+
['Hello word ', 'Hello word&nbsp;'],
84+
['Hello <strong>bold</strong> ', 'Hello <strong>bold</strong>&nbsp;'],
85+
])(
86+
'should transform white-spaces at end of string %s before use the html',
87+
(input, expected) => {
88+
const node = factory.make({
89+
level: 1,
90+
body: input,
91+
})
9092

91-
component.mount({
92-
props: {
93-
modelValue: node,
94-
},
95-
})
93+
component.mount({
94+
props: {
95+
modelValue: node,
96+
},
97+
})
9698

97-
const editable = findEditable()
99+
const editable = findEditable()
98100

99-
expect(editable.props('modelValue')).toBe(`<h1>${expected}</h1>`)
100-
})
101+
expect(editable.props('modelValue')).toBe(`${expected}`)
102+
}
103+
)
101104

102105
it('should change heading element based on node level', async () => {
103106
const node = ref(factory.make({ level: 3 }))
104107

105-
editor.create(node.value)
108+
editor.add(node.value)
106109

107-
component.mount({
110+
const wrapper = component.mount({
108111
props: {
109112
modelValue: node.value,
110113
},
111114
})
112115

113116
const editable = findEditable()
114117

115-
expect(editable.props('modelValue')).toBe('<h3>Heading</h3>')
118+
expect(editable.props('modelValue')).toBe('Heading')
119+
120+
expect(wrapper.html()).toContain('<h3>')
116121

117122
node.value.level = 2
118123

119124
await nextTick()
120125

121-
expect(editable.props('modelValue')).toBe('<h2>Heading</h2>')
126+
expect(wrapper.html()).toContain('<h2>')
122127
})
123128

124129
it.each(['blur', 'keydown.enter', 'keydown.ctrl.s'])(
125130
'should update node with %s event',
126131
async (event) => {
127132
const node = factory.make()
128133

129-
editor.create(node)
134+
editor.add(node)
130135

131136
component.mount({
132137
props: {
@@ -140,18 +145,18 @@ describe('BlockHeading (unit)', () => {
140145

141146
const editable = findEditable()
142147

143-
await editable.setValue('<h1>Updated</h1>')
148+
await editable.setValue('Updated')
144149

145150
await editable.trigger(event)
146151

147-
expect(node.body).toBe('Updated')
152+
expect(node.body).toBe('# Updated')
148153
}
149154
)
150155

151156
it('should focus HTMLContentEditable when block is selected', async () => {
152157
const node = factory.make()
153158

154-
editor.create(node)
159+
editor.add(node)
155160

156161
component.mount({
157162
props: {

packages/app/modules/block-editor/components/BlockParagraph.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,6 @@ describe('BlockParagraph', () => {
174174

175175
expect(input).toHaveBeenCalledOnce()
176176

177-
expect(node.body).toBe('Updated')
177+
expect(node.body).toBe('Updated\n')
178178
})
179179
})

packages/app/modules/block-editor/components/BlockScript.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ import { MarkdownNodeComponent } from '@language-kit/markdown'
44
import { useBlockStub } from '../__tests__/stubs'
55

66
import BlockScript from './BlockScript.vue'
7-
import VBtn from '@components/VBtn.vue'
87
import ANSICard from '@modules/evaluation/components/ANSICard.vue'
9-
import { waitFor } from '@composables/utils'
108
import MonacoEditor from '@components/MonacoEditor.vue'
119
import { flushPromises } from '@vue/test-utils'
10+
import pinia from '@plugins/pinia'
1211

1312
describe('BlockScript (unit)', () => {
1413
const component = useMountWrapper(BlockScript, {
1514
shallow: true,
1615
global: {
16+
plugins: [pinia],
1717
stubs: {
1818
Block: useBlockStub(),
1919
},

packages/app/modules/block-editor/components/Editor.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ describe('Editor (unit)', () => {
3030
})
3131

3232
function createBlock(node: MarkdownNode) {
33-
editor.create(node)
33+
editor.add(node)
3434

3535
const toolbar = document.createElement('div')
3636

packages/app/modules/block-editor/components/NewBlockMenu.spec.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { afterEach, describe, expect, it, vi } from 'vitest'
33
import NewBlockMenu from './NewBlockMenu.vue'
44

55
import { useMountWrapper } from '__tests__/fixtures/component'
6-
import i18n from '@plugins/i18n'
6+
77
import {
88
MarkdownNode,
99
MarkdownNodeComponent,
@@ -13,9 +13,7 @@ import {
1313

1414
describe('NewBlockMenu', () => {
1515
const component = useMountWrapper(NewBlockMenu, {
16-
global: {
17-
plugins: [i18n],
18-
},
16+
shallow: true,
1917
})
2018

2119
afterEach(component.unmount)

packages/app/modules/block-editor/components/Toolbar.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('Toolbar (unit)', () => {
2424
function createManyNodes(length = 5) {
2525
const nodes = createManyParagraphs(length)
2626

27-
editor.createAll(nodes)
27+
editor.addAll(nodes)
2828

2929
return nodes
3030
}

0 commit comments

Comments
 (0)