@@ -53,29 +53,55 @@ def test_feature_health_provider__get_audit_log_author__return_expected(
53
53
def test_feature_health_event__get_latest_by_feature__return_expected (
54
54
project : Project ,
55
55
feature : Feature ,
56
+ environment : Environment ,
56
57
) -> None :
57
58
# Given
58
59
unrelated_feature = Feature .objects .create (
59
60
project = project , name = "unrelated_feature"
60
61
)
62
+ environment_2 = Environment .objects .create (project = project , name = "Environment 2" )
61
63
62
64
latest_provider1_event = FeatureHealthEvent .objects .create (
63
65
feature = feature ,
64
66
type = "UNHEALTHY" ,
65
67
provider_name = "provider1" ,
66
68
)
69
+ latest_provider1_environment_event = FeatureHealthEvent .objects .create (
70
+ feature = feature ,
71
+ type = "UNHEALTHY" ,
72
+ provider_name = "provider1" ,
73
+ environment = environment ,
74
+ )
67
75
with freeze_time (now - datetime .timedelta (hours = 1 )):
68
76
older_provider1_event = FeatureHealthEvent .objects .create (
69
77
feature = feature ,
70
78
type = "HEALTHY" ,
71
79
provider_name = "provider1" ,
72
80
)
81
+ older_provider1_environment_event = FeatureHealthEvent .objects .create (
82
+ feature = feature ,
83
+ type = "HEALTHY" ,
84
+ provider_name = "provider1" ,
85
+ environment = environment ,
86
+ )
87
+ latest_provider_1_environment_2_event = FeatureHealthEvent .objects .create (
88
+ feature = feature ,
89
+ type = "UNHEALTHY" ,
90
+ provider_name = "provider1" ,
91
+ environment = environment_2 ,
92
+ )
73
93
with freeze_time (now - datetime .timedelta (hours = 2 )):
74
94
latest_provider2_event = FeatureHealthEvent .objects .create (
75
95
feature = feature ,
76
96
type = "UNHEALTHY" ,
77
97
provider_name = "provider2" ,
78
98
)
99
+ older_provider_1_environment_2_event = FeatureHealthEvent .objects .create (
100
+ feature = feature ,
101
+ type = "HEALTHY" ,
102
+ provider_name = "provider1" ,
103
+ environment = environment_2 ,
104
+ )
79
105
unrelated_feature_event = FeatureHealthEvent .objects .create (
80
106
feature = unrelated_feature ,
81
107
type = "UNHEALTHY" ,
@@ -86,8 +112,15 @@ def test_feature_health_event__get_latest_by_feature__return_expected(
86
112
feature_health_events = [* FeatureHealthEvent .objects .get_latest_by_feature (feature )]
87
113
88
114
# Then
89
- assert feature_health_events == [latest_provider1_event , latest_provider2_event ]
115
+ assert feature_health_events == [
116
+ latest_provider1_environment_event ,
117
+ latest_provider_1_environment_2_event ,
118
+ latest_provider1_event ,
119
+ latest_provider2_event ,
120
+ ]
90
121
assert older_provider1_event not in feature_health_events
122
+ assert older_provider1_environment_event not in feature_health_events
123
+ assert older_provider_1_environment_2_event not in feature_health_events
91
124
assert unrelated_feature_event not in feature_health_events
92
125
93
126
0 commit comments