Skip to content

Commit 78fb6f9

Browse files
committed
test(field-textarea): add textarea field tests
1 parent a9f57c4 commit 78fb6f9

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import { generateSchemaSingleField, generatePropsSingleField, mountFormGenerator } from '@test/_resources/utils.js'
2+
import { mount, config } from '@vue/test-utils'
3+
import { describe, it, expect } from 'vitest'
4+
5+
import FieldTextarea from '@/fields/input/FieldTextarea.vue'
6+
7+
const form = generateSchemaSingleField(
8+
'textTest',
9+
'textModel',
10+
'textarea',
11+
null,
12+
'A test for text',
13+
'',
14+
{
15+
placeholder: 'test placeholder'
16+
}
17+
)
18+
19+
const props = generatePropsSingleField(form)
20+
21+
describe('Test FieldTextarea', () => {
22+
23+
it('Should render correctly', () => {
24+
const wrapper = mount(FieldTextarea, { props })
25+
const textAreaEl = wrapper.find('textarea')
26+
expect(textAreaEl.exists()).toBe(true)
27+
expect(textAreaEl.attributes().placeholder).toBe('test placeholder')
28+
})
29+
30+
it('Should render correctly inside form generator', async () => {
31+
config.global.components = { FieldTextarea }
32+
33+
const formWrapper = mountFormGenerator(form.schema, form.model)
34+
expect(formWrapper.findComponent(FieldTextarea).exists()).toBeTruthy()
35+
36+
const textAreaEl = formWrapper.find('textarea')
37+
expect(textAreaEl.exists()).toBeTruthy()
38+
expect(textAreaEl.attributes().placeholder).toBe('test placeholder')
39+
})
40+
41+
it('Should emit onInput event', async () => {
42+
const wrapper = mount(FieldTextarea, { props })
43+
await wrapper.find('textarea').trigger('input')
44+
expect(wrapper.emitted()).toHaveProperty('onInput')
45+
})
46+
47+
it('Should update model value', async () => {
48+
config.global.components = { FieldTextarea }
49+
50+
const formWrapper = mountFormGenerator(form.schema, form.model)
51+
52+
const textAreaField = formWrapper.findComponent(FieldTextarea)
53+
expect(textAreaField.exists()).toBeTruthy()
54+
await textAreaField.find('textarea').setValue('I have the high ground')
55+
expect(formWrapper.vm.model.textModel).toBe('I have the high ground')
56+
})
57+
58+
})

0 commit comments

Comments
 (0)