mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-05-05 12:41:49 +02:00
add test
This commit is contained in:
parent
35da19f4e2
commit
4e257c20e2
1 changed files with 57 additions and 0 deletions
|
@ -108,6 +108,63 @@ class CommandTestCase(BaseTestCase):
|
||||||
|
|
||||||
|
|
||||||
class ModelsTestCase(IhatemoneyTestCase):
|
class ModelsTestCase(IhatemoneyTestCase):
|
||||||
|
def test_weighted_bills(self):
|
||||||
|
"""Test the SQL request that fetch all bills and weights"""
|
||||||
|
self.post_project("raclette")
|
||||||
|
|
||||||
|
# add members
|
||||||
|
self.client.post("/raclette/members/add", data={"name": "zorglub", "weight": 2})
|
||||||
|
self.client.post("/raclette/members/add", data={"name": "fred"})
|
||||||
|
self.client.post("/raclette/members/add", data={"name": "tata"})
|
||||||
|
# Add a member with a balance=0 :
|
||||||
|
self.client.post("/raclette/members/add", data={"name": "pépé"})
|
||||||
|
|
||||||
|
# create bills
|
||||||
|
self.client.post(
|
||||||
|
"/raclette/add",
|
||||||
|
data={
|
||||||
|
"date": "2011-08-10",
|
||||||
|
"what": "fromage à raclette",
|
||||||
|
"payer": 1,
|
||||||
|
"payed_for": [1, 2, 3],
|
||||||
|
"amount": "10.0",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
self.client.post(
|
||||||
|
"/raclette/add",
|
||||||
|
data={
|
||||||
|
"date": "2011-08-10",
|
||||||
|
"what": "red wine",
|
||||||
|
"payer": 2,
|
||||||
|
"payed_for": [1],
|
||||||
|
"amount": "20",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
self.client.post(
|
||||||
|
"/raclette/add",
|
||||||
|
data={
|
||||||
|
"date": "2011-08-10",
|
||||||
|
"what": "delicatessen",
|
||||||
|
"payer": 1,
|
||||||
|
"payed_for": [1, 2],
|
||||||
|
"amount": "10",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
project = models.Project.query.get_by_name(name="raclette")
|
||||||
|
for (weight, bill) in project.get_bill_weights().all():
|
||||||
|
if bill.what == "red wine":
|
||||||
|
pay_each_expected = 20 / 2
|
||||||
|
self.assertEqual(bill.amount / weight, pay_each_expected)
|
||||||
|
if bill.what == "fromage à raclette":
|
||||||
|
pay_each_expected = 10 / 4
|
||||||
|
self.assertEqual(bill.amount / weight, pay_each_expected)
|
||||||
|
if bill.what == "delicatessen":
|
||||||
|
pay_each_expected = 10 / 3
|
||||||
|
self.assertEqual(bill.amount / weight, pay_each_expected)
|
||||||
|
|
||||||
|
|
||||||
def test_bill_pay_each(self):
|
def test_bill_pay_each(self):
|
||||||
|
|
||||||
self.post_project("raclette")
|
self.post_project("raclette")
|
||||||
|
|
Loading…
Reference in a new issue