Skip to content

Commit e2ff4d3

Browse files
committed
parameterize test
1 parent 87bde4f commit e2ff4d3

File tree

1 file changed

+51
-46
lines changed

1 file changed

+51
-46
lines changed

posthog/api/test/test_event_definition.py

Lines changed: 51 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from django.utils import timezone
99
from freezegun.api import freeze_time
1010
from rest_framework import status
11+
from parameterized import parameterized
1112

1213
from posthog.api.test.test_organization import create_organization
1314
from posthog.api.test.test_team import create_team
@@ -65,54 +66,58 @@ def test_list_event_definitions(self):
6566
0,
6667
)
6768

68-
def test_list_event_definitions_ordering(self):
69-
response = self.client.get("/api/projects/@current/event_definitions/?ordering=name")
70-
self.assertEqual(response.status_code, status.HTTP_200_OK)
71-
assert [(r["name"], r["last_seen_at"]) for r in response.json()["results"]] == [
72-
("$pageview", "2020-01-01T22:56:00Z"),
73-
("entered_free_trial", "2020-01-01T23:00:00Z"),
74-
("installed_app", "2020-01-01T00:00:00Z"),
75-
("purchase", "2019-12-30T00:00:00Z"),
76-
("rated_app", "2019-12-21T00:00:00Z"),
77-
("watched_movie", None),
78-
]
79-
80-
response = self.client.get("/api/projects/@current/event_definitions/?ordering=-name")
81-
self.assertEqual(response.status_code, status.HTTP_200_OK)
82-
assert [(r["name"], r["last_seen_at"]) for r in response.json()["results"]] == [
83-
("watched_movie", None),
84-
("rated_app", "2019-12-21T00:00:00Z"),
85-
("purchase", "2019-12-30T00:00:00Z"),
86-
("installed_app", "2020-01-01T00:00:00Z"),
87-
("entered_free_trial", "2020-01-01T23:00:00Z"),
88-
("$pageview", "2020-01-01T22:56:00Z"),
89-
]
90-
91-
response = self.client.get(
92-
"/api/projects/@current/event_definitions/?ordering=-last_seen_at::date&ordering=name"
93-
)
94-
self.assertEqual(response.status_code, status.HTTP_200_OK)
95-
assert [(r["name"], r["last_seen_at"]) for r in response.json()["results"]] == [
96-
("$pageview", "2020-01-01T22:56:00Z"),
97-
("entered_free_trial", "2020-01-01T23:00:00Z"),
98-
("installed_app", "2020-01-01T00:00:00Z"),
99-
("purchase", "2019-12-30T00:00:00Z"),
100-
("rated_app", "2019-12-21T00:00:00Z"),
101-
("watched_movie", None),
69+
@parameterized.expand(
70+
[
71+
(
72+
"ordering=name",
73+
[
74+
("$pageview", "2020-01-01T22:56:00Z"),
75+
("entered_free_trial", "2020-01-01T23:00:00Z"),
76+
("installed_app", "2020-01-01T00:00:00Z"),
77+
("purchase", "2019-12-30T00:00:00Z"),
78+
("rated_app", "2019-12-21T00:00:00Z"),
79+
("watched_movie", None),
80+
],
81+
),
82+
(
83+
"ordering=-name",
84+
[
85+
("watched_movie", None),
86+
("rated_app", "2019-12-21T00:00:00Z"),
87+
("purchase", "2019-12-30T00:00:00Z"),
88+
("installed_app", "2020-01-01T00:00:00Z"),
89+
("entered_free_trial", "2020-01-01T23:00:00Z"),
90+
("$pageview", "2020-01-01T22:56:00Z"),
91+
],
92+
),
93+
(
94+
"ordering=-last_seen_at::date&ordering=name",
95+
[
96+
("$pageview", "2020-01-01T22:56:00Z"),
97+
("entered_free_trial", "2020-01-01T23:00:00Z"),
98+
("installed_app", "2020-01-01T00:00:00Z"),
99+
("purchase", "2019-12-30T00:00:00Z"),
100+
("rated_app", "2019-12-21T00:00:00Z"),
101+
("watched_movie", None),
102+
],
103+
),
104+
(
105+
"ordering=-last_seen_at::date&ordering=-name",
106+
[
107+
("installed_app", "2020-01-01T00:00:00Z"),
108+
("entered_free_trial", "2020-01-01T23:00:00Z"),
109+
("$pageview", "2020-01-01T22:56:00Z"),
110+
("purchase", "2019-12-30T00:00:00Z"),
111+
("rated_app", "2019-12-21T00:00:00Z"),
112+
("watched_movie", None),
113+
],
114+
),
102115
]
103-
104-
response = self.client.get(
105-
"/api/projects/@current/event_definitions/?ordering=-last_seen_at::date&ordering=-name"
106-
)
116+
)
117+
def test_list_event_definitions_ordering(self, query_params, expected_results):
118+
response = self.client.get(f"/api/projects/@current/event_definitions/?{query_params}")
107119
self.assertEqual(response.status_code, status.HTTP_200_OK)
108-
assert [(r["name"], r["last_seen_at"]) for r in response.json()["results"]] == [
109-
("installed_app", "2020-01-01T00:00:00Z"),
110-
("entered_free_trial", "2020-01-01T23:00:00Z"),
111-
("$pageview", "2020-01-01T22:56:00Z"),
112-
("purchase", "2019-12-30T00:00:00Z"),
113-
("rated_app", "2019-12-21T00:00:00Z"),
114-
("watched_movie", None),
115-
]
120+
assert [(r["name"], r["last_seen_at"]) for r in response.json()["results"]] == expected_results
116121

117122
@patch("posthoganalytics.capture")
118123
def test_delete_event_definition(self, mock_capture):

0 commit comments

Comments
 (0)