diff --git a/rowers/teams.py b/rowers/teams.py index ba802fd2..d6179919 100644 --- a/rowers/teams.py +++ b/rowers/teams.py @@ -187,6 +187,7 @@ def create_invite(team,manager,user=None,email=''): if user: try: r2 = Rower.objects.get(user=user) + email = r2.user.email except Rower.DoesNotExist: return (0,'Rower does not exist') if r2 in Rower.objects.filter(team=team): diff --git a/rowers/tests/statements.py b/rowers/tests/statements.py index b3a38bf7..6c58038c 100644 --- a/rowers/tests/statements.py +++ b/rowers/tests/statements.py @@ -59,6 +59,7 @@ from django_mailbox.models import Mailbox,MessageAttachment,Message from rowers.tests.mocks import * from rowers.models import * +from rowers.forms import * from rowers.tests.mocks import * import factory from faker import Factory diff --git a/rowers/tests/test_teams.py b/rowers/tests/test_teams.py index 2eda08cb..e2d85eb4 100644 --- a/rowers/tests/test_teams.py +++ b/rowers/tests/test_teams.py @@ -65,6 +65,7 @@ class TeamFactory(factory.DjangoModelFactory): class TeamCreateFactory(TestCase): def setUp(self): + redis_connection.publish('tasks','KILL') self.user_passwords = [] usernames = [ 'user1', @@ -85,7 +86,8 @@ class TeamCreateFactory(TestCase): gdproptin=True, gdproptindate=timezone.now(), rowerplan='coach', - user=u + user=u, + clubsize=3 ) r.save() @@ -141,3 +143,63 @@ class TeamCreateFactory(TestCase): self.assertEqual(response.status_code, 200) + + def test_lowlevel_update_team(self): + id, comment = update_team(self.t,faker.word(),self.u,'open',faker.text(),'allmembers') + self.assertEqual(id,1) + + id, comment = update_team(self.t,faker.word(),self.users[2],'open',faker.text(),'allmembers') + self.assertEqual(id,0) + + team = TeamFactory(manager = self.users[2]) + id, comment = update_team(team, self.t.name, self.users[2], 'open', faker.text(), + 'allmembers') + self.assertEqual(id,0) + self.assertEqual(comment,'Team name duplication') + + def test_lowlevel_create_team(self): + id, comment = create_team(faker.word(), self.u) + self.assertEqual(id,2) + + def test_lowlevel_remove_team(self): + team = TeamFactory(manager=self.u) + tid = team.id + id, comment = add_member(team.id,self.users[1].rower) + id, comment = add_member(team.id,self.users[2].rower) + + result = remove_team(team.id) + + test = Team.objects.filter(id=tid) + self.assertEqual(len(test),0) + + + def test_lowlevel_remove_member(self): + id, comment = add_member(self.t.id, self.users[3].rower) + id, comment = remove_member(self.t.id, self.users[3].rower) + self.assertEqual(id, self.t.id) + + + def test_lowlevel_create_invite(self): + id, comment = add_member(self.t.id, self.users[1].rower) + + # cannot create invite for someone who already is a member + id, comment = create_invite(self.t,self.u,user=self.users[1]) + self.assertEqual(id,0) + self.assertEqual(comment,'Already member of that team') + + id, comment = remove_member(self.t.id, self.users[1].rower) + + # cannot create invite for team you don't manage + id, comment = create_invite(self.t, self.users[3],self.users[4]) + self.assertEqual(id,0) + + # cannot exceed club size + for i in range(5): + id, comment = create_invite(self.t,self.u,user=self.users[i+1]) + + if i <= self.u.rower.clubsize: + self.assertEqual(comment,'Invitation created') + else: + self.assertEqual(id,0) + + diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index 6ea9289a..99d095f7 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ diff --git a/rowers/tests/testdata/testdata.tcx b/rowers/tests/testdata/testdata.tcx index 0ea523a9..09ed4f12 100644 --- a/rowers/tests/testdata/testdata.tcx +++ b/rowers/tests/testdata/testdata.tcx @@ -2502,7 +2502,7 @@ - <Element 'Notes' at 0x1469d4a8> + <Element 'Notes' at 0x1388e7b8>