mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-10 03:49:24 +00:00
Make some tests for clubs
This commit is contained in:
@ -106,7 +106,10 @@ class Membership(models.Model):
|
||||
description = models.CharField(_('description'), max_length=30, null=False, blank=True)
|
||||
|
||||
def clean(self):
|
||||
if Membership.objects.filter(user=self.user).filter(club=self.club).filter(end_date=None).exclude(pk=self.pk).exists():
|
||||
sub = Subscriber.objects.filter(pk=self.user.pk).first()
|
||||
if sub is None or not sub.is_subscribed():
|
||||
raise ValidationError(_('User must be subscriber to take part to a club'))
|
||||
if Membership.objects.filter(user=self.user).filter(club=self.club).filter(end_date=None).exists():
|
||||
raise ValidationError(_('User is already member of that club'))
|
||||
|
||||
def __str__(self):
|
||||
|
@ -1,3 +1,50 @@
|
||||
from django.test import TestCase
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.management import call_command
|
||||
|
||||
# Create your tests here.
|
||||
|
||||
class ClubTest(TestCase):
|
||||
def setUp(self):
|
||||
call_command("populate")
|
||||
|
||||
def test_create_add_user_to_club_from_root_ok(self):
|
||||
self.client.login(username='root', password='plop')
|
||||
self.client.post(reverse("club:club_members", kwargs={"club_id":4}), {"user": 2, "role": 3})
|
||||
response = self.client.get(reverse("club:club_members", kwargs={"club_id":4}))
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue("<li>Woenzel'UT - skia - Responsable info</li>" in str(response.content))
|
||||
|
||||
def test_create_add_user_to_club_from_root_fail_not_subscriber(self):
|
||||
self.client.login(username='root', password='plop')
|
||||
response = self.client.post(reverse("club:club_members", kwargs={"club_id":4}), {"user": 3, "role": 3})
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue("User must be subscriber to take part to a club" in str(response.content))
|
||||
response = self.client.get(reverse("club:club_members", kwargs={"club_id":4}))
|
||||
self.assertFalse("<li>Woenzel'UT - guy - Responsable info</li>" in str(response.content))
|
||||
|
||||
def test_create_add_user_to_club_from_root_fail_already_in_club(self):
|
||||
self.client.login(username='root', password='plop')
|
||||
self.client.post(reverse("club:club_members", kwargs={"club_id":4}), {"user": 2, "role": 3})
|
||||
response = self.client.get(reverse("club:club_members", kwargs={"club_id":4}))
|
||||
self.assertTrue("<li>Woenzel'UT - skia - Responsable info</li>" in str(response.content))
|
||||
response = self.client.post(reverse("club:club_members", kwargs={"club_id":4}), {"user": 2, "role": 4})
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertFalse("<li>Woenzel'UT - skia - Secrétaire</li>" in str(response.content))
|
||||
|
||||
def test_create_add_user_to_club_from_skia_ok(self):
|
||||
self.client.login(username='root', password='plop')
|
||||
self.client.post(reverse("club:club_members", kwargs={"club_id":4}), {"user": 2, "role": 10})
|
||||
self.client.login(username='skia', password='plop')
|
||||
self.client.post(reverse("club:club_members", kwargs={"club_id":4}), {"user": 4, "role": 9})
|
||||
response = self.client.get(reverse("club:club_members", kwargs={"club_id":4}))
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue("<li>Woenzel'UT - rbatsbak - Vice-Pr" in str(response.content))
|
||||
|
||||
def test_create_add_user_to_club_from_skia_fail(self):
|
||||
self.client.login(username='root', password='plop')
|
||||
self.client.post(reverse("club:club_members", kwargs={"club_id":4}), {"user": 2, "role": 3})
|
||||
self.client.login(username='skia', password='plop')
|
||||
response = self.client.post(reverse("club:club_members", kwargs={"club_id":4}), {"user": 4, "role": 10})
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue("<li>You do not have the permission to do that</li>" in str(response.content))
|
||||
|
Reference in New Issue
Block a user