Skip to content

Commit 53da788

Browse files
committed
test(form-core): add coverage for field-level defaultValue priority in reset
1 parent 9dead10 commit 53da788

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

packages/form-core/tests/FormApi.spec.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,46 @@ describe('form api', () => {
169169
expect(form.state.values).toEqual({ name: 'initial' })
170170
})
171171

172+
it('should prioritize field-level defaultValue over form-level defaultValues on reset', () => {
173+
const form = new FormApi({
174+
defaultValues: {
175+
name: 'form-default',
176+
age: 25,
177+
},
178+
})
179+
form.mount()
180+
181+
const nameField = new FieldApi({
182+
form,
183+
name: 'name',
184+
defaultValue: 'field-default',
185+
})
186+
nameField.mount()
187+
188+
const ageField = new FieldApi({
189+
form,
190+
name: 'age',
191+
})
192+
ageField.mount()
193+
194+
// Change values
195+
nameField.setValue('changed-name')
196+
ageField.setValue(30)
197+
198+
expect(form.state.values).toEqual({
199+
name: 'changed-name',
200+
age: 30,
201+
})
202+
203+
// Reset without arguments - field-level defaultValue should take priority
204+
form.reset()
205+
206+
expect(form.state.values).toEqual({
207+
name: 'field-default', // field's defaultValue, not form's
208+
age: 25, // form's defaultValues (no field-level default)
209+
})
210+
})
211+
172212
it('should handle multiple fields with mixed mount states', () => {
173213
const form = new FormApi({
174214
defaultValues: {

0 commit comments

Comments
 (0)