STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
test_design_requirements_merge Namespace Reference

Functions

 test_absent_keys_survive ()
 test_explicit_null_clears ()
 test_frozen_parameters_merge_key_by_key ()
 test_no_previous_requirements ()

Variables

dict OLD

Detailed Description

Saving design requirements must not erase the ones the form did not send.

``POST /api/optimizer/design-requirements`` used to rebuild ``design_requirements`` from the
request body alone (only ``frozen_parameters`` was merged). A form that sends the dozen
fields it knows about therefore reset every other key -- the ~100 ``layer1_*`` knobs, the
injector face limits, the pinned random seed -- to their schema defaults, and the next run
optimised a different problem with the UI giving no sign. This is the same hazard already
recorded for the checkout path ("an open Design Requirements tab reverts the backend to form
defaults mid-run").

Semantics pinned here: a key ABSENT from the payload keeps its current value; a key sent
with an explicit ``null`` is cleared. Those are different intents and both must work.

Function Documentation

◆ test_absent_keys_survive()

test_design_requirements_merge.test_absent_keys_survive ( )

Definition at line 31 of file test_design_requirements_merge.py.

◆ test_explicit_null_clears()

test_design_requirements_merge.test_explicit_null_clears ( )

Definition at line 40 of file test_design_requirements_merge.py.

◆ test_frozen_parameters_merge_key_by_key()

test_design_requirements_merge.test_frozen_parameters_merge_key_by_key ( )

Definition at line 46 of file test_design_requirements_merge.py.

◆ test_no_previous_requirements()

test_design_requirements_merge.test_no_previous_requirements ( )

Definition at line 53 of file test_design_requirements_merge.py.

Variable Documentation

◆ OLD

dict test_design_requirements_merge.OLD
Initial value:
1= {
2 "target_thrust": 6500.0,
3 "optimal_of_ratio": 1.5,
4 "layer1_random_seed": 37,
5 "layer1_injector_center_clear_dia_m": 0.0381,
6 "layer1_W_MASS": 3000.0,
7 "frozen_parameters": {"Lstar": 1.0},
8}

Definition at line 21 of file test_design_requirements_merge.py.