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