feat(events): expand admin event management APIs
This commit is contained in:
@@ -37,6 +37,7 @@ class EventsAPIIntegrationTests(TestCase):
|
||||
cls.user = User.objects.create_user(
|
||||
username="event_user",
|
||||
email="event.user@example.com",
|
||||
mobile="09198000001",
|
||||
password=cls.password,
|
||||
)
|
||||
cls.user.is_email_verified = True
|
||||
@@ -45,6 +46,7 @@ class EventsAPIIntegrationTests(TestCase):
|
||||
cls.staff = User.objects.create_user(
|
||||
username="event_staff",
|
||||
email="event.staff@example.com",
|
||||
mobile="09198000002",
|
||||
password=cls.password,
|
||||
is_staff=True,
|
||||
)
|
||||
@@ -151,19 +153,21 @@ class EventsAPIIntegrationTests(TestCase):
|
||||
"/api/events/",
|
||||
data=json.dumps(payload),
|
||||
content_type="application/json",
|
||||
**self._auth_headers(self.staff_token),
|
||||
)
|
||||
self.assertEqual(created.status_code, 200)
|
||||
self.assertEqual(created.status_code, 201)
|
||||
event_id = created.json()["id"]
|
||||
|
||||
updated = self.client.put(
|
||||
f"/api/events/{event_id}",
|
||||
data=json.dumps({"title": "Updated Event"}),
|
||||
content_type="application/json",
|
||||
**self._auth_headers(self.staff_token),
|
||||
)
|
||||
self.assertEqual(updated.status_code, 200)
|
||||
self.assertEqual(updated.json()["title"], "Updated Event")
|
||||
|
||||
deleted = self.client.delete(f"/api/events/{event_id}")
|
||||
deleted = self.client.delete(f"/api/events/{event_id}", **self._auth_headers(self.staff_token))
|
||||
self.assertEqual(deleted.status_code, 200)
|
||||
|
||||
def test_admin_detail_and_registration_list_requires_staff(self):
|
||||
@@ -230,9 +234,10 @@ class EventsAPIIntegrationTests(TestCase):
|
||||
"/api/events/",
|
||||
data=json.dumps(payload),
|
||||
content_type="application/json",
|
||||
**self._auth_headers(self.staff_token),
|
||||
)
|
||||
body = response.json()
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.status_code, 201)
|
||||
self.assertTrue(body["gallery_images"])
|
||||
|
||||
updated = self.client.put(
|
||||
@@ -244,6 +249,7 @@ class EventsAPIIntegrationTests(TestCase):
|
||||
}
|
||||
),
|
||||
content_type="application/json",
|
||||
**self._auth_headers(self.staff_token),
|
||||
)
|
||||
self.assertEqual(updated.status_code, 200)
|
||||
self.assertEqual(updated.json()["slug"], "gallery-event-updated")
|
||||
@@ -370,7 +376,8 @@ class EventsAPIIntegrationTests(TestCase):
|
||||
self.assertEqual(response.status_code, 400)
|
||||
|
||||
def _create_event_user(self, username, email):
|
||||
user = User.objects.create_user(username=username, email=email, password=self.password)
|
||||
suffix = str(abs(hash(username)) % 1_000_000).zfill(6)
|
||||
user = User.objects.create_user(username=username, email=email, mobile=f"09190{suffix}", password=self.password)
|
||||
user.is_email_verified = True
|
||||
user.save(update_fields=["is_email_verified"])
|
||||
user.major = self.user.major
|
||||
@@ -468,6 +475,7 @@ class EventSchemasIntegrationTests(TestCase):
|
||||
self.user = User.objects.create_user(
|
||||
username="schema_user",
|
||||
email="schema.user@example.com",
|
||||
mobile="09198000003",
|
||||
password=self.password,
|
||||
)
|
||||
self.user.is_email_verified = True
|
||||
|
||||
Reference in New Issue
Block a user