Skip to content

Commit 34a1648

Browse files
committed
Improve test coverage of secr.drafts. Commit ready for merge.
- Legacy-Id: 9307
1 parent a1a85d4 commit 34a1648

4 files changed

Lines changed: 128 additions & 27 deletions

File tree

ietf/secr/drafts/tests.py

Lines changed: 0 additions & 26 deletions
This file was deleted.

ietf/secr/drafts/tests_views.py

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
import os
2+
import shutil
3+
4+
from StringIO import StringIO
5+
from django.conf import settings
6+
from django.core.urlresolvers import reverse as urlreverse
7+
8+
from ietf.utils.test_utils import TestCase
9+
from ietf.doc.models import Document
10+
from ietf.person.models import Person
11+
from ietf.submit.models import Preapproval
12+
from ietf.utils.test_data import make_test_data
13+
14+
from pyquery import PyQuery
15+
16+
SECR_USER='secretary'
17+
18+
class MainTestCase(TestCase):
19+
def setUp(self):
20+
self.repository_dir = os.path.abspath("tmp-submit-repository-dir")
21+
os.mkdir(self.repository_dir)
22+
settings.INTERNET_DRAFT_PATH = self.repository_dir
23+
24+
self.archive_dir = os.path.abspath("tmp-submit-archive-dir")
25+
os.mkdir(self.archive_dir)
26+
settings.INTERNET_DRAFT_ARCHIVE_DIR = self.archive_dir
27+
28+
def tearDown(self):
29+
shutil.rmtree(self.repository_dir)
30+
shutil.rmtree(self.archive_dir)
31+
32+
def test_abstract(self):
33+
draft = make_test_data()
34+
url = urlreverse('drafts_abstract', kwargs={'id':draft.name})
35+
self.client.login(username="secretary", password="secretary+password")
36+
response = self.client.get(url)
37+
self.assertEqual(response.status_code, 200)
38+
39+
def test_add(self):
40+
draft = make_test_data()
41+
url = urlreverse('drafts_add')
42+
self.client.login(username="secretary", password="secretary+password")
43+
response = self.client.get(url)
44+
self.assertEqual(response.status_code, 200)
45+
46+
# dummy upload file
47+
txt_file = StringIO('This is a simple text file.')
48+
txt_file.name = "draft-dummy-00.txt"
49+
50+
post = dict(title='A test draft',
51+
group=draft.group.pk,
52+
start_date='2015-01-01',
53+
pages='10',
54+
txt=txt_file
55+
)
56+
response = self.client.post(url,post)
57+
self.assertEqual(response.status_code, 302)
58+
59+
def test_announce(self):
60+
draft = make_test_data()
61+
url = urlreverse('drafts_announce', kwargs={'id':draft.name})
62+
self.client.login(username="secretary", password="secretary+password")
63+
response = self.client.get(url)
64+
self.assertEqual(response.status_code, 302)
65+
66+
def test_approvals(self):
67+
make_test_data()
68+
Preapproval.objects.create(name='draft-dummy',
69+
by=Person.objects.get(name="(System)"))
70+
url = urlreverse('drafts_approvals')
71+
self.client.login(username="secretary", password="secretary+password")
72+
response = self.client.get(url)
73+
self.assertEqual(response.status_code, 200)
74+
self.assertTrue('draft-dummy' in response.content)
75+
76+
def test_edit(self):
77+
draft = make_test_data()
78+
url = urlreverse('drafts_edit', kwargs={'id':draft.name})
79+
self.client.login(username="secretary", password="secretary+password")
80+
response = self.client.get(url)
81+
self.assertEqual(response.status_code, 200)
82+
83+
def test_email(self):
84+
# can't test this directly, test via drafts actions
85+
pass
86+
87+
def test_makerfc(self):
88+
draft = make_test_data()
89+
url = urlreverse('drafts_edit', kwargs={'id':draft.name})
90+
self.client.login(username="secretary", password="secretary+password")
91+
response = self.client.get(url)
92+
self.assertEqual(response.status_code, 200)
93+
self.assertTrue(draft.intended_std_level)
94+
95+
def test_search(self):
96+
draft = make_test_data()
97+
url = urlreverse('drafts')
98+
self.client.login(username="secretary", password="secretary+password")
99+
response = self.client.get(url)
100+
self.assertEqual(response.status_code, 200)
101+
102+
post = dict(filename='draft',state=1,submit='submit')
103+
response = self.client.post(url,post)
104+
self.assertEqual(response.status_code, 200)
105+
self.assertTrue(draft.name in response.content)
106+
107+
def test_update(self):
108+
draft = make_test_data()
109+
url = urlreverse('drafts_update', kwargs={'id':draft.name})
110+
self.client.login(username="secretary", password="secretary+password")
111+
response = self.client.get(url)
112+
self.assertEqual(response.status_code, 200)
113+
114+
def test_view(self):
115+
draft = make_test_data()
116+
url = urlreverse('drafts_view', kwargs={'id':draft.name})
117+
self.client.login(username="secretary", password="secretary+password")
118+
response = self.client.get(url)
119+
self.assertEqual(response.status_code, 200)
120+

ietf/secr/templates/drafts/makerfc.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ <h2>Draft - Make RFC</h2>
5353
<h2>Author(s)</h2>
5454
<table>
5555
{% for author in draft.authors.all %}
56-
<tr><td><a href="{% url "sec.rolodex.views.view" id=author.person.pk %}">{{ author.person.name }}</a></td></tr>
56+
<tr><td><a href="{% url "rolodex_view" id=author.person.pk %}">{{ author.person.name }}</a></td></tr>
5757
{% endfor %}
5858
</table>
5959
</div> <!-- inline-related -->

ietf/utils/test_data.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,13 @@ def make_test_data():
221221
desc="Started IESG process",
222222
)
223223

224+
DocEvent.objects.create(
225+
type="new_revision",
226+
by=ad,
227+
doc=draft,
228+
desc="New revision available",
229+
)
230+
224231
BallotDocEvent.objects.create(
225232
type="created_ballot",
226233
ballot_type=BallotType.objects.get(doc_type="draft", slug="approve"),

0 commit comments

Comments
 (0)