Private
Public Access
1
0
Files
rowsandall/rowers/credits.py
Sander Roosendaal 89c70bec6e more coverage
2021-12-17 11:29:04 +01:00

42 lines
1.0 KiB
Python

class InsufficientCreditError(Exception):
"""Raised when trying to subtract more than available"""
pass
def upgrade(amount, rower):
if rower.eurocredits > amount: # pragma: no cover
return rower.eurocredits
else:
rower.eurocredits = amount
rower.save()
return rower.eurocredits
return rower.eurocredits # pragma: no cover
def withdraw(amount, rower):
if rower.eurocredits < amount: # pragma: no cover
rower.eurocredits = 0
rower.save()
raise InsufficientCreditError
else:
rower.eurocredits = rower.eurocredits - amount
rower.save()
return rower.eurocredits
return rower.eurocredits # pragma: no cover
def discount(amount,rower): # pragma: no cover
if amount < rower.eurocredits:
return amount
else:
return rower.eurocredits
return 0
def discounted(amount,rower):
if amount > rower.eurocredits: # pragma: no cover
return amount-rower.eurocredits
else:
return 0
return 0 # pragma: no cover