Fix schedule test and permissions
This commit is contained in:
parent
842ad47ec0
commit
08d624db05
|
|
@ -10,6 +10,8 @@ from translation.models import Language
|
|||
from account.models import Role, UserRole
|
||||
from location.models import Country, Address, City, Region
|
||||
from pytz import timezone as py_tz
|
||||
from main.models import SiteSettings
|
||||
from timetable.models import Timetable
|
||||
|
||||
|
||||
class BaseTestCase(APITestCase):
|
||||
|
|
@ -336,24 +338,56 @@ class MenuTests(ChildTestCase):
|
|||
|
||||
|
||||
class EstablishmentShedulerTests(ChildTestCase):
|
||||
def test_shedule_CRUD(self):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
self.lang, created = Language.objects.get_or_create(
|
||||
title='Russia',
|
||||
locale='ru-RU'
|
||||
)
|
||||
|
||||
self.country_ru, created = Country.objects.get_or_create(
|
||||
name={"en-GB": "Russian"}
|
||||
)
|
||||
|
||||
self.site_ru, created = SiteSettings.objects.get_or_create(
|
||||
subdomain='ru'
|
||||
)
|
||||
|
||||
role, created = Role.objects.get_or_create(
|
||||
role=Role.ESTABLISHMENT_MANAGER,
|
||||
country_id=self.country_ru.id,
|
||||
site_id=self.site_ru.id
|
||||
)
|
||||
|
||||
user_role, created = UserRole.objects.get_or_create(
|
||||
user=self.user,
|
||||
role=role,
|
||||
establishment_id=self.establishment.id
|
||||
)
|
||||
user_role.save()
|
||||
|
||||
def test_schedule_CRUD(self):
|
||||
data = {
|
||||
'weekday': 1
|
||||
}
|
||||
|
||||
response = self.client.post(f'/api/back/establishments/{self.establishment.id}/schedule/', data=data)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
schedule = response.data
|
||||
|
||||
response = self.client.get(f'/api/back/establishments/{self.establishment.id}/schedule/1/')
|
||||
response = self.client.get(f'/api/back/establishments/{self.establishment.id}/schedule/{schedule["id"]}/')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
update_data = {
|
||||
'weekday': 2
|
||||
}
|
||||
|
||||
response = self.client.patch(f'/api/back/establishments/{self.establishment.id}/schedule/1/', data=update_data)
|
||||
response = self.client.patch(f'/api/back/establishments/{self.establishment.id}/schedule/{schedule["id"]}/',
|
||||
data=update_data)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
response = self.client.delete(f'/api/back/establishments/{self.establishment.id}/schedule/1/')
|
||||
response = self.client.delete(f'/api/back/establishments/{self.establishment.id}/schedule/{schedule["id"]}/')
|
||||
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -304,7 +304,9 @@ class IsEstablishmentManager(IsStandardUser):
|
|||
def has_object_permission(self, request, view, obj):
|
||||
|
||||
rules = [
|
||||
super().has_object_permission(request, view, obj)
|
||||
# special!
|
||||
super().has_permission(request, view)
|
||||
# super().has_object_permission(request, view, obj)
|
||||
]
|
||||
|
||||
role = Role.objects.filter(role=Role.ESTABLISHMENT_MANAGER) \
|
||||
|
|
@ -315,7 +317,9 @@ class IsEstablishmentManager(IsStandardUser):
|
|||
UserRole.objects.filter(user=request.user, role=role,
|
||||
establishment_id=obj.establishment_id
|
||||
).exists(),
|
||||
super().has_object_permission(request, view, obj)
|
||||
# special!
|
||||
super().has_permission(request, view)
|
||||
# super().has_object_permission(request, view, obj)
|
||||
]
|
||||
|
||||
return any(rules)
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ class TranslateFieldTests(BaseTestCase):
|
|||
self.news_type = NewsType.objects.create(name="Test news type")
|
||||
self.news_type.save()
|
||||
|
||||
|
||||
self.country_ru, created = Country.objects.get_or_create(
|
||||
name={"en-GB": "Russian"}
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user