more payment view coverage tests
This commit is contained in:
116
rowers/teams.py
116
rowers/teams.py
@@ -79,11 +79,11 @@ def update_team(t,name,manager,private,notes,viewing):
|
||||
|
||||
def create_team(name,manager,private='open',notes='',viewing='allmembers'):
|
||||
# needs some error testing
|
||||
if user_is_basic(manager.rower.user):
|
||||
if user_is_basic(manager.rower.user): # pragma: no cover
|
||||
return (0,'You need to upgrade to a paid plan to establish a team')
|
||||
if not is_coach(manager):
|
||||
ts = Team.objects.filter(manager=manager)
|
||||
if len(ts)>=1:
|
||||
if len(ts)>=1: # pragma: no cover
|
||||
return (0,'You need to upgrade to the Coach plan to have more than one team')
|
||||
|
||||
try:
|
||||
@@ -102,13 +102,13 @@ def remove_team(id):
|
||||
send_team_delete_mail(t,r)
|
||||
return t.delete()
|
||||
|
||||
return (1,'Updated rower team expiry')
|
||||
return (1,'Updated rower team expiry') # pragma: no cover
|
||||
|
||||
def add_coach(coach,rower):
|
||||
# get coaching group
|
||||
|
||||
coachgroup = coach.mycoachgroup
|
||||
if coachgroup is None:
|
||||
if coachgroup is None: # pragma: no cover
|
||||
coachgroup = CoachingGroup(name=coach.user.first_name)
|
||||
coachgroup.save()
|
||||
coach.mycoachgroup = coachgroup
|
||||
@@ -118,14 +118,14 @@ def add_coach(coach,rower):
|
||||
rower.coachinggroups.add(coach.mycoachgroup)
|
||||
|
||||
return (1,"Added Coach")
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,"Maximum number of athletes reached")
|
||||
|
||||
def add_member(id,rower):
|
||||
t= Team.objects.get(id=id)
|
||||
try:
|
||||
rower.team.add(t)
|
||||
except ValidationError as e:
|
||||
except ValidationError as e: # pragma: no cover
|
||||
return(0,"Couldn't add member: "+str(e.message))
|
||||
|
||||
# code to add all workouts
|
||||
@@ -135,12 +135,12 @@ def add_member(id,rower):
|
||||
|
||||
# code to add plannedsessions
|
||||
plannedsessions = PlannedSession.objects.filter(team=t,enddate__gte=timezone.now().date())
|
||||
for ps in plannedsessions:
|
||||
for ps in plannedsessions: # pragma: no cover
|
||||
res = ps.rower.add(rower)
|
||||
|
||||
# set_teamplanexpires(rower)
|
||||
# code for Stuck At Home Team (temporary)
|
||||
if id == 52 and rower.rowerplan == 'basic':
|
||||
if id == 52 and rower.rowerplan == 'basic': # pragma: no cover
|
||||
rower.protrialexpires = ddate(2020,9,1)
|
||||
rower.save()
|
||||
|
||||
@@ -157,10 +157,10 @@ def remove_member(id,rower):
|
||||
# set_teamplanexpires(rower)
|
||||
return (id,'Member removed')
|
||||
|
||||
def remove_coach(coach,rower):
|
||||
def remove_coach(coach,rower): # pragma: no cover
|
||||
try:
|
||||
coachgroup = coach.mycoachgroup
|
||||
except CoachingGroup.DoesNotExist:
|
||||
except CoachingGroup.DoesNotExist: # pragma: no cover
|
||||
coachgroup = CoachingGroup()
|
||||
coachgroup.save()
|
||||
coach.mycoachgroup = coachgroup
|
||||
@@ -195,7 +195,7 @@ def coach_getcoachees(coach):
|
||||
def coach_remove_athlete(coach,rower):
|
||||
try:
|
||||
coachgroup = coach.mycoachgroup
|
||||
except CoachingGroup.DoesNotExist:
|
||||
except CoachingGroup.DoesNotExist: # pragma: no cover
|
||||
coachgroup = CoachingGroup()
|
||||
coachgroup.save()
|
||||
coach.mycoachgroup = coachgroup
|
||||
@@ -211,12 +211,12 @@ def mgr_remove_member(id,manager,rower):
|
||||
remove_member(id,rower)
|
||||
send_email_member_dropped(id,rower)
|
||||
return (id,'Member removed')
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'You are not the team manager')
|
||||
|
||||
return (0,'')
|
||||
return (0,'') # pragma: no cover
|
||||
|
||||
def count_invites(manager):
|
||||
def count_invites(manager): # pragma: no cover
|
||||
ts = Team.objects.filter(manager=manager)
|
||||
count = 0
|
||||
for t in ts:
|
||||
@@ -225,7 +225,7 @@ def count_invites(manager):
|
||||
return count
|
||||
|
||||
|
||||
def count_club_members(manager):
|
||||
def count_club_members(manager): # pragma: no cover
|
||||
ts = Team.objects.filter(manager=manager)
|
||||
return Rower.objects.filter(team__in=ts).distinct().count()
|
||||
|
||||
@@ -233,13 +233,13 @@ def count_club_members(manager):
|
||||
# Medium level functionality
|
||||
|
||||
# request by user to be coached by coach
|
||||
def create_coaching_request(coach,user):
|
||||
def create_coaching_request(coach,user): # pragma: no cover
|
||||
if coach in rower_get_coaches(user.rower):
|
||||
return (0,'Already coached by that coach')
|
||||
|
||||
codes = [i.code for i in CoachRequest.objects.all()]
|
||||
code = uuid.uuid4().hex[:10].upper()
|
||||
while code in codes:
|
||||
while code in codes: # pragma: no cover
|
||||
code = uuid.uuid4().hex[:10].upper()
|
||||
|
||||
if 'coach' in coach.rowerplan:
|
||||
@@ -250,7 +250,7 @@ def create_coaching_request(coach,user):
|
||||
|
||||
return (rekwest.id,'The request was created')
|
||||
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'That person is not a coach')
|
||||
|
||||
def send_coachrequest_email(rekwest):
|
||||
@@ -280,14 +280,14 @@ def send_coacheerequest_email(rekwest):
|
||||
def create_request(team,user):
|
||||
r2 = Rower.objects.get(user=user)
|
||||
r = Rower.objects.get(user=team.manager)
|
||||
if r2 in Rower.objects.filter(team=team):
|
||||
if r2 in Rower.objects.filter(team=team): # pragma: no cover
|
||||
return (0,'Already a member of that team')
|
||||
|
||||
# if count_club_members(team.manager)+count_invites(team.manager) <= r.clubsize:
|
||||
codes = [i.code for i in TeamRequest.objects.all()]
|
||||
code = uuid.uuid4().hex[:10].upper()
|
||||
# prevent duplicates
|
||||
while code in codes:
|
||||
while code in codes: # pragma: no cover
|
||||
code = uuid.uuid4().hex[:10].upper()
|
||||
|
||||
u = User.objects.get(id=user)
|
||||
@@ -298,7 +298,7 @@ def create_request(team,user):
|
||||
|
||||
return (rekwest.id,'The request was created')
|
||||
|
||||
return (0,'Something went wrong in create_request')
|
||||
return (0,'Something went wrong in create_request') # pragma: no cover
|
||||
|
||||
def get_coach_club_size(coach):
|
||||
rs = Rower.objects.filter(coachinggroups__in=[coach.mycoachgroup])
|
||||
@@ -313,12 +313,12 @@ def get_coach_club_size(coach):
|
||||
def create_coaching_offer(coach,user):
|
||||
r = user.rower
|
||||
|
||||
if coach in rower_get_coaches(user.rower):
|
||||
if coach in rower_get_coaches(user.rower): # pragma: no cover
|
||||
return (0,'You are already coaching this person.')
|
||||
|
||||
codes = [i.code for i in CoachOffer.objects.all()]
|
||||
code = uuid.uuid4().hex[:10].upper()
|
||||
while code in codes:
|
||||
while code in codes: # pragma: no cover
|
||||
code = uuid.uuid4().hex[:10].upper()
|
||||
|
||||
if 'coach' in coach.rowerplan and get_coach_club_size(coach)<coach.clubsize:
|
||||
@@ -328,10 +328,10 @@ def create_coaching_offer(coach,user):
|
||||
send_coacheerequest_email(rekwest)
|
||||
|
||||
return (rekwest.id,'The request was created')
|
||||
elif get_coach_club_size(coach)>=coach.clubsize:
|
||||
elif get_coach_club_size(coach)>=coach.clubsize: # pragma: no cover
|
||||
return(0,'You have reached the maximum number of athletes')
|
||||
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'You are not a coach')
|
||||
|
||||
|
||||
@@ -345,26 +345,26 @@ def create_invite(team,manager,user=None,email=''):
|
||||
try:
|
||||
r2 = Rower.objects.get(user=user)
|
||||
email = r2.user.email
|
||||
except Rower.DoesNotExist:
|
||||
except Rower.DoesNotExist: # pragma: no cover
|
||||
return (0,'Rower does not exist')
|
||||
if r2 in Rower.objects.filter(team=team):
|
||||
return (0,'Already member of that team')
|
||||
elif email==None or email=='':
|
||||
elif email==None or email=='': # pragma: no cover
|
||||
return (0,'Invalid request - missing email or user')
|
||||
else:
|
||||
try:
|
||||
r2 = Rower.objects.get(user__email=email)
|
||||
user = User.objects.get(rower=r2)
|
||||
except Rower.DoesNotExist:
|
||||
except Rower.DoesNotExist: # pragma: no cover
|
||||
user=None
|
||||
except Rower.MultipleObjectsReturned:
|
||||
except Rower.MultipleObjectsReturned: # pragma: no cover
|
||||
return (0,'There is more than one user with that email address')
|
||||
|
||||
# if count_club_members(team.manager)+count_invites(team.manager) <= r.clubsize:
|
||||
codes = [i.code for i in TeamInvite.objects.all()]
|
||||
code = uuid.uuid4().hex[:10].upper()
|
||||
# prevent duplicates
|
||||
while code in codes:
|
||||
while code in codes: # pragma: no cover
|
||||
code = uuid.uuid4().hex[:10].upper()
|
||||
|
||||
invite = TeamInvite(team=team,code=code,user=user,email=email)
|
||||
@@ -372,12 +372,12 @@ def create_invite(team,manager,user=None,email=''):
|
||||
return (invite.id,'Invitation created')
|
||||
|
||||
|
||||
return (0,'Nothing done')
|
||||
return (0,'Nothing done') # pragma: no cover
|
||||
|
||||
def revoke_request(user,id):
|
||||
try:
|
||||
rekwest = TeamRequest.objects.get(id=id)
|
||||
except TeamRequest.DoesNotExist:
|
||||
except TeamRequest.DoesNotExist: # pragma: no cover
|
||||
return (0,'The request is invalid')
|
||||
|
||||
t = rekwest.team
|
||||
@@ -385,13 +385,13 @@ def revoke_request(user,id):
|
||||
if rekwest.user==user:
|
||||
rekwest.delete()
|
||||
return (1,'Request revoked')
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'You are not the requestor')
|
||||
|
||||
def reject_revoke_coach_offer(user,id):
|
||||
try:
|
||||
rekwest = CoachOffer.objects.get(id=id)
|
||||
except CoachOffer.DoesNotExist:
|
||||
except CoachOffer.DoesNotExist: # pragma: no cover
|
||||
return (0,'The request is invalid')
|
||||
|
||||
if rekwest.coach.user == user:
|
||||
@@ -402,13 +402,13 @@ def reject_revoke_coach_offer(user,id):
|
||||
send_coachoffer_rejected_email(rekwest)
|
||||
rekwest.delete()
|
||||
return (1,'Request removed')
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'Not permitted')
|
||||
|
||||
def reject_revoke_coach_request(user,id):
|
||||
try:
|
||||
rekwest = CoachRequest.objects.get(id=id)
|
||||
except CoachRequest.DoesNotExist:
|
||||
except CoachRequest.DoesNotExist: # pragma: no cover
|
||||
return (0,'The request is invalid')
|
||||
|
||||
if rekwest.coach.user == user:
|
||||
@@ -418,59 +418,59 @@ def reject_revoke_coach_request(user,id):
|
||||
elif rekwest.user == user:
|
||||
rekwest.delete()
|
||||
return (1,'Request rejected')
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'Not permitted')
|
||||
|
||||
def revoke_invite(manager,id):
|
||||
try:
|
||||
invite = TeamInvite.objects.get(id=id)
|
||||
except TeamInvite.DoesNotExist:
|
||||
except TeamInvite.DoesNotExist: # pragma: no cover
|
||||
return (0,'The invitation is invalid')
|
||||
|
||||
if is_team_manager(manager,invite.team):
|
||||
invite.delete()
|
||||
return (1,'Invitation revoked')
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'You are not the team manager')
|
||||
|
||||
def reject_request(manager,id):
|
||||
try:
|
||||
rekwest = TeamRequest.objects.get(id=id)
|
||||
except TeamRequest.DoesNotExist:
|
||||
except TeamRequest.DoesNotExist: # pragma: no cover
|
||||
return (0,'The request is invalid')
|
||||
|
||||
if is_team_manager(manager,rekwest.team):
|
||||
send_request_reject_email(rekwest)
|
||||
rekwest.delete()
|
||||
return (1,'Request rejected')
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'You are not the manager for this request')
|
||||
|
||||
|
||||
def reject_invitation(user,id):
|
||||
try:
|
||||
invite = TeamInvite.objects.get(id=id)
|
||||
except TeamInvite.DoesNotExist:
|
||||
except TeamInvite.DoesNotExist: # pragma: no cover
|
||||
return (0,'The invitation is invalid')
|
||||
|
||||
if invite.user==user:
|
||||
send_invite_reject_email(invite)
|
||||
invite.delete()
|
||||
return (1,'Invitation rejected')
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
return (0,'This request was not for you')
|
||||
|
||||
|
||||
def send_invite_email(id):
|
||||
try:
|
||||
invitation = TeamInvite.objects.get(id=id)
|
||||
except TeamInvite.DoesNotExist:
|
||||
except TeamInvite.DoesNotExist: # pragma: no cover
|
||||
return (0,'Invitation doesn not exist')
|
||||
|
||||
if invitation.user:
|
||||
email = invitation.user.email
|
||||
name = invitation.user.first_name + " " + invitation.user.last_name
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
email = invitation.email
|
||||
name = ''
|
||||
|
||||
@@ -510,7 +510,7 @@ def send_email_member_dropped(teamid,rower):
|
||||
return (1,'Member dropped email sent')
|
||||
|
||||
|
||||
def send_request_accept_email(rekwest):
|
||||
def send_request_accept_email(rekwest): # pragma: no cover
|
||||
id = rekwest.id
|
||||
email = rekwest.user.email
|
||||
teamname = rekwest.team.name
|
||||
@@ -542,7 +542,7 @@ def send_invite_reject_email(invitation):
|
||||
email = invitation.team.manager.email
|
||||
if invitation.user:
|
||||
name = invitation.user.first_name+' '+invitation.user.last_name
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
name = invitation.email
|
||||
|
||||
teamname = invitation.team.name
|
||||
@@ -555,7 +555,7 @@ def send_invite_reject_email(invitation):
|
||||
return (1,'Invitation email sent')
|
||||
|
||||
|
||||
def send_invite_accept_email(invitation):
|
||||
def send_invite_accept_email(invitation): # pragma: no cover
|
||||
id = invitation.id
|
||||
email = invitation.team.manager.email
|
||||
if invitation.user:
|
||||
@@ -572,7 +572,7 @@ def send_invite_accept_email(invitation):
|
||||
|
||||
return (1,'Invitation email sent')
|
||||
|
||||
def send_team_message(team,message):
|
||||
def send_team_message(team,message): # pragma: no cover
|
||||
rowers = team.rower.all()
|
||||
managername = team.manager.first_name + " " + team.manager.last_name
|
||||
|
||||
@@ -598,7 +598,7 @@ def send_request_email(rekwest):
|
||||
|
||||
return (1,'Invitation email sent')
|
||||
|
||||
def process_request_code(manager,code):
|
||||
def process_request_code(manager,code): # pragma: no cover
|
||||
code = code.upper()
|
||||
|
||||
try:
|
||||
@@ -623,7 +623,7 @@ def process_request_code(manager,code):
|
||||
rekwest.delete()
|
||||
return (result,'The member was added')
|
||||
|
||||
def process_invite_code(user,code):
|
||||
def process_invite_code(user,code): # pragma: no cover
|
||||
code = code.upper()
|
||||
try:
|
||||
invitation = TeamInvite.objects.get(code=code)
|
||||
@@ -646,7 +646,7 @@ def process_invite_code(user,code):
|
||||
invitation.delete()
|
||||
return (result,'You were added to the team')
|
||||
|
||||
def remove_expired_invites():
|
||||
def remove_expired_invites(): # pragma: no cover
|
||||
issuedate = timezone.now()-timedelta(days=inviteduration)
|
||||
issuedate = datetime.date(issuedate)
|
||||
invitations = TeamInvite.objects.filter(issuedate__lt=issuedate)
|
||||
@@ -660,14 +660,14 @@ def process_coachrequest_code(coach,code):
|
||||
|
||||
try:
|
||||
rekwest = CoachRequest.objects.get(code=code)
|
||||
except CoachRequest.DoesNotExist:
|
||||
except CoachRequest.DoesNotExist: # pragma: no cover
|
||||
return (0,'The request has been revoked or is invalid')
|
||||
|
||||
if rekwest.coach != coach:
|
||||
if rekwest.coach != coach: # pragma: no cover
|
||||
return (0,'The request is invalid')
|
||||
|
||||
result = add_coach(coach,rekwest.user.rower)
|
||||
if not result:
|
||||
if not result: # pragma: no cover
|
||||
return result
|
||||
else:
|
||||
send_coachrequest_accepted_email(rekwest)
|
||||
@@ -681,14 +681,14 @@ def process_coachoffer_code(user,code):
|
||||
|
||||
try:
|
||||
rekwest = CoachOffer.objects.get(code=code)
|
||||
except CoachOffer.DoesNotExist:
|
||||
except CoachOffer.DoesNotExist: # pragma: no cover
|
||||
return (0,'The request has been revoked or is invalid')
|
||||
|
||||
if rekwest.user != user:
|
||||
if rekwest.user != user: # pragma: no cover
|
||||
return (0,'The request is invalid')
|
||||
|
||||
result = add_coach(rekwest.coach,rekwest.user.rower)
|
||||
if not result:
|
||||
if not result: # pragma: no cover
|
||||
return result
|
||||
else:
|
||||
send_coachoffer_accepted_email(rekwest)
|
||||
|
||||
Reference in New Issue
Block a user