Skip to content

Commit 7d0e817

Browse files
committed
Fix a bunch of failing tests, mostly due to changes in markup
- Legacy-Id: 8529
1 parent b5a0ab8 commit 7d0e817

14 files changed

Lines changed: 80 additions & 93 deletions

ietf/doc/tests.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def test_frontpage(self):
9797
make_test_data()
9898
r = self.client.get("/")
9999
self.assertEqual(r.status_code, 200)
100-
self.assertTrue("Search Internet-Drafts" in r.content)
100+
self.assertTrue("Search Documents" in r.content)
101101

102102
def test_drafts_pages(self):
103103
draft = make_test_data()
@@ -373,14 +373,12 @@ def test_document_nonietf_pubreq_button(self):
373373
self.client.login(username='iab-chair', password='iab-chair+password')
374374
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
375375
self.assertEqual(r.status_code, 200)
376-
q = PyQuery(r.content)
377-
self.assertFalse(q('.actions'))
376+
self.assertTrue("Request publication" not in r.content)
378377

379378
Document.objects.filter(pk=doc.pk).update(stream='iab')
380379
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
381380
self.assertEqual(r.status_code, 200)
382-
q = PyQuery(r.content)
383-
self.assertTrue('IESG state' in q('.actions').html())
381+
self.assertTrue("Request publication" in r.content)
384382

385383

386384
class AddCommentTestCase(TestCase):

ietf/doc/tests_ballot.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -174,17 +174,17 @@ def test_edit_last_call_text(self):
174174
self.assertEqual(r.status_code, 200)
175175
q = PyQuery(r.content)
176176
self.assertEqual(len(q('textarea[name=last_call_text]')), 1)
177-
self.assertEqual(len(q('input[type=submit][value*="Save Last Call"]')), 1)
178-
# we're secretariat, so we got The Link
179-
self.assertEqual(len(q('a:contains("Make Last Call")')), 1)
177+
self.assertTrue(q('[type=submit]:contains("Save")'))
178+
# we're Secretariat, so we got The Link
179+
self.assertEqual(len(q('a:contains("Issue last call")')), 1)
180180

181181
# subject error
182182
r = self.client.post(url, dict(
183183
last_call_text="Subject: test\r\nhello\r\n\r\n",
184184
save_last_call_text="1"))
185185
self.assertEqual(r.status_code, 200)
186186
q = PyQuery(r.content)
187-
self.assertTrue(len(q('ul.errorlist')) > 0)
187+
self.assertTrue(len(q('form .has-error')) > 0)
188188

189189
# save
190190
r = self.client.post(url, dict(
@@ -243,7 +243,7 @@ def test_edit_ballot_writeup(self):
243243
self.assertEqual(r.status_code, 200)
244244
q = PyQuery(r.content)
245245
self.assertEqual(len(q('textarea[name=ballot_writeup]')), 1)
246-
self.assertEqual(len(q('input[type=submit][value*="Save Ballot Writeup"]')), 1)
246+
self.assertTrue(q('[type=submit]:contains("Save")'))
247247
self.assertTrue("IANA does not" in r.content)
248248

249249
# save
@@ -317,7 +317,7 @@ def test_edit_approval_text(self):
317317
self.assertEqual(r.status_code, 200)
318318
q = PyQuery(r.content)
319319
self.assertEqual(len(q('textarea[name=approval_text]')), 1)
320-
self.assertEqual(len(q('input[type=submit][value*="Save Approval"]')), 1)
320+
self.assertTrue(q('[type=submit]:contains("Save")'))
321321

322322
# save
323323
r = self.client.post(url, dict(
@@ -365,8 +365,8 @@ def test_approve_ballot(self):
365365
r = self.client.get(url)
366366
self.assertEqual(r.status_code, 200)
367367
q = PyQuery(r.content)
368-
self.assertTrue("send out the announcement" in q('.actions input[type=submit]')[0].get('value').lower())
369-
self.assertEqual(len(q('.announcement pre:contains("Subject: Protocol Action")')), 1)
368+
self.assertTrue(q('[type=submit]:contains("send announcement")'))
369+
self.assertEqual(len(q('form pre:contains("Subject: Protocol Action")')), 1)
370370

371371
# approve
372372
mailbox_before = len(outbox)
@@ -466,7 +466,7 @@ def helper_test_defer(self,name):
466466
r = self.client.get(url)
467467
self.assertEqual(r.status_code, 200)
468468
q = PyQuery(r.content)
469-
self.assertEqual(len(q('form.defer')),1)
469+
self.assertEqual(len(q('[type=submit][value="Defer ballot"]')),1)
470470

471471
# defer
472472
mailbox_before = len(outbox)
@@ -521,7 +521,7 @@ def helper_test_undefer(self,name):
521521
r = self.client.get(url)
522522
self.assertEqual(r.status_code, 200)
523523
q = PyQuery(r.content)
524-
self.assertEqual(len(q('form.undefer')),1)
524+
self.assertEqual(len(q('[type=submit][value="Undefer ballot"]')),1)
525525

526526
# undefer
527527
mailbox_before = len(outbox)

ietf/doc/tests_charter.py

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def test_change_state(self):
7171
r = self.client.post(url, dict(charter_state="-12345"))
7272
self.assertEqual(r.status_code, 200)
7373
q = PyQuery(r.content)
74-
self.assertTrue(len(q('form ul.errorlist')) > 0)
74+
self.assertTrue(len(q('form .has-error')) > 0)
7575
self.assertEqual(charter.get_state(), first_state)
7676

7777
# change state
@@ -370,18 +370,16 @@ def test_approve(self):
370370
desc="Has been copied",
371371
due=due_date,
372372
resolved="")
373-
# m2 isn't used -- missing test?
374-
m2 = GroupMilestone.objects.create(group=group, # pyflakes:ignore
375-
state_id="active",
376-
desc="To be deleted",
377-
due=due_date,
378-
resolved="")
379-
# m3 isn't used -- missing test?
380-
m3 = GroupMilestone.objects.create(group=group, # pyflakes:ignore
381-
state_id="charter",
382-
desc="Has been copied",
383-
due=due_date,
384-
resolved="")
373+
GroupMilestone.objects.create(group=group,
374+
state_id="active",
375+
desc="To be deleted",
376+
due=due_date,
377+
resolved="")
378+
GroupMilestone.objects.create(group=group,
379+
state_id="charter",
380+
desc="Has been copied",
381+
due=due_date,
382+
resolved="")
385383
m4 = GroupMilestone.objects.create(group=group,
386384
state_id="charter",
387385
desc="New charter milestone",
@@ -392,7 +390,7 @@ def test_approve(self):
392390
r = self.client.get(url)
393391
self.assertEqual(r.status_code, 200)
394392
q = PyQuery(r.content)
395-
self.assertTrue("Send out the announcement" in q('input[type=submit]')[0].get('value'))
393+
self.assertTrue(q('[type=submit]:contains("Send announcement")'))
396394
self.assertEqual(len(q('pre')), 1)
397395

398396
# approve

ietf/doc/tests_draft.py

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def test_change_state(self):
3333
login_testing_unauthorized(self, "secretary", url)
3434

3535
first_state = draft.get_state("draft-iesg")
36-
next_states = first_state.next_states
36+
next_states = first_state.next_states.all()
3737

3838
# normal get
3939
r = self.client.get(url)
@@ -42,14 +42,14 @@ def test_change_state(self):
4242
self.assertEqual(len(q('form select[name=state]')), 1)
4343

4444
if next_states:
45-
self.assertTrue(len(q('.next-states form input[type=hidden]')) > 0)
45+
self.assertEqual(len(q('[type=submit][value="%s"]' % next_states[0].name)), 1)
4646

4747

4848
# faulty post
4949
r = self.client.post(url, dict(state=State.objects.get(used=True, type="draft", slug="active").pk))
5050
self.assertEqual(r.status_code, 200)
5151
q = PyQuery(r.content)
52-
self.assertTrue(len(q('form ul.errorlist')) > 0)
52+
self.assertTrue(len(q('form .has-error')) > 0)
5353
draft = Document.objects.get(name=draft.name)
5454
self.assertEqual(draft.get_state("draft-iesg"), first_state)
5555

@@ -81,7 +81,7 @@ def test_change_state(self):
8181
r = self.client.get(url)
8282
self.assertEqual(r.status_code, 200)
8383
q = PyQuery(r.content)
84-
self.assertEqual(len(q('.prev-state form input[name="state"]')), 1)
84+
self.assertEqual(len(q('form [type=submit][value="%s"]' % first_state.name)), 1)
8585

8686
def test_pull_from_rfc_queue(self):
8787
draft = make_test_data()
@@ -127,7 +127,7 @@ def test_change_iana_state(self):
127127
r = self.client.post(url, dict(state="foobarbaz"))
128128
self.assertEqual(r.status_code, 200)
129129
q = PyQuery(r.content)
130-
self.assertTrue(len(q('form ul.errorlist')) > 0)
130+
self.assertTrue(len(q('form .has-error')) > 0)
131131
draft = Document.objects.get(name=draft.name)
132132
self.assertEqual(draft.get_state("draft-iana-review"), first_state)
133133

@@ -149,7 +149,7 @@ def test_request_last_call(self):
149149

150150
self.assertTrue(not draft.latest_event(type="changed_ballot_writeup_text"))
151151
r = self.client.post(url, dict(state=State.objects.get(used=True, type="draft-iesg", slug="lc-req").pk))
152-
self.assertContains(r, "Your request to issue the Last Call")
152+
self.assertTrue("Your request to issue" in r.content)
153153

154154
# last call text
155155
e = draft.latest_event(WriteupDocEvent, type="changed_last_call_text")
@@ -195,7 +195,7 @@ def test_edit_info(self):
195195
r = self.client.post(url, dict(ad="123456789"))
196196
self.assertEqual(r.status_code, 200)
197197
q = PyQuery(r.content)
198-
self.assertTrue(len(q('form ul.errorlist')) > 0)
198+
self.assertTrue(len(q('form .has-error')) > 0)
199199
draft = Document.objects.get(name=draft.name)
200200
self.assertEqual(draft.ad, prev_ad)
201201

@@ -689,7 +689,7 @@ def test_doc_change_stream(self):
689689
r = self.client.get(url)
690690
self.assertEqual(r.status_code,200)
691691
q = PyQuery(r.content)
692-
self.assertEqual(len(q('form.change-stream')),1)
692+
self.assertEqual(len(q('[type=submit]:contains("Save")')), 1)
693693

694694
# shift to ISE stream
695695
messages_before = len(outbox)
@@ -742,13 +742,13 @@ def test_doc_change_intended_status(self):
742742
r = self.client.get(url)
743743
self.assertEqual(r.status_code,200)
744744
q = PyQuery(r.content)
745-
self.assertEqual(len(q('form.change-intended-status')),1)
745+
self.assertEqual(len(q('[type=submit]:contains("Save")')), 1)
746746

747747
# don't allow status level to be cleared
748748
r = self.client.post(url,dict(intended_std_level=""))
749749
self.assertEqual(r.status_code,200)
750750
q = PyQuery(r.content)
751-
self.assertTrue(len(q('form ul.errorlist')) > 0)
751+
self.assertTrue(len(q('form .has-error')) > 0)
752752

753753
# change intended status level
754754
messages_before = len(outbox)
@@ -768,7 +768,7 @@ def test_doc_change_telechat_date(self):
768768
r = self.client.get(url)
769769
self.assertEqual(r.status_code,200)
770770
q = PyQuery(r.content)
771-
self.assertEqual(len(q('form.telechat-date')),1)
771+
self.assertEqual(len(q('[type=submit]:contains("Save")')), 1)
772772

773773
# set a date
774774
self.assertFalse(self.doc.latest_event(TelechatDocEvent, "scheduled_for_telechat"))
@@ -791,7 +791,7 @@ def test_doc_change_iesg_note(self):
791791
r = self.client.get(url)
792792
self.assertEqual(r.status_code,200)
793793
q = PyQuery(r.content)
794-
self.assertEqual(len(q('form.edit-iesg-note')),1)
794+
self.assertEqual(len(q('[type=submit]:contains("Save")')),1)
795795

796796
# post
797797
r = self.client.post(url,dict(note='ZpyQFGmA\r\nZpyQFGmA'))
@@ -853,7 +853,7 @@ def test_doc_change_shepherd(self):
853853
r = self.client.post(url, dict(shepherd=two_answers))
854854
self.assertEqual(r.status_code, 200)
855855
q = PyQuery(r.content)
856-
self.assertTrue(len(q('form ul.errorlist')) > 0)
856+
self.assertTrue(len(q('form .has-error')) > 0)
857857

858858
def test_doc_change_shepherd_email(self):
859859
self.doc.shepherd = None
@@ -892,15 +892,16 @@ def test_doc_view_shepherd_writeup(self):
892892
r = self.client.get(url)
893893
self.assertEqual(r.status_code,200)
894894
q = PyQuery(r.content)
895-
self.assertEqual(len(q('span[id=doc_edit_shepherd_writeup]')),1)
895+
self.assertEqual(len(q('.content-wrapper a:contains("Edit")')), 1)
896896

897897
# Try again when no longer a shepherd.
898898

899899
self.doc.shepherd = None
900+
self.doc.save()
900901
r = self.client.get(url)
901902
self.assertEqual(r.status_code,200)
902903
q = PyQuery(r.content)
903-
self.assertEqual(len(q('span[id=doc_edit_shepherd_writeup]')),1)
904+
self.assertEqual(len(q('.content-wrapper a:contains("Edit")')), 0)
904905

905906
def test_doc_change_shepherd_writeup(self):
906907
url = urlreverse('doc_edit_shepherd_writeup',kwargs=dict(name=self.docname))
@@ -1015,7 +1016,7 @@ def test_request_publication(self):
10151016
q = PyQuery(r.content)
10161017
subject = q('input#id_subject')[0].get("value")
10171018
self.assertTrue("Document Action" in subject)
1018-
body = q('.request-publication #id_body').text()
1019+
body = q('#id_body').text()
10191020
self.assertTrue("Informational" in body)
10201021
self.assertTrue("IAB" in body)
10211022

@@ -1220,38 +1221,38 @@ def test_change_replaces(self):
12201221

12211222
# normal get
12221223
r = self.client.get(url)
1223-
self.assertEquals(r.status_code, 200)
1224+
self.assertEqual(r.status_code, 200)
12241225
q = PyQuery(r.content)
1225-
self.assertEquals(len(q('form[class=change-replaces]')), 1)
1226+
self.assertEqual(len(q('[type=submit]:contains("Save")')), 1)
12261227

12271228
# Post that says replacea replaces base a
1228-
self.assertEquals(self.basea.get_state().slug,'active')
1229+
self.assertEqual(self.basea.get_state().slug,'active')
12291230
repljson='{"%d":"%s"}'%(DocAlias.objects.get(name=self.basea.name).id,self.basea.name)
12301231
r = self.client.post(url, dict(replaces=repljson))
1231-
self.assertEquals(r.status_code, 302)
1232+
self.assertEqual(r.status_code, 302)
12321233
self.assertEqual(RelatedDocument.objects.filter(relationship__slug='replaces',source=self.replacea).count(),1)
1233-
self.assertEquals(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl')
1234+
self.assertEqual(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl')
12341235

12351236
# Post that says replaceboth replaces both base a and base b
12361237
url = urlreverse('doc_change_replaces', kwargs=dict(name=self.replaceboth.name))
1237-
self.assertEquals(self.baseb.get_state().slug,'expired')
1238+
self.assertEqual(self.baseb.get_state().slug,'expired')
12381239
repljson='{"%d":"%s","%d":"%s"}'%(DocAlias.objects.get(name=self.basea.name).id,self.basea.name,
12391240
DocAlias.objects.get(name=self.baseb.name).id,self.baseb.name)
12401241
r = self.client.post(url, dict(replaces=repljson))
1241-
self.assertEquals(r.status_code, 302)
1242-
self.assertEquals(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl')
1243-
self.assertEquals(Document.objects.get(name='draft-test-base-b').get_state().slug,'repl')
1242+
self.assertEqual(r.status_code, 302)
1243+
self.assertEqual(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl')
1244+
self.assertEqual(Document.objects.get(name='draft-test-base-b').get_state().slug,'repl')
12441245

12451246
# Post that undoes replaceboth
12461247
repljson='{}'
12471248
r = self.client.post(url, dict(replaces=repljson))
1248-
self.assertEquals(r.status_code, 302)
1249-
self.assertEquals(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl') # Because A is still also replaced by replacea
1250-
self.assertEquals(Document.objects.get(name='draft-test-base-b').get_state().slug,'expired')
1249+
self.assertEqual(r.status_code, 302)
1250+
self.assertEqual(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl') # Because A is still also replaced by replacea
1251+
self.assertEqual(Document.objects.get(name='draft-test-base-b').get_state().slug,'expired')
12511252

12521253
# Post that undoes replacea
12531254
url = urlreverse('doc_change_replaces', kwargs=dict(name=self.replacea.name))
12541255
r = self.client.post(url, dict(replaces=repljson))
1255-
self.assertEquals(r.status_code, 302)
1256-
self.assertEquals(Document.objects.get(name='draft-test-base-a').get_state().slug,'active')
1256+
self.assertEqual(r.status_code, 302)
1257+
self.assertEqual(Document.objects.get(name='draft-test-base-a').get_state().slug,'active')
12571258

ietf/doc/views_doc.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
import os, datetime, urllib, json, glob
3434

3535
from django.http import HttpResponse, Http404
36-
from django.shortcuts import render_to_response, get_object_or_404, redirect
36+
from django.shortcuts import render_to_response, get_object_or_404, redirect, render
3737
from django.template import RequestContext
3838
from django.template.loader import render_to_string
3939
from django.core.exceptions import ObjectDoesNotExist
@@ -863,20 +863,17 @@ def telechat_date(request, name):
863863
e = doc.latest_event(TelechatDocEvent, type="scheduled_for_telechat")
864864
initial_returning_item = bool(e and e.returning_item)
865865

866-
prompts = []
866+
warnings = []
867867
if e and e.telechat_date and doc.type.slug != 'charter':
868868
if e.telechat_date==datetime.date.today():
869-
prompts.append( "This document is currently scheduled for today's telechat. "
870-
+"Please set the returning item bit carefully.")
869+
warnings.append( "This document is currently scheduled for today's telechat. "
870+
+"Please set the returning item bit carefully.")
871871

872872
elif e.telechat_date<datetime.date.today() and has_same_ballot(doc,e.telechat_date):
873873
initial_returning_item = True
874-
prompts.append( "This document appears to have been on a previous telechat with the same ballot, "
874+
warnings.append( "This document appears to have been on a previous telechat with the same ballot, "
875875
+"so the returning item bit has been set. Clear it if that is not appropriate.")
876876

877-
else:
878-
pass
879-
880877
initial = dict(telechat_date=e.telechat_date if e else None,
881878
returning_item = initial_returning_item,
882879
)
@@ -895,13 +892,12 @@ def telechat_date(request, name):
895892
if doc.type.slug=='charter':
896893
del form.fields['returning_item']
897894

898-
return render_to_response('doc/edit_telechat_date.html',
895+
return render(request, 'doc/edit_telechat_date.html',
899896
dict(doc=doc,
900897
form=form,
901898
user=request.user,
902-
prompts=prompts,
903-
login=login),
904-
context_instance=RequestContext(request))
899+
warnings=warnings,
900+
login=login))
905901

906902
@role_required('Area Director', 'Secretariat')
907903
def edit_notify(request, name):

0 commit comments

Comments
 (0)