fix tests
This commit is contained in:
parent
03d2ad03ef
commit
0206181158
|
@ -61,4 +61,4 @@ class Participation(PonyConfModel):
|
|||
return self.user.is_superuser or self.orga
|
||||
|
||||
def is_staff(self):
|
||||
return self.is_orga() or self.topic_set.exists()
|
||||
return self.is_orga() or self.user.topic_set.exists()
|
||||
|
|
|
@ -16,4 +16,4 @@ def is_staff(request, user):
|
|||
|
||||
def can_edit_profile(request, profile):
|
||||
editor = request.user.participation_set.get(site=get_current_site(request))
|
||||
return editor.orga or editor.topic_set.filter(talk__speakers=profile.user).exists()
|
||||
return editor.orga or editor.user.topic_set.filter(talk__speakers=profile.user).exists()
|
||||
|
|
|
@ -56,21 +56,25 @@ class ProposalsTests(TestCase):
|
|||
|
||||
# Talk.is_{editable,moderable}_by
|
||||
a, b, c = User.objects.all()
|
||||
self.assertTrue(talk.is_moderable_by(c))
|
||||
self.assertFalse(talk.is_editable_by(b))
|
||||
self.assertFalse(talk.is_moderable_by(b))
|
||||
self.assertTrue(talk.is_editable_by(c)) # c is superuser
|
||||
self.assertTrue(talk.is_moderable_by(c)) # c is superuser
|
||||
self.assertFalse(talk.is_editable_by(b)) # b is not speaker
|
||||
self.assertFalse(talk.is_moderable_by(b)) # b is not orga
|
||||
self.client.login(username='a', password='a')
|
||||
self.client.post(reverse('edit-talk', kwargs={'talk': 'super-talk'}),
|
||||
{'title': 'mega talk', 'description': 'mega', 'event': 1, 'speakers': "2,1"})
|
||||
self.assertTrue(talk.is_editable_by(b))
|
||||
self.assertFalse(talk.is_moderable_by(b))
|
||||
{'title': 'mega talk', 'description': 'mega', 'event': 1, 'speakers': (a.pk, b.pk)})
|
||||
talk = Talk.objects.get(slug='super-talk')
|
||||
self.assertTrue(b in talk.speakers.all())
|
||||
self.assertTrue(talk.is_editable_by(b)) # b is speaker now
|
||||
self.assertFalse(talk.is_moderable_by(b)) # b is not orga
|
||||
|
||||
# Only orga can edit topics
|
||||
def test_topic_edition_permissions(self):
|
||||
# Only orga and superuser can edit topics
|
||||
self.client.login(username='b', password='b')
|
||||
self.assertFalse(Participation.on_site.get(user=b).orga)
|
||||
self.assertEqual(self.client.get(reverse('edit-topic', kwargs={'slug': 'topipo'})).status_code, 302)
|
||||
Participation.on_site.filter(user=b).update(orga=True)
|
||||
self.assertFalse(Participation.on_site.get(user__username='b').orga)
|
||||
self.assertEqual(self.client.get(reverse('edit-topic', kwargs={'slug': 'topipo'})).status_code, 302)
|
||||
Participation.on_site.filter(user__username='b').update(orga=True)
|
||||
self.assertEqual(self.client.get(reverse('edit-topic', kwargs={'slug': 'topipo'})).status_code, 200)
|
||||
self.client.login(username='c', password='c') # superuser
|
||||
self.assertEqual(self.client.get(reverse('edit-topic', kwargs={'slug': 'topipo'})).status_code, 200)
|
||||
self.assertEqual(self.client.get(reverse('list-topics')).status_code, 200)
|
||||
|
|
Loading…
Reference in New Issue