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:
parent
ae87e84610
commit
65bb1f2738
|
@ -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"))
|
||||
|
|
Loading…
Reference in a new issue