@@ -3774,18 +3774,20 @@ def test_system_prompts_retry_when_parameter_validation_finds_mismatch(self, par
37743774 GIVEN: Parameters that were uploaded but their values are mismatched after re-download
37753775 WHEN: upload_selected_params_workflow is called
37763776 THEN: The ask_retry_cancel callback is invoked exactly once with a descriptive message
3777+ AND: The current step is not marked as successfully uploaded when the user cancels
37773778 """
37783779 # Arrange: FC value differs from what was uploaded so validation will fail
37793780 parameter_editor ._flight_controller .fc_parameters = {"P1" : 1.0 }
37803781
37813782 mock_retry = MagicMock (return_value = False ) # User chooses not to retry
3783+ mock_write = MagicMock ()
37823784
37833785 with patch .multiple (
37843786 parameter_editor ,
37853787 upload_parameters_that_require_reset_workflow = MagicMock (return_value = (False , {})),
37863788 _upload_parameters_to_fc = MagicMock (return_value = 1 ),
37873789 download_flight_controller_parameters = MagicMock (),
3788- _write_current_file = MagicMock () ,
3790+ _write_current_file = mock_write ,
37893791 _export_fc_params_missing_or_different = MagicMock (),
37903792 _validate_uploaded_parameters = MagicMock (return_value = ["P1" ]),
37913793 ):
@@ -3799,6 +3801,8 @@ def test_system_prompts_retry_when_parameter_validation_finds_mismatch(self, par
37993801
38003802 # Assert: retry dialog was presented exactly once
38013803 mock_retry .assert_called_once ()
3804+ mock_write .assert_not_called ()
3805+ assert parameter_editor ._at_least_one_changed is True
38023806
38033807 @pytest .mark .parametrize (
38043808 ("fc_val" , "upload_val" , "expect_mismatch" ),
0 commit comments