Skip to content

Commit 570b757

Browse files
committed
Move group workflow tests to wginfo
- Legacy-Id: 6147
1 parent 5493f3c commit 570b757

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

ietf/wginfo/tests.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -817,3 +817,75 @@ def test_send_milestones_overdue_reminders(self):
817817
self.assertTrue(group.acronym in outbox[-1]["Subject"])
818818
self.assertTrue(m1.desc in unicode(outbox[-1]))
819819
self.assertTrue(m2.desc in unicode(outbox[-1]))
820+
821+
class CustomizeWorkflowTestCase(django.test.TestCase):
822+
fixtures = ['names']
823+
824+
def test_customize_workflow(self):
825+
make_test_data()
826+
827+
group = Group.objects.get(acronym="mars")
828+
829+
url = urlreverse('ietf.wginfo.edit.customize_workflow', kwargs=dict(acronym=group.acronym))
830+
login_testing_unauthorized(self, "secretary", url)
831+
832+
state = State.objects.get(used=True, type="draft-stream-ietf", slug="wg-lc")
833+
self.assertTrue(state not in group.unused_states.all())
834+
835+
# get
836+
r = self.client.get(url)
837+
self.assertEquals(r.status_code, 200)
838+
q = PyQuery(r.content)
839+
self.assertEquals(len(q("form.set-state").find("input[name=state][value='%s']" % state.pk).parents("form").find("input[name=active][value='0']")), 1)
840+
841+
# deactivate state
842+
r = self.client.post(url,
843+
dict(action="setstateactive",
844+
state=state.pk,
845+
active="0"))
846+
self.assertEquals(r.status_code, 302)
847+
r = self.client.get(url)
848+
q = PyQuery(r.content)
849+
self.assertEquals(len(q("form.set-state").find("input[name=state][value='%s']" % state.pk).parents("form").find("input[name=active][value='1']")), 1)
850+
group = Group.objects.get(acronym=group.acronym)
851+
self.assertTrue(state in group.unused_states.all())
852+
853+
# change next states
854+
state = State.objects.get(used=True, type="draft-stream-ietf", slug="wg-doc")
855+
next_states = State.objects.filter(used=True, type=b"draft-stream-ietf", slug__in=["parked", "dead", "wait-wgw", 'sub-pub']).values_list('pk', flat=True)
856+
r = self.client.post(url,
857+
dict(action="setnextstates",
858+
state=state.pk,
859+
next_states=next_states))
860+
self.assertEquals(r.status_code, 302)
861+
r = self.client.get(url)
862+
q = PyQuery(r.content)
863+
self.assertEquals(len(q("form.set-next-states").find("input[name=state][value='%s']" % state.pk).parents('form').find("input[name=next_states][checked=checked]")), len(next_states))
864+
transitions = GroupStateTransitions.objects.filter(group=group, state=state)
865+
self.assertEquals(len(transitions), 1)
866+
self.assertEquals(set(transitions[0].next_states.values_list("pk", flat=True)), set(next_states))
867+
868+
# change them back to default
869+
next_states = state.next_states.values_list("pk", flat=True)
870+
r = self.client.post(url,
871+
dict(action="setnextstates",
872+
state=state.pk,
873+
next_states=next_states))
874+
self.assertEquals(r.status_code, 302)
875+
r = self.client.get(url)
876+
q = PyQuery(r.content)
877+
transitions = GroupStateTransitions.objects.filter(group=group, state=state)
878+
self.assertEquals(len(transitions), 0)
879+
880+
# deactivate tag
881+
tag = DocTagName.objects.get(slug="w-expert")
882+
r = self.client.post(url,
883+
dict(action="settagactive",
884+
tag=tag.pk,
885+
active="0"))
886+
self.assertEquals(r.status_code, 302)
887+
r = self.client.get(url)
888+
q = PyQuery(r.content)
889+
self.assertEquals(len(q('form').find('input[name=tag][value="%s"]' % tag.pk).parents("form").find("input[name=active]")), 1)
890+
group = Group.objects.get(acronym=group.acronym)
891+
self.assertTrue(tag in group.unused_tags.all())

0 commit comments

Comments
 (0)