mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-13 13:50:07 +00:00
sysadmin reconstruct terms-and-conditions api (#4226)
* sysadmin reconstruct term and conditions api * fix settings check in sysadmin terms and conditions api
This commit is contained in:
79
tests/api/endpoints/admin/test_terms_and_conditions.py
Normal file
79
tests/api/endpoints/admin/test_terms_and_conditions.py
Normal file
@@ -0,0 +1,79 @@
|
||||
import time
|
||||
import json
|
||||
from mock import patch
|
||||
|
||||
from django.utils import timezone
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test import override_settings
|
||||
|
||||
from seahub.test_utils import BaseTestCase
|
||||
from seahub.invitations.models import Invitation
|
||||
from seahub.api2.permissions import CanInviteGuest
|
||||
from seahub.base.accounts import UserPermissions
|
||||
from seahub.invitations import models
|
||||
from termsandconditions.models import TermsAndConditions, UserTermsAndConditions
|
||||
|
||||
|
||||
@patch('seahub.api2.endpoints.admin.terms_and_conditions.ENABLE_TERMS_AND_CONDITIONS', True)
|
||||
class AdminTermsAndConditionsTest(BaseTestCase):
|
||||
def setUp(self):
|
||||
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_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)
|
||||
|
||||
|
||||
@patch('seahub.api2.endpoints.admin.terms_and_conditions.ENABLE_TERMS_AND_CONDITIONS', True)
|
||||
class AdminTermAndConditionTest(BaseTestCase):
|
||||
|
||||
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)
|
Reference in New Issue
Block a user