Test since query parameter
This commit is contained in:
+26
-10
@@ -9,6 +9,8 @@ from webapp.serializers import EventSerializer
|
||||
from webapp.tests.tag_fixture import tagBuilder, createTagIcon
|
||||
from webapp.tests.event_fixture import createEventObject, createEventJSON
|
||||
|
||||
URL = "/api/events/"
|
||||
|
||||
|
||||
class EventTestCase(APITestCase):
|
||||
|
||||
@@ -45,9 +47,9 @@ class EventTestCase(APITestCase):
|
||||
username, password = "test_admin", "password123"
|
||||
self.authClient = User.objects.create_superuser(username, "myemail@test.com", password)
|
||||
|
||||
def test_get_events(self):
|
||||
def test_get_current_events(self):
|
||||
# Get from API
|
||||
response = self.client.get("/api/events/", format="json")
|
||||
response = self.client.get(URL, format="json")
|
||||
# Response 200
|
||||
self.assertTrue(response.status_code, status.HTTP_200_OK)
|
||||
# Response should not have old events and invisible
|
||||
@@ -62,8 +64,22 @@ class EventTestCase(APITestCase):
|
||||
)
|
||||
self.assertEqual(response.data["results"], expected_events.data)
|
||||
|
||||
def test_get_events_since(self):
|
||||
response = self.client.get(f"{URL}?since=2018-01-01", format="json")
|
||||
self.assertTrue(response.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(len(response.data["results"]), 3)
|
||||
|
||||
expected_events = EventSerializer(
|
||||
Event.objects.filter(title_fi__in=("Testitapahtuma1", "Testitapahtuma3", "Testitapahtuma4")).order_by("start_time"),
|
||||
many=True,
|
||||
context={
|
||||
"request": APIRequestFactory().get(r"http://testserver/api/events/")
|
||||
}
|
||||
)
|
||||
self.assertEqual(response.data["results"], expected_events.data)
|
||||
|
||||
def test_get_single_event(self):
|
||||
response = self.client.get(f"/api/events/{self.testEventId}/", format="json")
|
||||
response = self.client.get(f"{URL}{self.testEventId}/", format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
serializer = EventSerializer(
|
||||
@@ -75,14 +91,14 @@ class EventTestCase(APITestCase):
|
||||
self.assertEqual(response.data, serializer.data)
|
||||
|
||||
def test_get_invalid_event(self):
|
||||
response = self.client.get("/api/events/200/", format="json")
|
||||
response = self.client.get("{URL}200/", format="json")
|
||||
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
|
||||
|
||||
def test_post_event(self):
|
||||
# Authenticate
|
||||
self.client.force_authenticate(user=self.authClient)
|
||||
response = self.client.post(
|
||||
"/api/events/",
|
||||
URL,
|
||||
createEventJSON(tag_id=[self.testTagId]),
|
||||
format="json"
|
||||
)
|
||||
@@ -92,7 +108,7 @@ class EventTestCase(APITestCase):
|
||||
|
||||
def test_post_event_unauth(self):
|
||||
response = self.client.post(
|
||||
"/api/events/",
|
||||
URL,
|
||||
createEventJSON(tag_id=[self.testTagId]),
|
||||
format="json"
|
||||
)
|
||||
@@ -106,7 +122,7 @@ class EventTestCase(APITestCase):
|
||||
event = Event.objects.get(id=self.testEventId)
|
||||
new = createEventJSON(name="Update1")
|
||||
response = self.client.put(
|
||||
f"/api/events/{self.testEventId}/",
|
||||
f"{URL}{self.testEventId}/",
|
||||
new,
|
||||
format="json"
|
||||
)
|
||||
@@ -118,7 +134,7 @@ class EventTestCase(APITestCase):
|
||||
|
||||
def test_update_event_unauth(self):
|
||||
response = self.client.put(
|
||||
f"/api/events/{self.testEventId}/",
|
||||
f"{URL}{self.testEventId}/",
|
||||
createEventJSON(name="Update1"),
|
||||
format="json"
|
||||
)
|
||||
@@ -129,12 +145,12 @@ class EventTestCase(APITestCase):
|
||||
self.assertEqual(Event.objects.count(), 4)
|
||||
|
||||
def test_delete_event(self):
|
||||
response = self.client.delete(f"/api/events/{self.testEventId}/",)
|
||||
response = self.client.delete(f"{URL}{self.testEventId}/",)
|
||||
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
|
||||
self.assertEqual(Event.objects.count(), 4)
|
||||
|
||||
# Authenticate
|
||||
self.client.force_authenticate(user=self.authClient)
|
||||
response = self.client.delete(f"/api/events/{self.testEventId}/")
|
||||
response = self.client.delete(f"{URL}{self.testEventId}/")
|
||||
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
||||
self.assertEqual(Event.objects.count(), 3)
|
||||
|
||||
Reference in New Issue
Block a user