mirror of
https://github.com/haiwen/seahub.git
synced 2025-07-14 15:35:35 +00:00
80 lines
2.8 KiB
Python
80 lines
2.8 KiB
Python
|
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)
|