1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-13 06:55:59 +00:00
seahub/tests/api/endpoints/admin/test_terms_and_conditions.py

83 lines
2.7 KiB
Python
Raw Normal View History

import json
2020-07-27 06:59:18 +00:00
from django.urls import reverse
from seahub.test_utils import BaseTestCase
from termsandconditions.models import TermsAndConditions, UserTermsAndConditions
class AdminTermsAndConditionsTest(BaseTestCase):
def setUp(self):
2019-11-07 09:40:05 +00:00
from constance import config
self.config = config
self.config.ENABLE_TERMS_AND_CONDITIONS = True
self.url = reverse('api-v2.1-admin-terms-and-conditions')
def _add_term(self, name, text, version_number):
return TermsAndConditions.objects.create(
name=name, version_number=version_number, text=text,
date_active=None)
def test_can_get(self):
self.login_as(self.admin)
term1 = self._add_term(name='term1', text='text1', version_number=1)
resp = self.client.get(self.url)
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert type(json_resp['term_and_condition_list']) is list
assert json_resp['term_and_condition_list'][0]['name'] == term1.name
assert json_resp['term_and_condition_list'][0]['text'] == term1.text
term1.delete()
def test_no_permission(self):
self.login_as(self.admin_no_other_permission)
resp = self.client.get(self.url)
self.assertEqual(403, resp.status_code)
def test_get_permission_denied(self):
self.login_as(self.user)
resp = self.client.get(self.url)
self.assertEqual(403, resp.status_code)
def test_can_create(self):
self.login_as(self.admin)
data = {
"name": "test_name",
"text": "test_text",
"version_number": 1,
"is_active": False,
}
resp = self.client.post(self.url, data)
self.assertEqual(200, resp.status_code)
class AdminTermAndConditionTest(BaseTestCase):
2019-11-07 09:40:05 +00:00
def setUp(self):
from constance import config
self.config = config
self.config.ENABLE_TERMS_AND_CONDITIONS = True
def _add_term(self, name, text, version_number):
return TermsAndConditions.objects.create(
name=name, version_number=version_number, text=text,
date_active=None)
def test_can_delete(self):
self.login_as(self.admin)
term = self._add_term('name', 'text', 1)
url = reverse('api-v2.1-admin-term-and-condition', args=[term.id])
resp = self.client.delete(url)
self.assertEqual(200, resp.status_code)
def test_delete_permission_denied(self):
self.login_as(self.user)
term = self._add_term('name', 'text', 1)
url = reverse('api-v2.1-admin-term-and-condition', args=[term.id])
resp = self.client.delete(url)
self.assertEqual(403, resp.status_code)