Skip to content

Commit 57b96cc

Browse files
risk rel pop wording and risk mapping exclusion fixes #2261 (#2286)
* risk rel pop wording and risk mapping exclusion fixes #2261 * formatting Co-authored-by: Jared Lockhart <[email protected]>
1 parent 89e7f81 commit 57b96cc

File tree

5 files changed

+64
-22
lines changed

5 files changed

+64
-22
lines changed

app/experimenter/experiments/constants.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -220,9 +220,7 @@ class ExperimentConstants(object):
220220
RISK_CONFIDENTIAL_LABEL = (
221221
"Is this delivery confidential to Mozilla, sensitive, or internal only?"
222222
)
223-
RISK_RELEASE_POPULATION_LABEL = (
224-
"Does this delivery affect 1% or more of Release users?"
225-
)
223+
RISK_RELEASE_POPULATION_LABEL = "Does this delivery affect 1 million Release users?"
226224
RISK_REVENUE_LABEL = """Does this delivery have possible negative impact on revenue
227225
(ex: search, pocket revenue, New Tab page experience)?"""
228226

@@ -242,6 +240,7 @@ class ExperimentConstants(object):
242240
RISK_HIGHER_RISK_LABEL = """I have been advised that this delivery design creates a
243241
higher risk of errors due to complexity or timing requirements."""
244242

243+
RISK_EXCLUSIONS = {TYPE_ROLLOUT: ["risk_release_population"]}
245244
SURVEY_REQUIRED_LABEL = "Is a Survey Required?"
246245
SURVEY_INSTRUCTIONS_LABEL = "Survey Launch Instructions"
247246

app/experimenter/experiments/models.py

+18-15
Original file line numberDiff line numberDiff line change
@@ -616,23 +616,26 @@ def completed_results(self):
616616

617617
@property
618618
def _risk_questions(self):
619-
return (
620-
self.risk_partner_related,
621-
self.risk_brand,
622-
self.risk_fast_shipped,
623-
self.risk_confidential,
624-
self.risk_release_population,
625-
self.risk_revenue,
626-
self.risk_data_category,
627-
self.risk_external_team_impact,
628-
self.risk_telemetry_data,
629-
self.risk_ux,
630-
self.risk_security,
631-
self.risk_revision,
632-
self.risk_technical,
633-
self.risk_higher_risk,
619+
risk_questions = (
620+
"risk_partner_related",
621+
"risk_brand",
622+
"risk_fast_shipped",
623+
"risk_confidential",
624+
"risk_release_population",
625+
"risk_revenue",
626+
"risk_data_category",
627+
"risk_external_team_impact",
628+
"risk_telemetry_data",
629+
"risk_ux",
630+
"risk_security",
631+
"risk_revision",
632+
"risk_technical",
633+
"risk_higher_risk",
634634
)
635635

636+
exclusions = ExperimentConstants.RISK_EXCLUSIONS.get(self.type, [])
637+
return [getattr(self, risk) for risk in risk_questions if risk not in exclusions]
638+
636639
@property
637640
def completed_risks(self):
638641
completed = None not in self._risk_questions

app/experimenter/experiments/tests/test_models.py

+39-2
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,7 @@ def test_risk_questions_returns_a_tuple(self):
10031003
)
10041004
self.assertEqual(
10051005
experiment._risk_questions,
1006-
(
1006+
[
10071007
False,
10081008
True,
10091009
False,
@@ -1018,7 +1018,44 @@ def test_risk_questions_returns_a_tuple(self):
10181018
True,
10191019
False,
10201020
True,
1021-
),
1021+
],
1022+
)
1023+
1024+
def test_risk_questions_returns_a_tuple_rollout(self):
1025+
experiment = ExperimentFactory.create(
1026+
type=Experiment.TYPE_ROLLOUT,
1027+
risk_partner_related=False,
1028+
risk_brand=True,
1029+
risk_fast_shipped=False,
1030+
risk_confidential=True,
1031+
risk_release_population=None,
1032+
risk_revenue=True,
1033+
risk_data_category=False,
1034+
risk_external_team_impact=True,
1035+
risk_telemetry_data=False,
1036+
risk_ux=True,
1037+
risk_security=False,
1038+
risk_revision=True,
1039+
risk_technical=False,
1040+
risk_higher_risk=True,
1041+
)
1042+
self.assertEqual(
1043+
experiment._risk_questions,
1044+
[
1045+
False,
1046+
True,
1047+
False,
1048+
True,
1049+
True,
1050+
False,
1051+
True,
1052+
False,
1053+
True,
1054+
False,
1055+
True,
1056+
False,
1057+
True,
1058+
],
10221059
)
10231060

10241061
def test_risk_not_completed_when_risk_questions_not_answered(self):

app/experimenter/templates/experiments/edit_risks.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222
{% include "experiments/radio_field_inline.html" with field=form.risk_fast_shipped %}
2323

2424
{% include "experiments/radio_field_inline.html" with field=form.risk_confidential %}
25-
26-
{% include "experiments/radio_field_inline.html" with field=form.risk_release_population %}
25+
{% if not experiment.is_rollout %}
26+
{% include "experiments/radio_field_inline.html" with field=form.risk_release_population %}
27+
{% endif %}
2728

2829
{% include "experiments/radio_field_inline.html" with field=form.risk_revenue %}
2930

app/experimenter/templates/experiments/section_risks.html

+2
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,14 @@
3333
</strong>
3434
</p>
3535

36+
{% if not experiment.is_rollout %}
3637
<p>
3738
{{ experiment.RISK_RELEASE_POPULATION_LABEL }}
3839
<strong class="{% if experiment.risk_release_population %}text-danger{% endif %}">
3940
{{ experiment.risk_release_population|yesno:"Yes,No" }}
4041
</strong>
4142
</p>
43+
{% endif %}
4244

4345
<p>
4446
{{ experiment.RISK_REVENUE_LABEL }}

0 commit comments

Comments
 (0)