Fix tests news

This commit is contained in:
Виктор Гладких 2019-10-18 13:05:42 +03:00
parent 2e2ed19118
commit c44f8c39c1
2 changed files with 33 additions and 16 deletions

View File

@ -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)

View File

@ -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),
]