1515 MEMBER_USER , SECRETARIAT_USER , EMAIL_DOMAIN
1616from ietf .nomcom .models import NomineePosition , Position , Nominee , \
1717 NomineePositionState , Feedback , FeedbackType
18- from ietf .nomcom .forms import EditChairForm
18+ from ietf .nomcom .forms import EditChairForm , EditMembersForm
1919
2020
2121class NomcomViewsTest (TestCase ):
@@ -58,6 +58,12 @@ def access_chair_url(self, url):
5858 login_testing_unauthorized (self , CHAIR_USER , url )
5959 self .check_url_status (url , 200 )
6060
61+ def access_secretariat_url (self , url ):
62+ login_testing_unauthorized (self , COMMUNITY_USER , url )
63+ login_testing_unauthorized (self , CHAIR_USER , url )
64+ login_testing_unauthorized (self , SECRETARIAT_USER , url )
65+ self .check_url_status (url , 200 )
66+
6167 def test_private_index_view (self ):
6268 """Verify private home view"""
6369 self .access_member_url (self .private_index_url )
@@ -69,10 +75,34 @@ def test_private_merge_view(self):
6975 self .access_chair_url (self .private_merge_url )
7076 self .client .logout ()
7177
78+ def change_members (self , members ):
79+ members_emails = u',' .join (['%s%s' % (member , EMAIL_DOMAIN ) for member in members ])
80+ test_data = {'members' : members_emails ,
81+ 'stage' : 1 }
82+ # preview
83+ self .client .post (self .edit_members_url , test_data )
84+
85+ hash = security_hash (None , EditMembersForm (test_data ))
86+ test_data .update ({'hash' : hash , 'stage' : 2 })
87+
88+ # submit
89+ self .client .post (self .edit_members_url , test_data )
90+
7291 def test_edit_members_view (self ):
7392 """Verify edit member view"""
74- # TODO: complete chage edit memebers
7593 self .access_chair_url (self .edit_members_url )
94+ self .change_members ([CHAIR_USER , COMMUNITY_USER ])
95+
96+ # check member actions
97+ self .client .login (remote_user = COMMUNITY_USER )
98+ self .check_url_status (self .private_index_url , 200 )
99+
100+ # revert edit nomcom members
101+ login_testing_unauthorized (self , CHAIR_USER , self .edit_members_url )
102+ self .change_members ([CHAIR_USER ])
103+ self .client .login (remote_user = COMMUNITY_USER )
104+ self .check_url_status (self .private_index_url , 403 )
105+
76106 self .client .logout ()
77107
78108 def change_chair (self , user ):
@@ -89,19 +119,13 @@ def change_chair(self, user):
89119
90120 def test_edit_chair_view (self ):
91121 """Verify edit chair view"""
92- login_testing_unauthorized (self , COMMUNITY_USER , self .edit_chair_url )
93- login_testing_unauthorized (self , CHAIR_USER , self .edit_chair_url )
94- login_testing_unauthorized (self , SECRETARIAT_USER , self .edit_chair_url )
95- self .check_url_status (self .edit_chair_url , 200 )
96-
122+ self .access_secretariat_url (self .edit_chair_url )
97123 self .change_chair (COMMUNITY_USER )
98124
99125 # check chair actions
100126 self .client .login (remote_user = COMMUNITY_USER )
101- url = reverse ('nomcom_edit_members' , kwargs = {'year' : self .year })
102- self .check_url_status (url , 200 )
103- url = reverse ('nomcom_edit_publickey' , kwargs = {'year' : self .year })
104- self .check_url_status (url , 200 )
127+ self .check_url_status (self .edit_members_url , 200 )
128+ self .check_url_status (self .public_key_url , 200 )
105129
106130 # revert edit nomcom chair
107131 login_testing_unauthorized (self , SECRETARIAT_USER , self .edit_chair_url )
0 commit comments