1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-14 23:46:49 +00:00
seahub/tests/api/endpoints/test_wikis.py
zhengxie 222739ace6 Squashed commit of the following and rebase:
commit 251f1cd451
Author: zhengxie <xiez1989@gmail.com>
Date:   Mon Mar 19 14:41:25 2018 +0800

    Update wiki pages

commit 9461b904f4
Author: ilearnit <helloworld.c@outlook.com>
Date:   Mon Feb 26 16:36:58 2018 +0800

    extend wikis page operation

commit 0ad2f5bc49
Author: zhengxie <xiez1989@gmail.com>
Date:   Mon Mar 12 11:32:27 2018 +0800

    Fix minor issues

commit 8fb3c1ab47
Author: ilearnit <helloworld.c@outlook.com>
Date:   Fri Feb 9 17:02:36 2018 +0800

    add edit wiki permission

commit 2103d80302
Author: zhengxie <xiez1989@gmail.com>
Date:   Fri Feb 9 11:56:48 2018 +0800

    [wiki] Updates and tests

commit 642198cc80
Author: zhengxie <xiez1989@gmail.com>
Date:   Wed Jan 17 12:04:52 2018 +0800

    Add wiki home page and and tests

commit 999b17d0e9
Author: ilearnit <helloworld.c@foxmail.com>
Date:   Tue Jan 16 12:19:06 2018 +0800

    Delete a Wiki

    Conflicts:
    	seahub/wiki/models.py

commit f5b00647c6
Author: zhengxie <xiez1989@gmail.com>
Date:   Fri Jan 12 17:34:12 2018 +0800

    [wiki] Add wiki model
2018-03-26 13:31:40 +08:00

68 lines
2.0 KiB
Python

import json
from django.core.urlresolvers import reverse
import seaserv
from seaserv import seafile_api, ccnet_api
from seahub.wiki.models import Wiki
from seahub.test_utils import BaseTestCase
class WikisViewTest(BaseTestCase):
def setUp(self):
self.url = reverse('api-v2.1-wikis')
self.login_as(self.user)
def test_can_list(self):
resp = self.client.get(self.url)
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert len(json_resp['data']) == 0
wiki = Wiki.objects.add('test wiki', self.user.username,
repo_id=self.repo.id)
resp = self.client.get(self.url)
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert len(json_resp['data']) == 1
assert json_resp['data'][0]['name'] == wiki.name
assert 'wikis/test-wiki' in json_resp['data'][0]['link']
def test_can_add(self):
assert len(Wiki.objects.all()) == 0
resp = self.client.post(self.url, {
'name': 'test wiki',
'permission': 'private',
})
self.assertEqual(200, resp.status_code)
assert len(Wiki.objects.all()) == 1
class WikiViewTest(BaseTestCase):
def setUp(self):
wiki = Wiki.objects.add('test wiki', self.user.username,
repo_id=self.repo.id)
self.url = reverse('api-v2.1-wiki', args=[wiki.slug])
self.login_as(self.user)
def test_can_delete(self):
assert len(Wiki.objects.all()) == 1
resp = self.client.delete(self.url)
self.assertEqual(200, resp.status_code)
assert len(Wiki.objects.all()) == 0
def test_can_edit_wiki_perm(self):
resp = self.client.put(self.url, "permission=public", 'application/x-www-form-urlencoded')
json_resp = json.loads(resp.content)
self.assertEqual(200, resp.status_code)
assert json_resp["permission"] == "public"