Test since query parameter

This commit is contained in:
Aarni Halinen
2019-11-10 01:58:15 +02:00
parent a7728e50dd
commit 01161db33b
+26 -10
View File
@@ -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)