Skip to content

Commit c83171a

Browse files
Simplify form functional test
1 parent 4ab47d4 commit c83171a

File tree

1 file changed

+14
-20
lines changed

1 file changed

+14
-20
lines changed

src/LiveComponent/tests/Functional/Form/ComponentWithFormTest.php

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -177,16 +177,11 @@ public function testHandleCheckboxChanges(): void
177177
'choice_expanded' => '',
178178
'choice_multiple' => ['2'],
179179
'select_multiple' => ['2'],
180+
'checkbox' => null,
180181
'checkbox_checked' => '1',
181182
'file' => '',
182183
'hidden' => '',
183184
];
184-
$fullBareData = array_merge(
185-
$bareForm,
186-
[
187-
'checkbox' => null,
188-
]
189-
);
190185

191186
$this->browser()
192187
->throwExceptions()
@@ -196,35 +191,34 @@ public function testHandleCheckboxChanges(): void
196191
->assertContains('<input type="checkbox" id="form_choice_multiple_0" name="form[choice_multiple][]" value="1" />')
197192
->assertContains('<input type="checkbox" id="form_checkbox" name="form[checkbox]" required="required" value="1" />')
198193
->assertContains('<input type="checkbox" id="form_checkbox_checked" name="form[checkbox_checked]" required="required" value="1" checked="checked" />')
199-
->use(function (HtmlResponse $response) use (&$fullBareData, &$dehydrated, &$bareForm) {
194+
->use(function (HtmlResponse $response) use (&$dehydrated, &$bareForm) {
200195
$data = json_decode(
201196
$response->crawler()->filter('div')->first()->attr('data-live-data-value'),
202197
true
203198
);
204-
self::assertEquals($fullBareData, $data['form']);
199+
self::assertEquals($bareForm, $data['form']);
205200

206201
// check both multiple fields
207-
$bareForm['choice_multiple'] = $fullBareData['choice_multiple'] = ['1', '2'];
202+
$bareForm['choice_multiple'] = ['1', '2'];
208203

209204
$dehydrated['form'] = $bareForm;
210205
})
211206
->get('/_components/form_with_many_different_fields_type?data='.urlencode(json_encode($dehydrated)))
212207
->assertContains('<input type="checkbox" id="form_choice_multiple_1" name="form[choice_multiple][]" value="2" checked="checked" />')
213208
->assertContains('<input type="checkbox" id="form_choice_multiple_0" name="form[choice_multiple][]" value="1" checked="checked" />')
214-
->use(function (HtmlResponse $response) use (&$fullBareData, &$dehydrated, &$bareForm) {
209+
->use(function (HtmlResponse $response) use (&$dehydrated, &$bareForm) {
215210
$data = json_decode(
216211
$response->crawler()->filter('div')->first()->attr('data-live-data-value'),
217212
true
218213
);
219-
self::assertEquals($fullBareData, $data['form']);
214+
self::assertEquals($bareForm, $data['form']);
220215

221216
// uncheck multiple, check single checkbox
222-
$bareForm['checkbox'] = $fullBareData['checkbox'] = '1';
223-
$bareForm['choice_multiple'] = $fullBareData['choice_multiple'] = [];
217+
$bareForm['checkbox'] = '1';
218+
$bareForm['choice_multiple'] = [];
224219

225220
// uncheck previously checked checkbox
226-
unset($bareForm['checkbox_checked']);
227-
$fullBareData['checkbox_checked'] = null;
221+
$bareForm['checkbox_checked'] = null;
228222

229223
$dehydrated['form'] = $bareForm;
230224
})
@@ -233,27 +227,27 @@ public function testHandleCheckboxChanges(): void
233227
->assertContains('<input type="checkbox" id="form_choice_multiple_0" name="form[choice_multiple][]" value="1" />')
234228
->assertContains('<input type="checkbox" id="form_checkbox" name="form[checkbox]" required="required" value="1" checked="checked" />')
235229
->assertContains('<input type="checkbox" id="form_checkbox_checked" name="form[checkbox_checked]" required="required" value="1" />')
236-
->use(function (HtmlResponse $response) use (&$fullBareData, &$dehydrated, &$bareForm) {
230+
->use(function (HtmlResponse $response) use (&$dehydrated, &$bareForm) {
237231
$data = json_decode(
238232
$response->crawler()->filter('div')->first()->attr('data-live-data-value'),
239233
true
240234
);
241-
self::assertEquals($fullBareData, $data['form']);
235+
self::assertEquals($bareForm, $data['form']);
242236

243237
// check both multiple fields
244-
$bareForm['select_multiple'] = $fullBareData['select_multiple'] = ['2', '1'];
238+
$bareForm['select_multiple'] = ['2', '1'];
245239

246240
$dehydrated['form'] = $bareForm;
247241
})
248242
->get('/_components/form_with_many_different_fields_type?data='.urlencode(json_encode($dehydrated)))
249243
->assertContains('<option value="2" selected="selected">')
250244
->assertContains('<option value="1" selected="selected">')
251-
->use(function (HtmlResponse $response) use ($fullBareData) {
245+
->use(function (HtmlResponse $response) use ($bareForm) {
252246
$data = json_decode(
253247
$response->crawler()->filter('div')->first()->attr('data-live-data-value'),
254248
true
255249
);
256-
self::assertEquals($fullBareData, $data['form']);
250+
self::assertEquals($bareForm, $data['form']);
257251
})
258252
;
259253
}

0 commit comments

Comments
 (0)