diff --git a/webapp/tests/test_event.py b/webapp/tests/test_event.py index 9aa4ee6..76a02be 100644 --- a/webapp/tests/test_event.py +++ b/webapp/tests/test_event.py @@ -19,54 +19,67 @@ class EventTestCase(APITestCase): Tag.objects.create(slug="testtag2", name='test2', icon=self.icon) tag2 = Tag.objects.get(slug="testtag2") self.assertEqual(Tag.objects.count(), 2) + self.testTagId = Tag.objects.get(slug="testtag1").id # Visible and relevant Event.objects.create( - title="TestEvent1", + title_fi="Testitapahtuma1", + title_en="TestEvent1", visible=True, - description="diidadaapa", - content="lorem ipsum", + description_fi="diidadaapa", + description_en="diidadaapa EN", + content_fi="lorem ipsum", + content_en="lorem ipsum EN", start_time=timezone.datetime(2019, 11, 9, 12, 0, 0), end_time=timezone.datetime(2020, 11, 9, 13, 0, 0), location="Testimaa" ) # Invisible but relevant Event.objects.create( - title="TestEvent2", + title_fi="Testitapahtuma1", + title_en="TestEvent2", visible=False, - description="diidadaapa", - content="lorem ipsum", + description_fi="diidadaapa", + description_en="diidadaapa EN", + content_fi="lorem ipsum", + content_en="lorem ipsum EN", start_time=timezone.datetime(2018, 12, 9, 12, 0, 0), end_time=timezone.datetime(2020, 12, 9, 13, 0, 0), location="Testimaan kerhohuone" ) # Visible but unrelevant Event.objects.create( - title="TestEvent3", + title_fi="Testitapahtuma3", + title_en="TestEvent3", visible=True, - description="diidadaapa", - content="lorem ipsum", + description_fi="diidadaapa", + description_en="diidadaapa EN", + content_fi="lorem ipsum", + content_en="lorem ipsum EN", start_time=timezone.datetime(2018, 12, 9, 12, 0, 0), end_time=timezone.datetime(2018, 12, 9, 13, 0, 0), location="Testimaan kerhohuone" ) # Visible and relevant Event.objects.create( - title="TestEvent4", + title_fi="Testitapahtuma4", + title_en="TestEvent4", visible=True, - description="diidadaapa", - content="lorem ipsum", + description_fi="diidadaapa", + description_en="diidadaapa EN", + content_fi="lorem ipsum", + content_en="lorem ipsum EN", start_time=timezone.datetime(2018, 12, 9, 12, 0, 0), end_time=timezone.datetime(2020, 12, 9, 13, 0, 0), location="Testimaan kerhohuone" ) - Event.objects.get(title="TestEvent1").tags.add(tag1) - Event.objects.get(title="TestEvent2").tags.add(tag2) + Event.objects.get(title_en="TestEvent1").tags.add(tag1) + Event.objects.get(title_en="TestEvent2").tags.add(tag2) + self.testEventId = Event.objects.get(title_en="TestEvent1").id self.assertEqual(Event.objects.count(), 4) username, password = 'test_admin', 'password123' self.authClient = User.objects.create_superuser(username, 'myemail@test.com', password) - self.testEventId = Event.objects.get(title="TestEvent1").id def test_get_events(self): # Get from API @@ -77,7 +90,7 @@ class EventTestCase(APITestCase): self.assertEqual(len(response.data["results"]), 2) # Check that serialized data is equal to received response expected_events = EventSerializer( - Event.objects.filter(title__in=("TestEvent1", "TestEvent4")).order_by("start_time"), + Event.objects.filter(title_en__in=("TestEvent1", "TestEvent4")).order_by("start_time"), many=True, context={ "request": APIRequestFactory().get(r"http://testserver/api/events/") @@ -90,7 +103,7 @@ class EventTestCase(APITestCase): self.assertEqual(response.status_code, status.HTTP_200_OK) serializer = EventSerializer( - Event.objects.get(title="TestEvent1"), + Event.objects.get(title_en="TestEvent1"), context={ "request": APIRequestFactory().get(r"http://testserver/api/events/") } @@ -102,10 +115,60 @@ class EventTestCase(APITestCase): self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) def test_post_event(self): - pass + # Authenticate + self.client.force_authenticate(user=self.authClient) + response = self.client.post( + "/api/events/", + { + "tags": [self.testTagId], + "tag_id": [self.testTagId], + "visible": True, + "title": "POST Testi", + # "title_fi": "POST Testi", + # "title_en": "POST Test", + "description": "ABC", + # "description_fi": "ABC", + # "description_en": "CBA", + "content": "Benis", + # "content_fi": "Benis", + # "content_en": "Bensels :DDD", + "start_time": timezone.now(), + "end_time": timezone.now(), + "signup_id": [] + }, + format='json' + ) + + self.assertEqual(response.status_code, status.HTTP_201_CREATED) + self.assertEqual(Event.objects.count(), 5) + + def test_post_event_unauth(self): + response = self.client.post( + "/api/events/", + { + "tags": "Test", + "visible": "Testinimi", + "title_fi": "Testinimi", + "title_en": "Test name", + "description_fi": self.icon, + "description_en": self.icon, + "content_fi": self.icon, + "content_en": self.icon, + }, + format='json' + ) + + self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) + self.assertEqual(Event.objects.count(), 4) def test_update_event(self): pass + def test_update_event_unauth(self): + pass + def test_delete_event(self): pass + + def test_delete_event_unauth(self): + pass