1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-22 05:08:33 +00:00
seahub/tests/api/endpoints/test_drafts.py
2018-11-16 14:27:06 +08:00

77 lines
2.0 KiB
Python

import json
from django.core.urlresolvers import reverse
from seahub.drafts.models import Draft
from seahub.test_utils import BaseTestCase
class DraftsViewTest(BaseTestCase):
def setUp(self):
self.url = reverse('api-v2.1-drafts')
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)
def test_can_create(self):
assert len(Draft.objects.all()) == 0
resp = self.client.post(self.url, {
'repo_id': self.repo.id,
'file_path': self.file,
})
self.assertEqual(200, resp.status_code)
assert len(Draft.objects.all()) == 1
json_resp = json.loads(resp.content)
assert json_resp['owner'] == self.user.username
assert json_resp['origin_repo_id'] == self.repo.id
def test_create_same_file(self):
resp = self.client.post(self.url, {
'repo_id': self.repo.id,
'file_path': self.file,
})
self.assertEqual(200, resp.status_code)
resp = self.client.post(self.url, {
'repo_id': self.repo.id,
'file_path': self.file,
})
self.assertEqual(409, resp.status_code)
class DraftViewTest(BaseTestCase):
def setUp(self):
draft = Draft.objects.add(self.user.username, self.repo, self.file)
self.url = reverse('api-v2.1-draft', args=[draft.id])
self.login_as(self.user)
def test_can_delete(self):
assert len(Draft.objects.all()) == 1
resp = self.client.delete(self.url)
self.assertEqual(200, resp.status_code)
assert len(Draft.objects.all()) == 0
def test_can_publish(self):
assert len(Draft.objects.all()) == 1
resp = self.client.put(
self.url,
'operation=publish',
'application/x-www-form-urlencoded',
)
self.assertEqual(200, resp.status_code)
assert len(Draft.objects.all()) == 0