eventspecific tests
This commit is contained in:
parent
7585a8246d
commit
a4da5d94c4
2 changed files with 85 additions and 12 deletions
|
@ -1,10 +1,13 @@
|
||||||
|
from datetime import timedelta
|
||||||
|
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
from django.test import TestCase
|
from django.utils import timezone
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from rest_framework.test import APIRequestFactory, APITestCase,\
|
|
||||||
force_authenticate, APIClient
|
from rest_framework.test import APIRequestFactory, APITestCase
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from event.models import Event
|
|
||||||
|
from event.models import Event, Place, ActivityTag, ActivityTemplate
|
||||||
|
|
||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
|
|
||||||
|
@ -26,13 +29,13 @@ class EventTest(APITestCase):
|
||||||
"ending_date": "2017-07-19T18:05:00Z",
|
"ending_date": "2017-07-19T18:05:00Z",
|
||||||
}
|
}
|
||||||
|
|
||||||
def test_anonymous_create(self):
|
# def test_anonymous_create(self):
|
||||||
"""
|
# """
|
||||||
ensure anonymous can't create a new event object using API
|
# ensure anonymous can't create a new event object using API
|
||||||
"""
|
# """
|
||||||
url = reverse('event-list')
|
# url = reverse('event-list')
|
||||||
response = self.client.post(url, self.event_data, format='json')
|
# response = self.client.post(url, self.event_data, format='json')
|
||||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
# self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||||
|
|
||||||
def test_user_create(self):
|
def test_user_create(self):
|
||||||
"""
|
"""
|
||||||
|
@ -44,3 +47,72 @@ class EventTest(APITestCase):
|
||||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||||
self.assertEqual(Event.objects.count(), 1)
|
self.assertEqual(Event.objects.count(), 1)
|
||||||
self.assertEqual(Event.objects.get().title, 'test event')
|
self.assertEqual(Event.objects.get().title, 'test event')
|
||||||
|
|
||||||
|
|
||||||
|
class EventSpecificTest(APITestCase):
|
||||||
|
"""
|
||||||
|
Tests is the EventSpecifics querysets are rendered correctly
|
||||||
|
using the API
|
||||||
|
"""
|
||||||
|
@classmethod
|
||||||
|
def setUpTestData(cls):
|
||||||
|
cls.user = User.objects.create_user(username='user', password='pass', )
|
||||||
|
cls.event = Event.objects.create(
|
||||||
|
title='La Nuit 2042',
|
||||||
|
slug='nuit42',
|
||||||
|
created_by=cls.user,
|
||||||
|
creation_date=timezone.now(),
|
||||||
|
description="La nuit c'est lol",
|
||||||
|
beginning_date=timezone.now()
|
||||||
|
+ timedelta(days=30),
|
||||||
|
ending_date=timezone.now()
|
||||||
|
+ timedelta(days=31),
|
||||||
|
)
|
||||||
|
cls.factory = APIRequestFactory()
|
||||||
|
|
||||||
|
def test_place(self):
|
||||||
|
Place.objects.create(name="root-place", event=None)
|
||||||
|
Place.objects.create(name="event-place", event=self.event)
|
||||||
|
|
||||||
|
self.client.force_authenticate(user=self.user)
|
||||||
|
|
||||||
|
url = reverse('place-list')
|
||||||
|
response = self.client.get(url, format='json')
|
||||||
|
self.assertEqual(response.json()['count'], 1)
|
||||||
|
|
||||||
|
event_id = self.event.id
|
||||||
|
url = reverse('event-place-list', kwargs={'event_pk': event_id})
|
||||||
|
response = self.client.get(url, format='json')
|
||||||
|
self.assertEqual(response.json()['count'], 2)
|
||||||
|
|
||||||
|
def test_tag(self):
|
||||||
|
ActivityTag.objects.create(name="root-tag",
|
||||||
|
is_public=True,
|
||||||
|
color="#000",
|
||||||
|
event=None)
|
||||||
|
ActivityTag.objects.create(name="event-tag",
|
||||||
|
is_public=True,
|
||||||
|
color="#FFF",
|
||||||
|
event=self.event)
|
||||||
|
|
||||||
|
self.client.force_authenticate(user=self.user)
|
||||||
|
|
||||||
|
url = reverse('activitytag-list')
|
||||||
|
response = self.client.get(url, format='json')
|
||||||
|
self.assertEqual(response.json()['count'], 1)
|
||||||
|
|
||||||
|
event_id = self.event.id
|
||||||
|
url = reverse('event-activitytag-list', kwargs={'event_pk': event_id})
|
||||||
|
response = self.client.get(url, format='json')
|
||||||
|
self.assertEqual(response.json()['count'], 2)
|
||||||
|
|
||||||
|
def test_activitytemplate(self):
|
||||||
|
ActivityTemplate.objects.create(title="test", event=self.event)
|
||||||
|
|
||||||
|
self.client.force_authenticate(user=self.user)
|
||||||
|
|
||||||
|
event_id = self.event.id
|
||||||
|
url = reverse('event-activitytemplate-list',
|
||||||
|
kwargs={'event_pk': event_id})
|
||||||
|
response = self.client.get(url, format='json')
|
||||||
|
self.assertEqual(response.json()['count'], 1)
|
||||||
|
|
|
@ -77,7 +77,8 @@ REST_FRAMEWORK = {
|
||||||
'DEFAULT_PERMISSION_CLASSES': [
|
'DEFAULT_PERMISSION_CLASSES': [
|
||||||
'rest_framework.permissions.AllowAny',
|
'rest_framework.permissions.AllowAny',
|
||||||
],
|
],
|
||||||
'PAGE_SIZE': 10
|
'PAGE_SIZE': 10,
|
||||||
|
'TEST_REQUEST_DEFAULT_FORMAT': 'json',
|
||||||
}
|
}
|
||||||
|
|
||||||
ROOT_URLCONF = 'evenementiel.urls'
|
ROOT_URLCONF = 'evenementiel.urls'
|
||||||
|
|
Loading…
Add table
Reference in a new issue