Revision 0e553052
b/snf-astakos-app/astakos/im/tests/projects.py | ||
---|---|---|
144 | 144 |
self.assertContains(r, "The project application has been received") |
145 | 145 |
self.assertRedirects(r, reverse('project_list')) |
146 | 146 |
self.assertEqual(ProjectApplication.objects.count(), 1) |
147 |
app1_id = ProjectApplication.objects.filter().order_by('pk')[0].pk |
|
147 |
app1 = ProjectApplication.objects.filter().order_by('pk')[0] |
|
148 |
app1_id = app1.pk |
|
149 |
project1_id = app1.chain_id |
|
148 | 150 |
|
149 | 151 |
# create another one |
150 | 152 |
application_data['name'] = 'project2.synnefo.org' |
151 | 153 |
r = self.user_client.post(post_url, data=application_data, follow=True) |
152 |
app2_id = ProjectApplication.objects.filter().order_by('pk')[1].pk
|
|
153 |
|
|
154 |
app2 = ProjectApplication.objects.filter().order_by('pk')[1]
|
|
155 |
project2_id = app2.chain_id |
|
154 | 156 |
|
155 | 157 |
# no more applications (LIMIT is 2) |
156 | 158 |
r = self.user_client.get(reverse('project_add'), follow=True) |
... | ... | |
170 | 172 |
|
171 | 173 |
# login |
172 | 174 |
self.member_client.get(reverse("edit_profile")) |
173 |
# cannot join app2 (not approved yet)
|
|
174 |
join_url = reverse("project_join", kwargs={'chain_id': app2_id})
|
|
175 |
# cannot join project2 (not approved yet)
|
|
176 |
join_url = reverse("project_join", kwargs={'chain_id': project2_id})
|
|
175 | 177 |
r = self.member_client.post(join_url, follow=True) |
176 | 178 |
self.assertEqual(r.status_code, 403) |
177 | 179 |
|
178 | 180 |
# can join app1 |
179 | 181 |
self.member_client.get(reverse("edit_profile")) |
180 |
join_url = reverse("project_join", kwargs={'chain_id': app1_id})
|
|
182 |
join_url = reverse("project_join", kwargs={'chain_id': project1_id})
|
|
181 | 183 |
r = self.member_client.post(join_url, follow=True) |
182 | 184 |
self.assertEqual(r.status_code, 200) |
183 | 185 |
|
... | ... | |
186 | 188 |
memb_id = memberships[0].id |
187 | 189 |
|
188 | 190 |
reject_member_url = reverse('project_reject_member', |
189 |
kwargs={'chain_id': app1_id, 'memb_id':
|
|
191 |
kwargs={'chain_id': project1_id, 'memb_id':
|
|
190 | 192 |
memb_id}) |
191 | 193 |
accept_member_url = reverse('project_accept_member', |
192 |
kwargs={'chain_id': app1_id, 'memb_id':
|
|
194 |
kwargs={'chain_id': project1_id, 'memb_id':
|
|
193 | 195 |
memb_id}) |
194 | 196 |
|
195 | 197 |
# only project owner is allowed to reject |
... | ... | |
203 | 205 |
|
204 | 206 |
# user rejoins |
205 | 207 |
self.member_client.get(reverse("edit_profile")) |
206 |
join_url = reverse("project_join", kwargs={'chain_id': app1_id})
|
|
208 |
join_url = reverse("project_join", kwargs={'chain_id': project1_id})
|
|
207 | 209 |
r = self.member_client.post(join_url, follow=True) |
208 | 210 |
self.assertEqual(r.status_code, 200) |
209 |
self.assertEqual(ProjectMembership.objects.count(), 1) |
|
211 |
memberships = ProjectMembership.objects.all() |
|
212 |
self.assertEqual(len(memberships), 1) |
|
213 |
memb_id = memberships[0].id |
|
214 |
|
|
215 |
accept_member_url = reverse('project_accept_member', |
|
216 |
kwargs={'chain_id': project1_id, 'memb_id': |
|
217 |
memb_id}) |
|
210 | 218 |
|
211 | 219 |
# user (owns project) accepts membership |
212 | 220 |
r = self.user_client.post(accept_member_url, follow=True) |
... | ... | |
221 | 229 |
self.assertEqual(newlimit, 200) |
222 | 230 |
|
223 | 231 |
remove_member_url = reverse('project_remove_member', |
224 |
kwargs={'chain_id': app1_id, 'memb_id':
|
|
232 |
kwargs={'chain_id': project1_id, 'memb_id':
|
|
225 | 233 |
membership.id}) |
226 | 234 |
r = self.user_client.post(remove_member_url, follow=True) |
227 | 235 |
self.assertEqual(r.status_code, 200) |
Also available in: Unified diff