@@ -14,10 +14,7 @@ class TestMandatoryFieldsSchemaValidations:
1414 def test_campaign_config_with_only_mandatory_fields_configuration (
1515 self , valid_campaign_config_with_only_mandatory_fields
1616 ):
17- try :
18- IterationValidation (** (valid_campaign_config_with_only_mandatory_fields ["Iterations" ][0 ]))
19- except ValidationError as e :
20- pytest .fail (f"Unexpected error during model instantiation: { e } " )
17+ IterationValidation (** (valid_campaign_config_with_only_mandatory_fields ["Iterations" ][0 ]))
2118
2219 @pytest .mark .parametrize (
2320 "mandatory_field" ,
@@ -556,7 +553,7 @@ def test_iteration_full_datetime_validation( # noqa : PLR0913
556553 data = valid_campaign_config_with_only_mandatory_fields .copy ()
557554
558555 if default_time_iteration_input :
559- data ["iteration_time " ] = default_time_iteration_input
556+ data ["IterationTime " ] = default_time_iteration_input
560557
561558 data ["Iterations" ] = [iteration_data ]
562559
@@ -570,3 +567,21 @@ def test_iteration_full_datetime_validation( # noqa : PLR0913
570567 f"Failed! Input: { iteration_time_input } , Default: { default_time_iteration_input } . "
571568 f"Expected { expected_date_time } but got { result } "
572569 )
570+
571+ def test_iteration_rules_having_invalid_cohort_labels_throws_error (
572+ self ,
573+ valid_iteration_with_only_mandatory_fields ,
574+ valid_iteration_rule_with_only_mandatory_fields ,
575+ valid_iteration_cohorts ,
576+ ):
577+ data = valid_iteration_with_only_mandatory_fields .copy ()
578+ data ["IterationRules" ] = [valid_iteration_rule_with_only_mandatory_fields ]
579+ data ["IterationCohorts" ] = [valid_iteration_cohorts ()]
580+ data ["IterationRules" ][0 ]["CohortLabel" ] = "label_2"
581+
582+ with pytest .raises (ValidationError ) as exc_info :
583+ IterationValidation (** data )
584+
585+ errors = exc_info .value .errors ()
586+ # Ensure at least one error is specifically about the invalid CohortLabel in IterationRules[0]
587+ assert any (err .get ("loc" , [])[:3 ] == ("iteration_rules" , 0 , "cohort_label" ) for err in errors )
0 commit comments