@@ -1078,7 +1078,9 @@ describe('ParallelExecutionModal Component', () => {
10781078
10791079 await fireEvent . input ( parametersTextarea , { target : { value : invalidJson } } ) ;
10801080
1081- // In multiNode mode, parameter errors are handled silently (no error text shown)
1081+ // In multiNode mode, parameter errors are silently ignored on input.
1082+ // ExecuteCommandForm only shows errors on explicit submit (button hidden in multiNode mode).
1083+ // Invalid params prevent actionFormData from updating, but show no error text.
10821084 // Verify the textarea accepts the value without crashing
10831085 expect ( ( parametersTextarea as HTMLTextAreaElement ) . value ) . toBe ( invalidJson ) ;
10841086 expect ( screen . queryByText ( / e n t e r c o m m a n d / i) ) . toBeNull ( ) ; // modal still functional
@@ -1142,11 +1144,12 @@ describe('ParallelExecutionModal Component', () => {
11421144 const checkboxes = screen . getAllByRole ( 'checkbox' ) ;
11431145 await fireEvent . click ( checkboxes [ 0 ] ) ;
11441146
1145- // Enter invalid parameters without a command (so actionFormData is never set)
1147+ // Enter invalid parameters without a command (so actionFormData is never set
1148+ // since ExecuteCommandForm's $effect only calls onSubmit with valid data)
11461149 const parametersTextarea = screen . getByLabelText ( 'Parameters (Optional)' ) ;
11471150 await fireEvent . input ( parametersTextarea , { target : { value : '{invalid}' } } ) ;
11481151
1149- // Button is disabled because no valid form data has been submitted
1152+ // Button is disabled because no valid form data has been submitted yet
11501153 await waitFor ( ( ) => {
11511154 const executeButton = screen . getByRole ( 'button' , { name : / e x e c u t e o n 1 t a r g e t / i } ) ;
11521155 expect ( ( executeButton as HTMLButtonElement ) . disabled ) . toBe ( true ) ;
@@ -2680,9 +2683,8 @@ describe('ParallelExecutionModal Component', () => {
26802683 await fireEvent . input ( playbookInput , { target : { value : '/path/to/playbook.yml' } } ) ;
26812684 expect ( ( playbookInput as HTMLInputElement ) . value ) . toBe ( '/path/to/playbook.yml' ) ;
26822685
2683- // Note: ExecutePlaybookForm is rendered inside the modal's form (nested).
2684- // In multiNode mode, actionFormData is set when the inner form is submitted.
2685- // The form renders correctly with the expected input.
2686+ // Note: ExecutePlaybookForm does not use a $effect for multiNode reactive updates.
2687+ // The form renders correctly with the expected input field.
26862688 } ) ;
26872689
26882690 it ( 'should build correct request for install-software action' , async ( ) => {
0 commit comments