diff --git a/experimenter/experimenter/nimbus_ui/forms.py b/experimenter/experimenter/nimbus_ui/forms.py index 2cd4209ea0..d5c5de9e23 100644 --- a/experimenter/experimenter/nimbus_ui/forms.py +++ b/experimenter/experimenter/nimbus_ui/forms.py @@ -829,8 +829,8 @@ def clean(self): @transaction.atomic def save(self, *args, **kwargs): - experiment = super().save(*args, **kwargs) self.branches.save() + experiment = super().save(*args, **kwargs) if experiment.is_rollout: branches = experiment.branches.all() diff --git a/experimenter/experimenter/nimbus_ui/tests/test_forms.py b/experimenter/experimenter/nimbus_ui/tests/test_forms.py index 1ccf878482..17a6d2645c 100644 --- a/experimenter/experimenter/nimbus_ui/tests/test_forms.py +++ b/experimenter/experimenter/nimbus_ui/tests/test_forms.py @@ -3226,6 +3226,18 @@ def test_branches_form_saves_branches(self): changelog = experiment.changes.get() self.assertIn("updated branches", changelog.message) + changelog_branches = changelog.experiment_data["branches"] + changelog_fv_values = [ + fv["value"] for b in changelog_branches for fv in b["feature_values"] + ] + self.assertIn( + json.dumps({"control-feature1-key": "control-feature-1-value"}), + changelog_fv_values, + ) + self.assertIn( + json.dumps({"treatment-feature-1-key": "treatment-feature-1-value"}), + changelog_fv_values, + ) def test_branches_form_saves_added_feature_config(self): application = NimbusExperiment.Application.DESKTOP