def setUp(self): fix_teams_roles() self.team = Team(name='Test', slug='test') self.team.save() self.user = User.objects.all()[:1].get() self.rpc = TeamsApiClass()
class TestJqueryRpc(TestCase): def setUp(self): fix_teams_roles() self.team = Team(name='Test', slug='test') self.team.save() self.user = User.objects.all()[:1].get() self.rpc = TeamsApiClass() def test_promote_user(self): other_user = User.objects.exclude(pk=self.user.pk)[:1].get() user_tm = TeamMember(team=self.team, user=self.user) user_tm.save() other_user_tm = TeamMember(team=self.team, user=other_user) other_user_tm.save() self.assertEqual(other_user_tm.role, TeamMember.ROLE_CONTRIBUTOR) self.assertEqual(user_tm.role, TeamMember.ROLE_CONTRIBUTOR) response = self.rpc.promote_user(self.team.pk, other_user_tm.pk, TeamMember.ROLE_MANAGER, AnonymousUser()) if not isinstance(response, Error): self.fail('Anonymouse user is not member of team') response = self.rpc.promote_user(self.team.pk, other_user_tm.pk, TeamMember.ROLE_MANAGER, self.user) if not isinstance(response, Error): self.fail('User should be manager') user_tm.role = TeamMember.ROLE_MANAGER user_tm.save() NEW_ROLE = TeamMember.ROLE_CONTRIBUTOR response = self.rpc.promote_user(self.team.pk, other_user_tm.pk, NEW_ROLE, self.user) self.assertTrue(isinstance(response, Msg)) other_user_tm = refresh_obj(other_user_tm) self.assertEqual(other_user_tm.role, NEW_ROLE) response = self.rpc.promote_user(self.team.pk, user_tm.pk, TeamMember.ROLE_CONTRIBUTOR, self.user) if not isinstance(response, Error): self.fail('Can\'t promote yourself') response = self.rpc.promote_user(self.team.pk, other_user_tm.pk, 'undefined role 123456', self.user) if not isinstance(response, Error): self.fail('Incorrect role') response = self.rpc.promote_user(self.team.pk, 123456, TeamMember.ROLE_MANAGER, self.user) if not isinstance(response, Error): self.fail('Undefined team member') undefined_team_pk = 123456 self.assertFalse(Team.objects.filter(pk=undefined_team_pk)) response = self.rpc.promote_user(undefined_team_pk, other_user_tm.pk, TeamMember.ROLE_MANAGER, self.user) if not isinstance(response, Error): self.fail('Undefined team') def test_create_application(self): response = self.rpc.create_application(self.team.pk, 'Note', AnonymousUser()) if not isinstance(response, Error): self.fail('User should be authenticated') #--------------------------------------- response = self.rpc.create_application(None, 'Note', self.user) if not isinstance(response, Error): self.fail('Undefined team') #--------------------------------------- self.team.membership_policy = Team.INVITATION_BY_MANAGER self.team.save() response = self.rpc.create_application(self.team.pk, 'Note', self.user) if not isinstance(response, Error): self.fail('Team is not opened') #--------------------------------------- self.team.membership_policy = Team.OPEN self.team.save() self.assertFalse(self.team.is_member(self.user)) response = self.rpc.create_application(self.team.pk, 'Note', self.user) if isinstance(response, Error): self.fail(response) self.assertTrue(self.team.is_member(self.user)) #--------------------------------------- self.team.members.filter(user=self.user).delete() self.team.membership_policy = Team.APPLICATION self.team.save() self.assertFalse(Application.objects.filter(user=self.user, team=self.team).exists()) response = self.rpc.create_application(self.team.pk, 'Note', self.user) if isinstance(response, Error): self.fail(response) self.assertFalse(self.team.is_member(self.user)) self.assertTrue(Application.objects.filter(user=self.user, team=self.team).exists())
class TestJqueryRpc(TestCase): def setUp(self): self.team = Team(name='Test', slug='test') self.team.save() self.user = User.objects.all()[:1].get() self.rpc = TeamsApiClass() def test_promote_user(self): other_user = User.objects.exclude(pk=self.user.pk)[:1].get() user_tm = TeamMember(team=self.team, user=self.user) user_tm.save() other_user_tm = TeamMember(team=self.team, user=other_user) other_user_tm.save() self.assertEqual(other_user_tm.role, TeamMember.ROLE_MEMBER) self.assertEqual(user_tm.role, TeamMember.ROLE_MEMBER) response = self.rpc.promote_user(self.team.pk, other_user_tm.pk, TeamMember.ROLE_MANAGER, AnonymousUser()) if not isinstance(response, Error): self.fail('Anonymouse user is not member of team') response = self.rpc.promote_user(self.team.pk, other_user_tm.pk, TeamMember.ROLE_MANAGER, self.user) if not isinstance(response, Error): self.fail('User should be manager') user_tm.role = TeamMember.ROLE_MANAGER user_tm.save() NEW_ROLE = TeamMember.ROLE_CONTRIBUTOR response = self.rpc.promote_user(self.team.pk, other_user_tm.pk, NEW_ROLE, self.user) self.assertTrue(isinstance(response, Msg)) other_user_tm = refresh_obj(other_user_tm) self.assertEqual(other_user_tm.role, NEW_ROLE) response = self.rpc.promote_user(self.team.pk, user_tm.pk, TeamMember.ROLE_CONTRIBUTOR, self.user) if not isinstance(response, Error): self.fail('Can\'t promote yourself') response = self.rpc.promote_user(self.team.pk, other_user_tm.pk, 'undefined role 123456', self.user) if not isinstance(response, Error): self.fail('Incorrect role') response = self.rpc.promote_user(self.team.pk, 123456, TeamMember.ROLE_MANAGER, self.user) if not isinstance(response, Error): self.fail('Undefined team member') undefined_team_pk = 123456 self.assertFalse(Team.objects.filter(pk=undefined_team_pk)) response = self.rpc.promote_user(undefined_team_pk, other_user_tm.pk, TeamMember.ROLE_MANAGER, self.user) if not isinstance(response, Error): self.fail('Undefined team') def test_create_application(self): response = self.rpc.create_application(self.team.pk, '', AnonymousUser()) if not isinstance(response, Error): self.fail('User should be authenticated') #--------------------------------------- response = self.rpc.create_application(None, '', self.user) if not isinstance(response, Error): self.fail('Undefined team') #--------------------------------------- self.team.membership_policy = Team.INVITATION_BY_MANAGER self.team.save() response = self.rpc.create_application(self.team.pk, '', self.user) if not isinstance(response, Error): self.fail('Team is not opened') #--------------------------------------- self.team.membership_policy = Team.OPEN self.team.save() self.assertFalse(self.team.is_member(self.user)) response = self.rpc.create_application(self.team.pk, '', self.user) if isinstance(response, Error): self.fail(response) self.assertTrue(self.team.is_member(self.user)) #--------------------------------------- self.team.members.filter(user=self.user).delete() self.team.membership_policy = Team.APPLICATION self.team.save() self.assertFalse(Application.objects.filter(user=self.user, team=self.team).exists()) response = self.rpc.create_application(self.team.pk, '', self.user) if isinstance(response, Error): self.fail(response) self.assertFalse(self.team.is_member(self.user)) self.assertTrue(Application.objects.filter(user=self.user, team=self.team).exists())
def setUp(self): self.team = Team(name='Test', slug='test') self.team.save() self.user = User.objects.all()[:1].get() self.rpc = TeamsApiClass()
class TestJqueryRpc(TestCase): def setUp(self): self.team = Team(name='Test', slug='test') self.team.save() self.user = User.objects.all()[:1].get() self.rpc = TeamsApiClass() def test_create_application(self): response = self.rpc.create_application(self.team.pk, '', AnonymousUser()) if not isinstance(response, Error): self.fail('User should be authenticated') #--------------------------------------- response = self.rpc.create_application(None, '', self.user) if not isinstance(response, Error): self.fail('Undefined team') #--------------------------------------- self.team.membership_policy = Team.INVITATION_BY_MANAGER self.team.save() response = self.rpc.create_application(self.team.pk, '', self.user) if not isinstance(response, Error): self.fail('Team is not opened') #--------------------------------------- self.team.membership_policy = Team.OPEN self.team.save() self.assertFalse(self.team.is_member(self.user)) response = self.rpc.create_application(self.team.pk, '', self.user) if isinstance(response, Error): self.fail(response) self.assertTrue(self.team.is_member(self.user)) #--------------------------------------- response = self.rpc.leave(self.team.pk, self.user) if not isinstance(response, Error): self.fail('You are the only member of team') other_user = User.objects.exclude(pk=self.user)[:1].get() self.rpc.join(self.team.pk, other_user) response = self.rpc.leave(self.team.pk, self.user) if isinstance(response, Error): self.fail(response) self.assertFalse(self.team.is_member(self.user)) #--------------------------------------- self.team.membership_policy = Team.APPLICATION self.team.save() self.assertFalse(Application.objects.filter(user=self.user, team=self.team).exists()) response = self.rpc.create_application(self.team.pk, '', self.user) if isinstance(response, Error): self.fail(response) self.assertFalse(self.team.is_member(self.user)) self.assertTrue(Application.objects.filter(user=self.user, team=self.team).exists()) #--------------------------------------- def test_join(self): self.team.membership_policy = Team.OPEN self.team.save() self.assertFalse(self.team.is_member(self.user)) response = self.rpc.join(self.team.pk, self.user) if isinstance(response, Error): self.fail(response) self.assertTrue(self.team.is_member(self.user))