From 80701f27a92665b72fdd4d99044026239b427330 Mon Sep 17 00:00:00 2001 From: littlewolf Date: Mon, 23 Sep 2019 18:02:25 +0300 Subject: [PATCH] Add translation tests to model and API --- apps/utils/tests.py | 64 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 apps/utils/tests.py diff --git a/apps/utils/tests.py b/apps/utils/tests.py new file mode 100644 index 00000000..1c9fa71d --- /dev/null +++ b/apps/utils/tests.py @@ -0,0 +1,64 @@ +import pytz +from datetime import datetime + +from rest_framework.test import APITestCase +from rest_framework import status +from http.cookies import SimpleCookie + +from account.models import User +from news.models import News, NewsType + + +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'), + 'locale': "en" + }) + + self.news_type = NewsType.objects.create(name="Test news type") + + self.news_item = News.objects.create( + created_by=self.user, + modified_by=self.user, + title={ + "en-GB": "Test news item", + "ru-RU": "Тестовая новость" + }, + description={"en-GB": "Test description"}, + playlist=1, + start=datetime.now(pytz.utc), + end=datetime.now(pytz.utc), + is_publish=True, + news_type=self.news_type + ) + + +class TranslateFieldModel(BaseTestCase): + + def test_model_field(self): + self.assertIsNotNone(getattr(self.news_item, "title_translated", None)) + + +class TranslateFieldReview(BaseTestCase): + + def test_read_locale(self): + response = self.client.get(f"/api/web/news/{self.news_item.id}/", format='json') + self.assertEqual(response.status_code, status.HTTP_200_OK) + news_data = response.json() + + self.assertIn("title_translated", news_data) + + self.assertEqual(news_data['title_translated'], "Test news item")