From dcf9e6b40f65f1ca93cea6a5e252e9327cc4f7dc Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Wed, 6 Jun 2018 17:59:40 +0000 Subject: [PATCH] Use factories for ietf.doc.tests_ballots. Fixed a long-hidden bug in test_edit_verify_permissions where non-existing usernames were used and passed the tests accidently. Added list_email to the GroupFactory. Commit ready for merge. - Legacy-Id: 15219 --- ietf/doc/tests.py | 1 - ietf/doc/tests_ballot.py | 69 ++++++++++++++++++++++++---------------- ietf/group/factories.py | 1 + 3 files changed, 42 insertions(+), 29 deletions(-) diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index a16f0fe9d..93998c2bb 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -32,7 +32,6 @@ from ietf.name.models import SessionStatusName from ietf.person.models import Person from ietf.person.factories import PersonFactory from ietf.utils.mail import outbox -#from ietf.utils.test_data import make_test_data from ietf.utils.test_utils import login_testing_unauthorized, unicontent from ietf.utils.test_utils import TestCase diff --git a/ietf/doc/tests_ballot.py b/ietf/doc/tests_ballot.py index 5894f52f9..b25f73772 100644 --- a/ietf/doc/tests_ballot.py +++ b/ietf/doc/tests_ballot.py @@ -8,22 +8,23 @@ from django.urls import reverse as urlreverse from ietf.doc.models import ( Document, State, DocEvent, BallotPositionDocEvent, LastCallDocEvent, WriteupDocEvent, TelechatDocEvent ) -from ietf.doc.factories import DocumentFactory +from ietf.doc.factories import DocumentFactory, IndividualDraftFactory, IndividualRfcFactory, WgDraftFactory from ietf.doc.utils import create_ballot_if_not_open from ietf.group.models import Group, Role +from ietf.group.factories import GroupFactory, RoleFactory from ietf.name.models import BallotPositionName from ietf.iesg.models import TelechatDate from ietf.person.models import Person, PersonalApiKey +from ietf.person.factories import PersonFactory from ietf.utils.test_utils import TestCase, unicontent from ietf.utils.mail import outbox, empty_outbox -from ietf.utils.test_data import make_test_data from ietf.utils.test_utils import login_testing_unauthorized class EditPositionTests(TestCase): def test_edit_position(self): - draft = make_test_data() ad = Person.objects.get(user__username="ad") + draft = IndividualDraftFactory(ad=ad) ballot = create_ballot_if_not_open(None, draft, ad, 'approve') url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) @@ -89,9 +90,9 @@ class EditPositionTests(TestCase): self.assertTrue("Ballot comment text updated" in pos.desc) def test_api_set_position(self): - draft = make_test_data() - url = urlreverse('ietf.doc.views_ballot.api_set_position') ad = Person.objects.get(name="AreaĆ° Irector") + draft = WgDraftFactory(ad=ad) + url = urlreverse('ietf.doc.views_ballot.api_set_position') create_ballot_if_not_open(None, draft, ad, 'approve') ad.user.last_login = datetime.datetime.now() ad.user.save() @@ -172,7 +173,7 @@ class EditPositionTests(TestCase): def test_edit_position_as_secretary(self): - draft = make_test_data() + draft = IndividualDraftFactory() ad = Person.objects.get(user__username="ad") ballot = create_ballot_if_not_open(None, draft, ad, 'approve') url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) @@ -198,7 +199,7 @@ class EditPositionTests(TestCase): self.assertTrue("by Sec" in pos.desc) def test_cannot_edit_position_as_pre_ad(self): - draft = make_test_data() + draft = IndividualDraftFactory() ad = Person.objects.get(user__username="ad") ballot = create_ballot_if_not_open(None, draft, ad, 'approve') url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=draft.name, ballot_id=ballot.pk)) @@ -216,11 +217,11 @@ class EditPositionTests(TestCase): self.assertEqual(r.status_code, 403) def test_send_ballot_comment(self): - draft = make_test_data() + ad = Person.objects.get(user__username="ad") + draft = WgDraftFactory(ad=ad,group__acronym='mars') draft.notify = "somebody@example.com" draft.save_with_history([DocEvent.objects.create(doc=draft, rev=draft.rev, type="changed_document", by=Person.objects.get(user__username="secretary"), desc="Test")]) - ad = Person.objects.get(user__username="ad") ballot = create_ballot_if_not_open(None, draft, ad, 'approve') BallotPositionDocEvent.objects.create( @@ -274,7 +275,7 @@ class EditPositionTests(TestCase): class BallotWriteupsTests(TestCase): def test_edit_last_call_text(self): - draft = make_test_data() + draft = IndividualDraftFactory(ad=Person.objects.get(user__username='ad'),states=[('draft','active'),('draft-iesg','ad-eval')]) url = urlreverse('ietf.doc.views_ballot.lastcalltext', kwargs=dict(name=draft.name)) login_testing_unauthorized(self, "secretary", url) @@ -314,7 +315,8 @@ class BallotWriteupsTests(TestCase): def test_request_last_call(self): - draft = make_test_data() + ad = Person.objects.get(user__username="ad") + draft = IndividualDraftFactory(ad=ad,states=[('draft-iesg','iesg-eva')]) url = urlreverse('ietf.doc.views_ballot.lastcalltext', kwargs=dict(name=draft.name)) login_testing_unauthorized(self, "secretary", url) @@ -339,7 +341,7 @@ class BallotWriteupsTests(TestCase): self.assertTrue('aread@' in outbox[-1]['Cc']) def test_edit_ballot_writeup(self): - draft = make_test_data() + draft = IndividualDraftFactory() url = urlreverse('ietf.doc.views_ballot.ballot_writeupnotes', kwargs=dict(name=draft.name)) login_testing_unauthorized(self, "secretary", url) @@ -369,7 +371,7 @@ class BallotWriteupsTests(TestCase): self.assertTrue("This is a simple test" in draft.latest_event(WriteupDocEvent, type="changed_ballot_writeup_text").text) def test_edit_ballot_rfceditornote(self): - draft = make_test_data() + draft = IndividualDraftFactory() url = urlreverse('ietf.doc.views_ballot.ballot_rfceditornote', kwargs=dict(name=draft.name)) login_testing_unauthorized(self, "secretary", url) @@ -409,7 +411,8 @@ class BallotWriteupsTests(TestCase): self.assertFalse(draft.has_rfc_editor_note()) def test_issue_ballot(self): - draft = make_test_data() + ad = Person.objects.get(user__username="ad") + draft = IndividualDraftFactory(ad=ad) url = urlreverse('ietf.doc.views_ballot.ballot_writeupnotes', kwargs=dict(name=draft.name)) login_testing_unauthorized(self, "ad", url) @@ -431,7 +434,8 @@ class BallotWriteupsTests(TestCase): self.assertTrue('X-IETF-Draft-string' in outbox[-1]) def test_edit_approval_text(self): - draft = make_test_data() + ad = Person.objects.get(user__username="ad") + draft = WgDraftFactory(ad=ad,states=[('draft','active'),('draft-iesg','iesg-eva')],intended_std_level_id='ps') url = urlreverse('ietf.doc.views_ballot.ballot_approvaltext', kwargs=dict(name=draft.name)) login_testing_unauthorized(self, "secretary", url) @@ -489,7 +493,12 @@ class BallotWriteupsTests(TestCase): q = PyQuery(r.content) self.assertEqual(len(q("