Fix tests news
This commit is contained in:
parent
2e2ed19118
commit
c44f8c39c1
|
|
@ -6,7 +6,7 @@ from rest_framework import status
|
|||
from datetime import datetime, timedelta
|
||||
|
||||
from news.models import NewsType, News
|
||||
from account.models import User
|
||||
from account.models import User, Role, UserRole
|
||||
from translation.models import Language
|
||||
from location.models import Country
|
||||
# Create your tests here.
|
||||
|
|
@ -24,11 +24,7 @@ class BaseTestCase(APITestCase):
|
|||
self.client.cookies = SimpleCookie({'access_token': tokkens.get('access_token'),
|
||||
'refresh_token': tokkens.get('refresh_token')})
|
||||
self.test_news_type = NewsType.objects.create(name="Test news type")
|
||||
self.test_news = News.objects.create(created_by=self.user, modified_by=self.user, title={"en-GB": "Test news"},
|
||||
news_type=self.test_news_type, description={"en-GB": "Description test news"},
|
||||
playlist=1, start=datetime.now() + timedelta(hours=-2),
|
||||
end=datetime.now() + timedelta(hours=2),
|
||||
state=News.PUBLISHED, slug='test-news-slug',)
|
||||
|
||||
self.lang = Language.objects.create(
|
||||
title='Russia',
|
||||
locale='ru-RU'
|
||||
|
|
@ -44,16 +40,41 @@ class BaseTestCase(APITestCase):
|
|||
self.country_ru.languages.add(self.lang)
|
||||
self.country_ru.save()
|
||||
|
||||
class NewsTestCase(BaseTestCase):
|
||||
role = Role.objects.create(
|
||||
role=Role.CONTENT_PAGE_MANAGER,
|
||||
country=self.country_ru
|
||||
)
|
||||
role.save()
|
||||
|
||||
def test_news_list(self):
|
||||
user_role = UserRole.objects.create(
|
||||
user=self.user,
|
||||
role=role
|
||||
)
|
||||
user_role.save()
|
||||
|
||||
self.test_news = News.objects.create(created_by=self.user, modified_by=self.user,
|
||||
title={"en-GB": "Test news"},
|
||||
news_type=self.test_news_type,
|
||||
description={"en-GB": "Description test news"},
|
||||
playlist=1, start=datetime.now() + timedelta(hours=-2),
|
||||
end=datetime.now() + timedelta(hours=2),
|
||||
state=News.PUBLISHED, slug='test-news-slug',
|
||||
country=self.country_ru)
|
||||
|
||||
class NewsTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
def test_web_news(self):
|
||||
response = self.client.get("/api/web/news/")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
def test_news_web_detail(self):
|
||||
response = self.client.get(f"/api/web/news/slug/{self.test_news.slug}/")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
response = self.client.get("/api/web/news/types/")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
def test_news_back_detail(self):
|
||||
response = self.client.get(f"/api/back/news/{self.test_news.id}/")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
|
@ -62,10 +83,6 @@ class NewsTestCase(BaseTestCase):
|
|||
response = self.client.get("/api/back/news/")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
def test_news_type_list(self):
|
||||
response = self.client.get("/api/web/news/types/")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
def test_news_back_detail_put(self):
|
||||
# retrieve-update-destroy
|
||||
url = reverse('back:news:retrieve-update-destroy', kwargs={'pk': self.test_news.id})
|
||||
|
|
@ -78,5 +95,6 @@ class NewsTestCase(BaseTestCase):
|
|||
'news_type_id':self.test_news.news_type_id,
|
||||
'country_id': self.country_ru.id
|
||||
}
|
||||
|
||||
response = self.client.put(url, data=data, format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
|
@ -100,8 +100,8 @@ class IsContentPageManager(IsStandardUser):
|
|||
.first() # 'Comments moderator'
|
||||
|
||||
rules = [
|
||||
UserRole.objects.filter(user=request.user, role=role).exists() and
|
||||
obj.user != request.user,
|
||||
UserRole.objects.filter(user=request.user, role=role).exists(),
|
||||
# and obj.user != request.user,
|
||||
super().has_object_permission(request, view, obj)
|
||||
]
|
||||
return any(rules)
|
||||
|
|
@ -119,7 +119,6 @@ class IsCountryAdmin(IsStandardUser):
|
|||
.first() # 'Comments moderator'
|
||||
|
||||
rules = [
|
||||
# obj.user != request.user and
|
||||
UserRole.objects.filter(user=request.user, role=role).exists(),
|
||||
super().has_object_permission(request, view, obj),
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user