Merge branch 'feature/collection-tests-api-status' into 'develop'
Feature/collection tests api status See merge request gm/gm-backend!17
This commit is contained in:
commit
524a2d814d
|
|
@ -91,7 +91,9 @@ class GuideQuerySet(models.QuerySet):
|
|||
class Guide(ProjectBaseMixin, CollectionNameMixin, CollectionDateMixin):
|
||||
"""Guide model."""
|
||||
parent = models.ForeignKey(
|
||||
'self', verbose_name=_('parent'), on_delete=models.CASCADE)
|
||||
'self', verbose_name=_('parent'), on_delete=models.CASCADE,
|
||||
null=True, blank=True, default=None
|
||||
)
|
||||
advertorials = JSONField(
|
||||
_('advertorials'), null=True, blank=True,
|
||||
default=None, help_text='{"key":"value"}')
|
||||
|
|
|
|||
|
|
@ -1,3 +1,82 @@
|
|||
from django.test import TestCase
|
||||
import json, pytz
|
||||
from datetime import datetime
|
||||
from rest_framework.test import APITestCase
|
||||
from account.models import User
|
||||
from rest_framework import status
|
||||
from http.cookies import SimpleCookie
|
||||
|
||||
from collection.models import Collection, Guide
|
||||
from location.models import Country
|
||||
|
||||
# Create your tests here.
|
||||
|
||||
|
||||
class BaseTestCase(APITestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.username = 'sedragurda'
|
||||
self.password = 'sedragurdaredips19'
|
||||
self.email = 'sedragurda@desoz.com'
|
||||
self.newsletter = True
|
||||
self.user = User.objects.create_user(
|
||||
username=self.username, email=self.email, password=self.password)
|
||||
#get tokkens
|
||||
tokkens = User.create_jwt_tokens(self.user)
|
||||
self.client.cookies = SimpleCookie(
|
||||
{'access_token': tokkens.get('access_token'),
|
||||
'refresh_token': tokkens.get('refresh_token'),
|
||||
'country_code': 'en'})
|
||||
|
||||
|
||||
class CollectionListTests(BaseTestCase):
|
||||
def test_collection_list_Read(self):
|
||||
response = self.client.get('/api/web/collections/', format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
|
||||
class CollectionDetailTests(BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
country = Country.objects.first()
|
||||
if not country:
|
||||
country = Country.objects.create(
|
||||
name=json.dumps({"en-GB": "Test country"}),
|
||||
code="en"
|
||||
)
|
||||
|
||||
self.collection = Collection.objects.create(
|
||||
name='Test collection',
|
||||
is_publish=True,
|
||||
start=datetime.now(pytz.utc),
|
||||
end=datetime.now(pytz.utc),
|
||||
country=country
|
||||
)
|
||||
|
||||
def test_collection_detail_Read(self):
|
||||
response = self.client.get(f'/api/web/collections/{self.collection.id}/establishments/?country_code=en',
|
||||
format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
|
||||
class CollectionGuideTests(CollectionDetailTests):
|
||||
|
||||
def test_guide_list_Read(self):
|
||||
response = self.client.get('/api/web/collections/guides/', format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
|
||||
class CollectionGuideDetailTests(CollectionDetailTests):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.guide = Guide.objects.create(
|
||||
collection=self.collection,
|
||||
start=datetime.now(pytz.utc),
|
||||
end=datetime.now(pytz.utc)
|
||||
)
|
||||
|
||||
def test_guide_detail_Read(self):
|
||||
response = self.client.get(f'/api/web/collections/guides/{self.guide.id}/', format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
|||
"""Establishment model."""
|
||||
|
||||
name = models.CharField(_('name'), max_length=255, default='')
|
||||
name_transliterated = models.CharField(_('Transliterated name'),
|
||||
name_translated = models.CharField(_('Transliterated name'),
|
||||
max_length=255, default='')
|
||||
description = TJSONField(blank=True, null=True, default=None,
|
||||
verbose_name=_('description'),
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user