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):
|
class Guide(ProjectBaseMixin, CollectionNameMixin, CollectionDateMixin):
|
||||||
"""Guide model."""
|
"""Guide model."""
|
||||||
parent = models.ForeignKey(
|
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 = JSONField(
|
||||||
_('advertorials'), null=True, blank=True,
|
_('advertorials'), null=True, blank=True,
|
||||||
default=None, help_text='{"key":"value"}')
|
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.
|
# 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."""
|
"""Establishment model."""
|
||||||
|
|
||||||
name = models.CharField(_('name'), max_length=255, default='')
|
name = models.CharField(_('name'), max_length=255, default='')
|
||||||
name_transliterated = models.CharField(_('Transliterated name'),
|
name_translated = models.CharField(_('Transliterated name'),
|
||||||
max_length=255, default='')
|
max_length=255, default='')
|
||||||
description = TJSONField(blank=True, null=True, default=None,
|
description = TJSONField(blank=True, null=True, default=None,
|
||||||
verbose_name=_('description'),
|
verbose_name=_('description'),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user