def setUp(self): self.active_season = SeasonFactory(is_active=True) self.room = RoomFactory(season=self.active_season) self.team = TeamFactory(season=self.active_season, room=self.room) self.competitor = CompetitorFactory() self.team_membership = TeamMembershipFactory(competitor=self.competitor, team=self.team, is_leader=True)
def test_get_all_team_memberships_for_team_with_two_competitors(self): competitor = CompetitorFactory() team_membership = TeamMembershipFactory(competitor=competitor, team=self.team, is_leader=False) team_membership.refresh_from_db() self.assertEqual(2, TeamMembership.objects.get_all_team_memberships_for_team( team=self.team).count())
def test_get_all_team_memberships_for_competitor_with_two_teams(self): new_active_season = SeasonFactory(is_active=True) room = RoomFactory(season=new_active_season) team = TeamFactory(season=new_active_season, room=room) team_membership = TeamMembershipFactory(competitor=self.competitor, team=team, is_leader=True) team_membership.refresh_from_db() self.assertEqual(2, TeamMembership.objects.get_all_team_memberships_for_competitor( competitor=self.competitor).count())
def test_list_all_teams_for_competitor(self): self.assertEqual(1, TeamMembership.objects.count()) self.assertEqual([self.team], TeamMembership.objects.list_all_teams_for_competitor(competitor=self.competitor)) new_active_season = SeasonFactory(is_active=True) room = RoomFactory(season=new_active_season) team = TeamFactory(season=new_active_season, room=room) self.team_membership = TeamMembershipFactory(competitor=self.competitor, team=team, is_leader=False) self.assertEqual([team], TeamMembership.objects.list_all_teams_for_competitor(competitor=self.competitor))
def test_signal_sets_to_false_looking_for_team_property_after_team_membership_is_created(self): team = TeamFactory(season=self.season) TeamMembershipFactory(team=team, competitor=self.competitor, is_leader=False) self.season_competitor_info.refresh_from_db() self.assertFalse(self.season_competitor_info.looking_for_team)
def test_get_all_teams_for_current_season(self): self.assertEqual(1, Team.objects.count()) self.assertEqual(1, Team.objects.get_all_teams_for_current_season(season=self.active_season).count()) room = RoomFactory(season=self.active_season) team = TeamFactory(season=self.active_season, room=room) competitor = CompetitorFactory() self.team_membership = TeamMembershipFactory(competitor=competitor, team=team, is_leader=False) self.assertEqual(2, Team.objects.get_all_teams_for_current_season(season=self.active_season).count())
class IsTeamLeaderOrReadOnlyTest(TestCase): def setUp(self): self.permission = IsTeamLeaderOrReadOnly() self.team = TeamFactory() self.competitor = CompetitorFactory() self.team_membership = TeamMembershipFactory( competitor=self.competitor, team=self.team, is_leader=False) def test_non_team_leader_can_read(self): request = make_mock_object(user=self.competitor, method='GET') self.assertTrue( self.permission.has_object_permission(request=request, view=None, obj=self.team)) def test_non_team_leader_can_not_delete_team(self): request = make_mock_object(user=self.competitor, method='DELETE') self.assertFalse( self.permission.has_object_permission(request=request, view=None, obj=self.team)) def test_non_team_leader_can_not_update_team(self): request = make_mock_object(user=self.competitor, method='PATCH') self.assertFalse( self.permission.has_object_permission(request=request, view=None, obj=self.team)) def test_team_leader_can_read(self): self.team_membership.is_leader = True self.team_membership.save() request = make_mock_object(user=self.competitor, method='GET') self.assertTrue( self.permission.has_object_permission(request=request, view=None, obj=self.team)) def test_team_leader_can_delete_team(self): self.team_membership.is_leader = True self.team_membership.save() request = make_mock_object(user=self.competitor, method='DELETE') self.assertTrue( self.permission.has_object_permission(request=request, view=None, obj=self.team)) def test_team_leader_can_update_team(self): self.team_membership.is_leader = True self.team_membership.save() request = make_mock_object(user=self.competitor, method='PATCH') self.assertTrue( self.permission.has_object_permission(request=request, view=None, obj=self.team))
def setUp(self): self.active_season = SeasonFactory(is_active=True) self.room = RoomFactory(season=self.active_season) self.team = TeamFactory(season=self.active_season, room=self.room) self.competitor = CompetitorFactory() self.team_membership = TeamMembershipFactory(competitor=self.competitor, team=self.team, is_leader=True) self.company = HackFmiPartnerFactory() self.mentor = MentorFactory(from_company=self.company) self.team_mentorship = TeamMentorshipFactory(team=self.team, mentor=self.mentor)
def test_server_group_send_message_to_client_on_post_save_of_invitation( self): competitor = CompetitorFactory() # Add test-channel to Invitation example group expected_group_name = settings.INVITATION_GROUP_NAME.format( id=competitor.id) Group(expected_group_name).add("test-channel") team = TeamFactory(season__is_active=True) TeamMembershipFactory(team=team, competitor=competitor, is_leader=True) InvitationFactory(team=team, competitor=competitor) # Get the message that is transferred into the channel result = self.get_next_message("test-channel") result = json.loads(result.get('text')) self.assertEqual(result['message'], "New invitation was created.") self.assertEqual(result['leader'], competitor.full_name)
class TestTeamMembershipManager(TestCase): def setUp(self): self.active_season = SeasonFactory(is_active=True) self.room = RoomFactory(season=self.active_season) self.team = TeamFactory(season=self.active_season, room=self.room) self.competitor = CompetitorFactory() self.team_membership = TeamMembershipFactory(competitor=self.competitor, team=self.team, is_leader=True) """ Tests for TeamMembershipManager. """ def test_list_all_teams_for_competitor(self): self.assertEqual(1, TeamMembership.objects.count()) self.assertEqual([self.team], TeamMembership.objects.list_all_teams_for_competitor(competitor=self.competitor)) new_active_season = SeasonFactory(is_active=True) room = RoomFactory(season=new_active_season) team = TeamFactory(season=new_active_season, room=room) self.team_membership = TeamMembershipFactory(competitor=self.competitor, team=team, is_leader=False) self.assertEqual([team], TeamMembership.objects.list_all_teams_for_competitor(competitor=self.competitor)) def test_list_all_teams_for_competitor_if_competitor_has_no_team(self): competitor = CompetitorFactory() self.assertEqual(0, TeamMembership.objects.get_all_team_memberships_for_competitor( competitor=competitor).count()) self.assertEqual([], TeamMembership.objects.list_all_teams_for_competitor(competitor=competitor)) def test_get_leader_of_team_if_competitor_is_leader(self): self.assertEqual(self.competitor, TeamMembership.objects.get_leader_of_team(team=self.team)) def test_get_leader_of_team_if_team_has_no_leader(self): self.team_membership.is_leader = False self.team_membership.save() self.assertEqual(None, TeamMembership.objects.get_leader_of_team(team=self.team)) def test_get_leader_of_team_if_team_is_None(self): self.team = None self.team_membership.save() self.assertEqual(None, TeamMembership.objects.get_leader_of_team(team=self.team)) def test_is_competitor_leader_of_team(self): self.assertTrue(TeamMembership.objects.is_competitor_leader_of_team(competitor=self.competitor, team=self.team)) self.team_membership.is_leader = False self.team_membership.save() self.assertFalse(TeamMembership.objects.is_competitor_leader_of_team(competitor=self.competitor, team=self.team)) def test_is_competitor_leader_of_team_if_competitor_has_no_team(self): competitor = CompetitorFactory() team = None self.assertFalse(TeamMembership.objects.is_competitor_leader_of_team(competitor=competitor, team=team)) def test_is_competitor_leader_of_team_if_competitor_is_None(self): competitor = None self.assertFalse(TeamMembership.objects.is_competitor_leader_of_team(competitor=competitor, team=self.team)) def test_is_competitor_leader(self): self.assertTrue(TeamMembership.objects.is_competitor_leader(competitor=self.competitor)) self.team_membership.is_leader = False self.team_membership.save() self.assertFalse(TeamMembership.objects.is_competitor_leader(competitor=self.competitor)) def test_is_competitor_leader_if_competitor_is_None(self): competitor = None self.assertFalse(TeamMembership.objects.is_competitor_leader(competitor=competitor)) def test_get_leader_of_team_if_competitor_is_not_leader(self): self.team_membership.is_leader = False self.team_membership.save() self.assertRaises(AttributeError, TeamMembership.objects.get_leader_of_team(team=self.team)) self.assertEqual(None, TeamMembership.objects.get_leader_of_team(team=self.team)) """ Tests for TeamMembershipQuerySet. """ def test_get_all_team_memberships_for_competitor(self): self.assertEqual(self.team_membership, TeamMembership.objects.get_all_team_memberships_for_competitor( competitor=self.competitor).first()) def test_get_all_team_memberships_for_competitor_if_competitor_has_no_team_membership(self): competitor = CompetitorFactory() self.assertEqual(None, TeamMembership.objects.get_all_team_memberships_for_competitor( competitor=competitor).first()) def test_get_all_team_memberships_for_competitor_if_competitor_is_None(self): competitor = None self.assertEqual(None, TeamMembership.objects.get_all_team_memberships_for_competitor( competitor=competitor).first()) def test_get_all_team_memberships_for_team(self): self.assertEqual(self.team_membership, TeamMembership.objects.get_all_team_memberships_for_team( team=self.team).first()) def test_get_all_team_memberships_for_competitor_with_two_teams(self): new_active_season = SeasonFactory(is_active=True) room = RoomFactory(season=new_active_season) team = TeamFactory(season=new_active_season, room=room) team_membership = TeamMembershipFactory(competitor=self.competitor, team=team, is_leader=True) team_membership.refresh_from_db() self.assertEqual(2, TeamMembership.objects.get_all_team_memberships_for_competitor( competitor=self.competitor).count()) def test_get_all_team_memberships_for_team_if_team_has_no_team_membership(self): room = RoomFactory(season=self.active_season) team = TeamFactory(season=self.active_season, room=room) self.assertEqual(None, TeamMembership.objects.get_all_team_memberships_for_team( team=team).first()) def test_get_all_team_memberships_for_team_if_team_is_None(self): team = None self.assertEqual(None, TeamMembership.objects.get_all_team_memberships_for_team( team=team).first()) def test_get_all_team_memberships_for_team_with_two_competitors(self): competitor = CompetitorFactory() team_membership = TeamMembershipFactory(competitor=competitor, team=self.team, is_leader=False) team_membership.refresh_from_db() self.assertEqual(2, TeamMembership.objects.get_all_team_memberships_for_team( team=self.team).count()) def test_get_team_membership_of_leader(self): self.assertEqual(self.team_membership, TeamMembership.objects.get_team_membership_of_leader( team=self.team).first()) def test_get_team_membership_of_not_leader(self): self.team_membership.is_leader = False self.team_membership.save() self.assertEqual(None, TeamMembership.objects.get_team_membership_of_leader( team=self.team).first()) def test_get_team_memberships_for_active_season(self): """ get_team_memberships_for_active_season() ought to return QuerySet object. That's why I'm able to call .first() on it and compare the result to self.team_membership """ self.assertEqual(self.team_membership, TeamMembership.objects. get_team_memberships_for_active_season(competitor=self.competitor).first()) def test_get_team_memberships_for_active_season_if_competitor_is_None(self): competitor = None self.assertEqual(None, TeamMembership.objects. get_team_memberships_for_active_season(competitor=competitor).first()) def test_get_team_membership_for_competitor_leader(self): self.assertEqual(self.team_membership, TeamMembership.objects. get_team_membership_for_competitor_leader(competitor=self.competitor).first()) def test_get_team_membership_for_competitor_leader_is_not_leader(self): self.team_membership.is_leader = False self.team_membership.save() self.assertEqual(None, TeamMembership.objects. get_team_membership_for_competitor_leader(competitor=self.competitor).first()) def test_get_team_membership_for_competitor_leader_if_competitor_is_None(self): self.assertEqual(None, TeamMembership.objects. get_team_membership_for_competitor_leader(competitor=None).first()) self.assertRaises(AttributeError, TeamMembership.objects. get_team_membership_for_competitor_leader(competitor=None).first())
def setUp(self): self.permission = IsTeamLeader() self.team = TeamFactory(season__is_active=True) self.competitor = CompetitorFactory() self.team_membership = TeamMembershipFactory( competitor=self.competitor, team=self.team, is_leader=False)
class IsTeamLeaderTest(TestCase): def setUp(self): self.permission = IsTeamLeader() self.team = TeamFactory(season__is_active=True) self.competitor = CompetitorFactory() self.team_membership = TeamMembershipFactory( competitor=self.competitor, team=self.team, is_leader=False) def test_non_leader_can_not_send_post_request(self): data = {'team': self.team} request = make_mock_object(user=self.competitor, method='POST', data=data) self.assertFalse( self.permission.has_permission(request=request, view=None)) def test_non_leader_can_get_view(self): request = make_mock_object(user=self.competitor, method='GET') self.assertTrue( self.permission.has_permission(request=request, view=None)) def test_non_leader_can_send_post_request(self): request = make_mock_object(user=self.competitor, method='POST') self.assertTrue( self.permission.has_object_permission(request=request, view=None, obj=self.team_membership)) def test_non_leader_can_not_send_get_request(self): request = make_mock_object(user=self.competitor, method='GET') self.assertFalse( self.permission.has_object_permission(request=request, view=None, obj=self.team_membership)) def test_non_leader_can_not_delete(self): request = make_mock_object(user=self.competitor, method='DELETE') self.assertFalse( self.permission.has_object_permission(request=request, view=None, obj=self.team_membership)) def test_leader_can_delete(self): self.team_membership.is_leader = True self.team_membership.save() request = make_mock_object(user=self.competitor, method='DELETE') self.assertTrue( self.permission.has_object_permission(request=request, view=None, obj=self.team_membership)) def test_leader_can_post(self): self.team_membership.is_leader = True self.team_membership.save() data = {'team': self.team} request = make_mock_object(user=self.competitor, method='POST', data=data) self.assertTrue( self.permission.has_permission(request=request, view=None))
def setUp(self): self.permission = IsTeamLeaderOrReadOnly() self.team = TeamFactory() self.competitor = CompetitorFactory() self.team_membership = TeamMembershipFactory( competitor=self.competitor, team=self.team, is_leader=False)