Added a test for the document approved by AD action. Related to issue

#796.  Commit ready for merge
 - Legacy-Id: 11710
This commit is contained in:
Pete Resnick 2016-07-18 20:12:12 +00:00
parent ae87e84610
commit 65bb1f2738

View file

@ -26,6 +26,47 @@ from ietf.utils.test_utils import TestCase
class ChangeStateTests(TestCase):
def test_ad_approved(self):
# get a draft in iesg evaluation, point raised
draft = make_test_data()
draft.set_state(State.objects.get(used=True, type="draft-iesg", slug="iesg-eva"))
draft.tags.add("point")
url = urlreverse('doc_change_state', kwargs=dict(name=draft.name))
login_testing_unauthorized(self, "ad", url)
# normal get
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
self.assertEqual(len(q('form select[name=state]')), 1)
events_before = draft.docevent_set.count()
mailbox_before = len(outbox)
# set it to approved with no substate
r = self.client.post(url,
dict(state=State.objects.get(used=True, type="draft-iesg", slug="approved").pk,
substate="",
comment="Test comment"))
self.assertEqual(r.status_code, 302)
draft = Document.objects.get(name=draft.name)
# should now be in approved with no substate
self.assertEqual(draft.get_state_slug("draft-iesg"), "approved")
self.assertTrue(not draft.tags.filter(slug="approved"))
self.assertFalse(draft.tags.exists())
self.assertEqual(draft.docevent_set.count(), events_before + 2)
self.assertTrue("Test comment" in draft.docevent_set.all()[0].desc)
self.assertTrue("IESG state changed" in draft.docevent_set.all()[1].desc)
# should have sent two emails, the second one to the iesg with approved message
self.assertEqual(len(outbox), mailbox_before + 2)
self.assertTrue("Approved: " in outbox[-1]['Subject'])
self.assertTrue(draft.name in outbox[-1]['Subject'])
self.assertTrue('iesg@' in outbox[-1]['To'])
def test_change_state(self):
draft = make_test_data()
draft.set_state(State.objects.get(used=True, type="draft-iesg", slug="ad-eval"))