fix some test
This commit is contained in:
parent
377d8196dc
commit
ecef1a217a
|
|
@ -42,8 +42,9 @@ class BaseTestCase(APITestCase):
|
|||
start=datetime.fromisoformat("2020-12-03 12:00:00"),
|
||||
end=datetime.fromisoformat("2020-12-03 12:00:00"),
|
||||
state=News.PUBLISHED,
|
||||
slug='test-news'
|
||||
slugs={'en-GB': 'test-news'}
|
||||
)
|
||||
self.slug = next(iter(self.test_news.slugs.values()))
|
||||
|
||||
self.test_content_type = ContentType.objects.get(
|
||||
app_label="news", model="news")
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
import django.contrib.postgres.fields.hstore
|
||||
from django.db import migrations
|
||||
from django.contrib.postgres.operations import HStoreExtension
|
||||
|
||||
def migrate_slugs(apps, schemaeditor):
|
||||
News = apps.get_model('news', 'News')
|
||||
|
|
@ -18,6 +19,7 @@ class Migration(migrations.Migration):
|
|||
]
|
||||
|
||||
operations = [
|
||||
HStoreExtension(),
|
||||
migrations.AddField(
|
||||
model_name='news',
|
||||
name='slugs',
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ class NewsBackOfficeBaseSerializer(NewsBaseSerializer):
|
|||
|
||||
def validate(self, attrs):
|
||||
slugs = attrs.get('slugs', {})
|
||||
if models.News.objects.filter(slugs__values__contains=[slugs.values()]).exists():
|
||||
if models.News.objects.filter(slugs__values__contains=list(slugs.values())).exists():
|
||||
raise serializers.ValidationError({'slugs': _('News with this slug already exists.')})
|
||||
return attrs
|
||||
|
||||
|
|
|
|||
|
|
@ -66,10 +66,11 @@ class BaseTestCase(APITestCase):
|
|||
start=datetime.now() + timedelta(hours=-2),
|
||||
end=datetime.now() + timedelta(hours=2),
|
||||
state=News.PUBLISHED,
|
||||
slug='test-news-slug',
|
||||
slugs={'en-GB': 'test-news-slug'},
|
||||
country=self.country_ru,
|
||||
site=self.site_ru
|
||||
)
|
||||
self.slug = next(iter(self.test_news.slugs.values()))
|
||||
|
||||
|
||||
class NewsTestCase(BaseTestCase):
|
||||
|
|
@ -84,7 +85,7 @@ class NewsTestCase(BaseTestCase):
|
|||
"start": datetime.now() + timedelta(hours=-2),
|
||||
"end": datetime.now() + timedelta(hours=2),
|
||||
"state": News.PUBLISHED,
|
||||
"slug": 'test-news-slug_post',
|
||||
"slugs": {'en-GB': 'test-news-slug_post'},
|
||||
"country_id": self.country_ru.id,
|
||||
"site_id": self.site_ru.id
|
||||
}
|
||||
|
|
@ -97,7 +98,7 @@ class NewsTestCase(BaseTestCase):
|
|||
response = self.client.get(reverse('web:news:list'))
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
response = self.client.get(f"/api/web/news/slug/{self.test_news.slug}/")
|
||||
response = self.client.get(f"/api/web/news/slug/{self.slug}/")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
response = self.client.get("/api/web/news/types/")
|
||||
|
|
@ -117,7 +118,7 @@ class NewsTestCase(BaseTestCase):
|
|||
data = {
|
||||
'id': self.test_news.id,
|
||||
'description': {"ru-RU": "Description test news!"},
|
||||
'slug': self.test_news.slug,
|
||||
'slugs': self.test_news.slugs,
|
||||
'start': self.test_news.start,
|
||||
'news_type_id': self.test_news.news_type_id,
|
||||
'country_id': self.country_ru.id,
|
||||
|
|
@ -133,10 +134,10 @@ class NewsTestCase(BaseTestCase):
|
|||
"object_id": self.test_news.id
|
||||
}
|
||||
|
||||
response = self.client.post(f'/api/web/news/slug/{self.test_news.slug}/favorites/', data=data)
|
||||
response = self.client.post(f'/api/web/news/slug/{self.slug}/favorites/', data=data)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
|
||||
response = self.client.delete(f'/api/web/news/slug/{self.test_news.slug}/favorites/', format='json')
|
||||
response = self.client.delete(f'/api/web/news/slug/{self.slug}/favorites/', format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -56,17 +56,18 @@ class TranslateFieldTests(BaseTestCase):
|
|||
start=datetime.now(pytz.utc) + timedelta(hours=-13),
|
||||
end=datetime.now(pytz.utc) + timedelta(hours=13),
|
||||
news_type=self.news_type,
|
||||
slug='test',
|
||||
slugs={'en-GB': 'test'},
|
||||
state=News.PUBLISHED,
|
||||
country=self.country_ru,
|
||||
)
|
||||
self.slug = next(iter(self.news_item.slugs.values()))
|
||||
self.news_item.save()
|
||||
|
||||
def test_model_field(self):
|
||||
self.assertTrue(hasattr(self.news_item, "title_translated"))
|
||||
|
||||
def test_read_locale(self):
|
||||
response = self.client.get(f"/api/web/news/slug/{self.news_item.slug}/", format='json')
|
||||
response = self.client.get(f"/api/web/news/slug/{self.slug}/", format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
news_data = response.json()
|
||||
self.assertIn("title_translated", news_data)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user