Swapping Out 'Fred' for 'Jeanne' in Docs/API – Personal Peacekeeping 😊 (#1260)

This commit is contained in:
Alexis Métaireau 2023-11-13 00:47:24 +01:00 committed by GitHub
parent e507b44ee9
commit aab32a2c3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 111 additions and 98 deletions

View file

@ -133,7 +133,7 @@ You can get all the members with a `GET` on
[{"weight": 1, "activated": true, "id": 31, "name": "Arnaud"}, [{"weight": 1, "activated": true, "id": 31, "name": "Arnaud"},
{"weight": 1, "activated": true, "id": 32, "name": "Alexis"}, {"weight": 1, "activated": true, "id": 32, "name": "Alexis"},
{"weight": 1, "activated": true, "id": 33, "name": "Olivier"}, {"weight": 1, "activated": true, "id": 33, "name": "Olivier"},
{"weight": 1, "activated": true, "id": 34, "name": "Fred"}] {"weight": 1, "activated": true, "id": 34, "name": "Jeanne"}]
Add a member with a `POST` request on `/api/projects/<id>/members`: Add a member with a `POST` request on `/api/projects/<id>/members`:
@ -244,7 +244,7 @@ You can get some project stats with a `GET` on
"balance": 10.5 "balance": 10.5
}, },
{ {
"member": {"activated": true, "id": 2, "name": "fred", "weight": 1.0}, "member": {"activated": true, "id": 2, "name": "jeanne", "weight": 1.0},
"paid": 5, "paid": 5,
"spent": 15.5, "spent": 15.5,
"balance": -10.5 "balance": -10.5

View file

@ -314,7 +314,7 @@ class TestAPI(IhatemoneyTestCase):
# edit the participant # edit the participant
req = self.client.put( req = self.client.put(
"/api/projects/raclette/members/1", "/api/projects/raclette/members/1",
data={"name": "Fred", "weight": 2}, data={"name": "Jeanne", "weight": 2},
headers=self.get_auth("raclette"), headers=self.get_auth("raclette"),
) )
@ -326,14 +326,14 @@ class TestAPI(IhatemoneyTestCase):
) )
self.assertStatus(200, req) self.assertStatus(200, req)
assert "Fred" == json.loads(req.data.decode("utf-8"))["name"] assert "Jeanne" == json.loads(req.data.decode("utf-8"))["name"]
assert 2 == json.loads(req.data.decode("utf-8"))["weight"] assert 2 == json.loads(req.data.decode("utf-8"))["weight"]
# edit this member with same information # edit this member with same information
# (test PUT idemopotence) # (test PUT idempotence)
req = self.client.put( req = self.client.put(
"/api/projects/raclette/members/1", "/api/projects/raclette/members/1",
data={"name": "Fred"}, data={"name": "Jeanne"},
headers=self.get_auth("raclette"), headers=self.get_auth("raclette"),
) )
@ -342,7 +342,7 @@ class TestAPI(IhatemoneyTestCase):
# de-activate the participant # de-activate the participant
req = self.client.put( req = self.client.put(
"/api/projects/raclette/members/1", "/api/projects/raclette/members/1",
data={"name": "Fred", "activated": False}, data={"name": "Jeanne", "activated": False},
headers=self.get_auth("raclette"), headers=self.get_auth("raclette"),
) )
self.assertStatus(200, req) self.assertStatus(200, req)
@ -356,7 +356,7 @@ class TestAPI(IhatemoneyTestCase):
# re-activate the participant # re-activate the participant
req = self.client.put( req = self.client.put(
"/api/projects/raclette/members/1", "/api/projects/raclette/members/1",
data={"name": "Fred", "activated": True}, data={"name": "Jeanne", "activated": True},
headers=self.get_auth("raclette"), headers=self.get_auth("raclette"),
) )
@ -388,7 +388,7 @@ class TestAPI(IhatemoneyTestCase):
# add participants # add participants
self.api_add_member("raclette", "zorglub") self.api_add_member("raclette", "zorglub")
self.api_add_member("raclette", "fred") self.api_add_member("raclette", "jeanne")
self.api_add_member("raclette", "quentin") self.api_add_member("raclette", "quentin")
# get the list of bills (should be empty) # get the list of bills (should be empty)
@ -429,7 +429,7 @@ class TestAPI(IhatemoneyTestCase):
"payer_id": 1, "payer_id": 1,
"owers": [ "owers": [
{"activated": True, "id": 1, "name": "zorglub", "weight": 1}, {"activated": True, "id": 1, "name": "zorglub", "weight": 1},
{"activated": True, "id": 2, "name": "fred", "weight": 1}, {"activated": True, "id": 2, "name": "jeanne", "weight": 1},
], ],
"amount": 25.0, "amount": 25.0,
"date": "2011-08-10", "date": "2011-08-10",
@ -498,7 +498,7 @@ class TestAPI(IhatemoneyTestCase):
"payer_id": 2, "payer_id": 2,
"owers": [ "owers": [
{"activated": True, "id": 1, "name": "zorglub", "weight": 1}, {"activated": True, "id": 1, "name": "zorglub", "weight": 1},
{"activated": True, "id": 2, "name": "fred", "weight": 1}, {"activated": True, "id": 2, "name": "jeanne", "weight": 1},
], ],
"amount": 25.0, "amount": 25.0,
"date": "2011-09-10", "date": "2011-09-10",
@ -534,7 +534,7 @@ class TestAPI(IhatemoneyTestCase):
# add participants # add participants
self.api_add_member("raclette", "zorglub") self.api_add_member("raclette", "zorglub")
self.api_add_member("raclette", "fred") self.api_add_member("raclette", "jeanne")
# valid amounts # valid amounts
input_expected = [ input_expected = [
@ -576,7 +576,7 @@ class TestAPI(IhatemoneyTestCase):
"payer_id": 1, "payer_id": 1,
"owers": [ "owers": [
{"activated": True, "id": 1, "name": "zorglub", "weight": 1}, {"activated": True, "id": 1, "name": "zorglub", "weight": 1},
{"activated": True, "id": 2, "name": "fred", "weight": 1}, {"activated": True, "id": 2, "name": "jeanne", "weight": 1},
], ],
"amount": expected_amount, "amount": expected_amount,
"date": "2011-08-10", "date": "2011-08-10",
@ -647,7 +647,7 @@ class TestAPI(IhatemoneyTestCase):
# Add participants # Add participants
self.api_add_member("raclette", "zorglub") self.api_add_member("raclette", "zorglub")
self.api_add_member("raclette", "fred") self.api_add_member("raclette", "jeanne")
self.api_add_member("raclette", "quentin") self.api_add_member("raclette", "quentin")
# Add a bill without explicit currency # Add a bill without explicit currency
@ -680,7 +680,7 @@ class TestAPI(IhatemoneyTestCase):
"payer_id": 1, "payer_id": 1,
"owers": [ "owers": [
{"activated": True, "id": 1, "name": "zorglub", "weight": 1}, {"activated": True, "id": 1, "name": "zorglub", "weight": 1},
{"activated": True, "id": 2, "name": "fred", "weight": 1}, {"activated": True, "id": 2, "name": "jeanne", "weight": 1},
], ],
"amount": 25.0, "amount": 25.0,
"date": "2011-08-10", "date": "2011-08-10",
@ -725,7 +725,7 @@ class TestAPI(IhatemoneyTestCase):
"payer_id": 1, "payer_id": 1,
"owers": [ "owers": [
{"activated": True, "id": 1, "name": "zorglub", "weight": 1.0}, {"activated": True, "id": 1, "name": "zorglub", "weight": 1.0},
{"activated": True, "id": 2, "name": "fred", "weight": 1.0}, {"activated": True, "id": 2, "name": "jeanne", "weight": 1.0},
], ],
"amount": 30.0, "amount": 30.0,
"date": "2011-08-10", "date": "2011-08-10",
@ -781,7 +781,7 @@ class TestAPI(IhatemoneyTestCase):
# add participants # add participants
self.api_add_member("raclette", "zorglub") self.api_add_member("raclette", "zorglub")
self.api_add_member("raclette", "fred") self.api_add_member("raclette", "jeanne")
# add a bill # add a bill
req = self.client.post( req = self.client.post(
@ -818,7 +818,7 @@ class TestAPI(IhatemoneyTestCase):
"member": { "member": {
"activated": True, "activated": True,
"id": 2, "id": 2,
"name": "fred", "name": "jeanne",
"weight": 1.0, "weight": 1.0,
}, },
"paid": 0, "paid": 0,
@ -844,7 +844,7 @@ class TestAPI(IhatemoneyTestCase):
# add participants # add participants
self.api_add_member("raclette", "zorglub") self.api_add_member("raclette", "zorglub")
self.api_add_member("raclette", "freddy familly", 4) self.api_add_member("raclette", "jeannedy familly", 4)
self.api_add_member("raclette", "quentin") self.api_add_member("raclette", "quentin")
# add a bill # add a bill
@ -875,7 +875,7 @@ class TestAPI(IhatemoneyTestCase):
"payer_id": 1, "payer_id": 1,
"owers": [ "owers": [
{"activated": True, "id": 1, "name": "zorglub", "weight": 1}, {"activated": True, "id": 1, "name": "zorglub", "weight": 1},
{"activated": True, "id": 2, "name": "freddy familly", "weight": 4}, {"activated": True, "id": 2, "name": "jeannedy familly", "weight": 4},
], ],
"amount": 25.0, "amount": 25.0,
"date": "2011-08-10", "date": "2011-08-10",
@ -909,7 +909,7 @@ class TestAPI(IhatemoneyTestCase):
{ {
"activated": True, "activated": True,
"id": 2, "id": 2,
"name": "freddy familly", "name": "jeannedy familly",
"weight": 4.0, "weight": 4.0,
"balance": -20.0, "balance": -20.0,
}, },

View file

@ -400,25 +400,25 @@ class TestBudget(IhatemoneyTestCase):
# should not accept him # should not accept him
assert len(self.get_project("raclette").members) == 1 assert len(self.get_project("raclette").members) == 1
# add fred # add jeanne
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
assert len(self.get_project("raclette").members) == 2 assert len(self.get_project("raclette").members) == 2
# check fred is present in the bills page # check jeanne is present in the bills page
result = self.client.get("/raclette/") result = self.client.get("/raclette/")
assert "fred" in result.data.decode("utf-8") assert "jeanne" in result.data.decode("utf-8")
# remove fred # remove jeanne
self.client.post( self.client.post(
"/raclette/members/%s/delete" % self.get_project("raclette").members[-1].id "/raclette/members/%s/delete" % self.get_project("raclette").members[-1].id
) )
# as fred is not bound to any bill, he is removed # as jeanne is not bound to any bill, he is removed
assert len(self.get_project("raclette").members) == 1 assert len(self.get_project("raclette").members) == 1
# add fred again # add jeanne again
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
fred_id = self.get_project("raclette").members[-1].id jeanne_id = self.get_project("raclette").members[-1].id
# bound him to a bill # bound him to a bill
result = self.client.post( result = self.client.post(
@ -426,38 +426,38 @@ class TestBudget(IhatemoneyTestCase):
data={ data={
"date": "2011-08-10", "date": "2011-08-10",
"what": "fromage à raclette", "what": "fromage à raclette",
"payer": fred_id, "payer": jeanne_id,
"payed_for": [fred_id], "payed_for": [jeanne_id],
"amount": "25", "amount": "25",
}, },
) )
# remove fred # remove jeanne
self.client.post(f"/raclette/members/{fred_id}/delete") self.client.post(f"/raclette/members/{jeanne_id}/delete")
# he is still in the database, but is deactivated # he is still in the database, but is deactivated
assert len(self.get_project("raclette").members) == 2 assert len(self.get_project("raclette").members) == 2
assert len(self.get_project("raclette").active_members) == 1 assert len(self.get_project("raclette").active_members) == 1
# as fred is now deactivated, check that he is not listed when adding # as jeanne is now deactivated, check that he is not listed when adding
# a bill or displaying the balance # a bill or displaying the balance
result = self.client.get("/raclette/") result = self.client.get("/raclette/")
assert (f"/raclette/members/{fred_id}/delete") not in result.data.decode( assert (f"/raclette/members/{jeanne_id}/delete") not in result.data.decode(
"utf-8" "utf-8"
) )
result = self.client.get("/raclette/add") result = self.client.get("/raclette/add")
assert "fred" not in result.data.decode("utf-8") assert "jeanne" not in result.data.decode("utf-8")
# adding him again should reactivate him # adding him again should reactivate him
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
assert len(self.get_project("raclette").active_members) == 2 assert len(self.get_project("raclette").active_members) == 2
# adding an user with the same name as another user from a different # adding an user with the same name as another user from a different
# project should not cause any troubles # project should not cause any troubles
self.post_project("randomid") self.post_project("randomid")
self.login("randomid") self.login("randomid")
self.client.post("/randomid/members/add", data={"name": "fred"}) self.client.post("/randomid/members/add", data={"name": "jeanne"})
assert len(self.get_project("randomid").active_members) == 1 assert len(self.get_project("randomid").active_members) == 1
def test_person_model(self): def test_person_model(self):
@ -634,7 +634,7 @@ class TestBudget(IhatemoneyTestCase):
# add two participants # add two participants
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
members_ids = [m.id for m in self.get_project("raclette").members] members_ids = [m.id for m in self.get_project("raclette").members]
@ -776,7 +776,7 @@ class TestBudget(IhatemoneyTestCase):
# add two participants # add two participants
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post( self.client.post(
"/raclette/members/add", data={"name": "freddy familly", "weight": 4} "/raclette/members/add", data={"name": "jeannedy familly", "weight": 4}
) )
members_ids = [m.id for m in self.get_project("raclette").members] members_ids = [m.id for m in self.get_project("raclette").members]
@ -828,7 +828,7 @@ class TestBudget(IhatemoneyTestCase):
assert "extra-info" in resp.data.decode("utf-8") assert "extra-info" in resp.data.decode("utf-8")
self.client.post( self.client.post(
"/raclette/members/add", data={"name": "freddy familly", "weight": 4} "/raclette/members/add", data={"name": "jeannedy familly", "weight": 4}
) )
resp = self.client.get("/raclette/") resp = self.client.get("/raclette/")
@ -853,7 +853,7 @@ class TestBudget(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
# create bills # create bills
@ -993,7 +993,7 @@ class TestBudget(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub", "weight": 2}) 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": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
# Add a participant with a balance at 0 : # Add a participant with a balance at 0 :
self.client.post("/raclette/members/add", data={"name": "pépé"}) self.client.post("/raclette/members/add", data={"name": "pépé"})
@ -1052,7 +1052,8 @@ class TestBudget(IhatemoneyTestCase):
response.data.decode("utf-8"), response.data.decode("utf-8"),
) )
assert re.search( assert re.search(
regex.format("fred", r"\$20\.00", r"\$5\.83"), response.data.decode("utf-8") regex.format("jeanne", r"\$20\.00", r"\$5\.83"),
response.data.decode("utf-8"),
) )
assert re.search( assert re.search(
regex.format("tata", r"\$0\.00", r"\$2\.50"), response.data.decode("utf-8") regex.format("tata", r"\$0\.00", r"\$2\.50"), response.data.decode("utf-8")
@ -1063,7 +1064,7 @@ class TestBudget(IhatemoneyTestCase):
# Check that the order of participants in the sidebar table is the # Check that the order of participants in the sidebar table is the
# same as in the main table. # same as in the main table.
order = ["fred", "pépé", "tata", "zorglub"] order = ["jeanne", "pépé", "tata", "zorglub"]
regex1 = r".*".join( regex1 = r".*".join(
r"<td class=\"balance-name\">{}</td>".format(name) for name in order r"<td class=\"balance-name\">{}</td>".format(name) for name in order
) )
@ -1178,7 +1179,7 @@ class TestBudget(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
# Add a participant with a balance at 0 : # Add a participant with a balance at 0 :
self.client.post("/raclette/members/add", data={"name": "pépé"}) self.client.post("/raclette/members/add", data={"name": "pépé"})
@ -1233,7 +1234,7 @@ class TestBudget(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
# create bills # create bills
@ -1286,7 +1287,7 @@ class TestBudget(IhatemoneyTestCase):
# Add participants # Add participants
self.client.post("/raclette/members/add", data={"name": "zorglub", "weight": 2}) 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": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
self.client.post("/raclette/members/add", data={"name": "pépé"}) self.client.post("/raclette/members/add", data={"name": "pépé"})
@ -1410,7 +1411,7 @@ class TestBudget(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
# create bills # create bills
@ -1537,7 +1538,7 @@ class TestBudget(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
# Bill with a different currency than project's default # Bill with a different currency than project's default
self.client.post( self.client.post(
@ -1572,7 +1573,7 @@ class TestBudget(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
# Bills with a different currency than project's default # Bills with a different currency than project's default
self.client.post( self.client.post(
@ -1647,13 +1648,15 @@ class TestBudget(IhatemoneyTestCase):
"/raclette/members/add", data={"name": "zorglub", "weight": 1.0} "/raclette/members/add", data={"name": "zorglub", "weight": 1.0}
) )
self.client.post("/raclette/members/add", data={"name": "tata", "weight": 1.10}) self.client.post("/raclette/members/add", data={"name": "tata", "weight": 1.10})
self.client.post("/raclette/members/add", data={"name": "fred", "weight": 1.15}) self.client.post(
"/raclette/members/add", data={"name": "jeanne", "weight": 1.15}
)
# check if weights of the users are 1, 1.1, 1.15 respectively # check if weights of the users are 1, 1.1, 1.15 respectively
resp = self.client.get("/raclette/") resp = self.client.get("/raclette/")
assert 'zorglub<span class="light">(x1)</span>' in resp.data.decode("utf-8") assert 'zorglub<span class="light">(x1)</span>' in resp.data.decode("utf-8")
assert 'tata<span class="light">(x1.1)</span>' in resp.data.decode("utf-8") assert 'tata<span class="light">(x1.1)</span>' in resp.data.decode("utf-8")
assert 'fred<span class="light">(x1.15)</span>' in resp.data.decode("utf-8") assert 'jeanne<span class="light">(x1.15)</span>' in resp.data.decode("utf-8")
def test_amount_too_high(self): def test_amount_too_high(self):
self.post_project("raclette") self.post_project("raclette")
@ -2060,7 +2063,7 @@ class TestBudget(IhatemoneyTestCase):
""" """
self.post_project("raclette") self.post_project("raclette")
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
members_ids = [m.id for m in self.get_project("raclette").members] members_ids = [m.id for m in self.get_project("raclette").members]
# create a bill # create a bill
self.client.post( self.client.post(
@ -2110,7 +2113,7 @@ class TestBudget(IhatemoneyTestCase):
""" """
self.post_project("raclette") self.post_project("raclette")
self.client.post("/raclette/members/add", data={"name": "zorglub"}) self.client.post("/raclette/members/add", data={"name": "zorglub"})
self.client.post("/raclette/members/add", data={"name": "fred"}) self.client.post("/raclette/members/add", data={"name": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "pipistrelle"}) self.client.post("/raclette/members/add", data={"name": "pipistrelle"})
members_ids = [m.id for m in self.get_project("raclette").members] members_ids = [m.id for m in self.get_project("raclette").members]
# create a bill # create a bill

View file

@ -16,13 +16,13 @@ def import_data(request: pytest.FixtureRequest):
"amount": 13.33, "amount": 13.33,
"payer_name": "tata", "payer_name": "tata",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["fred"], "owers": ["jeanne"],
}, },
{ {
"date": "2016-12-31", "date": "2016-12-31",
"what": "red wine", "what": "red wine",
"amount": 200.0, "amount": 200.0,
"payer_name": "fred", "payer_name": "jeanne",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["zorglub", "tata"], "owers": ["zorglub", "tata"],
}, },
@ -32,7 +32,7 @@ def import_data(request: pytest.FixtureRequest):
"amount": 10.0, "amount": 10.0,
"payer_name": "zorglub", "payer_name": "zorglub",
"payer_weight": 2.0, "payer_weight": 2.0,
"owers": ["zorglub", "fred", "tata", "pepe"], "owers": ["zorglub", "jeanne", "tata", "pepe"],
}, },
] ]
request.cls.data = data request.cls.data = data
@ -51,13 +51,13 @@ class CommonTestCase(object):
"amount": 13.33, "amount": 13.33,
"payer_name": "tata", "payer_name": "tata",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["fred"], "owers": ["jeanne"],
}, },
{ {
"date": "2016-12-31", "date": "2016-12-31",
"what": "red wine", "what": "red wine",
"amount": 200.0, "amount": 200.0,
"payer_name": "fred", "payer_name": "jeanne",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["zorglub", "tata"], "owers": ["zorglub", "tata"],
}, },
@ -67,7 +67,7 @@ class CommonTestCase(object):
"amount": 10.0, "amount": 10.0,
"payer_name": "zorglub", "payer_name": "zorglub",
"payer_weight": 2.0, "payer_weight": 2.0,
"owers": ["zorglub", "fred", "tata", "pepe"], "owers": ["zorglub", "jeanne", "tata", "pepe"],
}, },
] ]
@ -264,7 +264,7 @@ class CommonTestCase(object):
self.client.post( self.client.post(
"/raclette/members/add", data={"name": "zorglub", "weight": 2} "/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": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
self.client.post( self.client.post(
"/raclette/add", "/raclette/add",
@ -328,7 +328,7 @@ class CommonTestCase(object):
"what": "refund", "what": "refund",
"payer_name": "tata", "payer_name": "tata",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["fred"], "owers": ["jeanne"],
} }
] ]
for data in [data_wrong_keys, data_amount_missing]: for data in [data_wrong_keys, data_amount_missing]:
@ -344,7 +344,7 @@ class TestExport(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub", "weight": 2}) 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": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
self.client.post("/raclette/members/add", data={"name": "pépé"}) self.client.post("/raclette/members/add", data={"name": "pépé"})
@ -392,14 +392,14 @@ class TestExport(IhatemoneyTestCase):
"currency": "XXX", "currency": "XXX",
"payer_name": "tata", "payer_name": "tata",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["fred"], "owers": ["jeanne"],
}, },
{ {
"date": "2016-12-31", "date": "2016-12-31",
"what": "red wine", "what": "red wine",
"amount": 200.0, "amount": 200.0,
"currency": "XXX", "currency": "XXX",
"payer_name": "fred", "payer_name": "jeanne",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["zorglub", "tata"], "owers": ["zorglub", "tata"],
}, },
@ -410,7 +410,7 @@ class TestExport(IhatemoneyTestCase):
"currency": "XXX", "currency": "XXX",
"payer_name": "zorglub", "payer_name": "zorglub",
"payer_weight": 2.0, "payer_weight": 2.0,
"owers": ["zorglub", "fred", "tata", "p\xe9p\xe9"], "owers": ["zorglub", "jeanne", "tata", "p\xe9p\xe9"],
}, },
] ]
assert json.loads(resp.data.decode("utf-8")) == expected assert json.loads(resp.data.decode("utf-8")) == expected
@ -419,9 +419,9 @@ class TestExport(IhatemoneyTestCase):
resp = self.client.get("/raclette/export/bills.csv") resp = self.client.get("/raclette/export/bills.csv")
expected = [ expected = [
"date,what,amount,currency,payer_name,payer_weight,owers", "date,what,amount,currency,payer_name,payer_weight,owers",
"2017-01-01,refund,XXX,13.33,tata,1.0,fred", "2017-01-01,refund,XXX,13.33,tata,1.0,jeanne",
'2016-12-31,red wine,XXX,200.0,fred,1.0,"zorglub, tata"', '2016-12-31,red wine,XXX,200.0,jeanne,1.0,"zorglub, tata"',
'2016-12-31,fromage à raclette,10.0,XXX,zorglub,2.0,"zorglub, fred, tata, pépé"', '2016-12-31,fromage à raclette,10.0,XXX,zorglub,2.0,"zorglub, jeanne, tata, pépé"',
] ]
received_lines = resp.data.decode("utf-8").split("\n") received_lines = resp.data.decode("utf-8").split("\n")
@ -434,14 +434,14 @@ class TestExport(IhatemoneyTestCase):
{ {
"amount": 2.00, "amount": 2.00,
"currency": "XXX", "currency": "XXX",
"receiver": "fred", "receiver": "jeanne",
"ower": "p\xe9p\xe9", "ower": "p\xe9p\xe9",
}, },
{"amount": 55.34, "currency": "XXX", "receiver": "fred", "ower": "tata"}, {"amount": 55.34, "currency": "XXX", "receiver": "jeanne", "ower": "tata"},
{ {
"amount": 127.33, "amount": 127.33,
"currency": "XXX", "currency": "XXX",
"receiver": "fred", "receiver": "jeanne",
"ower": "zorglub", "ower": "zorglub",
}, },
] ]
@ -453,9 +453,9 @@ class TestExport(IhatemoneyTestCase):
expected = [ expected = [
"amount,currency,receiver,ower", "amount,currency,receiver,ower",
"2.0,XXX,fred,pépé", "2.0,XXX,jeanne,pépé",
"55.34,XXX,fred,tata", "55.34,XXX,jeanne,tata",
"127.33,XXX,fred,zorglub", "127.33,XXX,jeanne,zorglub",
] ]
received_lines = resp.data.decode("utf-8").split("\n") received_lines = resp.data.decode("utf-8").split("\n")
@ -472,7 +472,7 @@ class TestExport(IhatemoneyTestCase):
# add participants # add participants
self.client.post("/raclette/members/add", data={"name": "zorglub", "weight": 2}) 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": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
self.client.post("/raclette/members/add", data={"name": "pépé"}) self.client.post("/raclette/members/add", data={"name": "pépé"})
@ -523,14 +523,14 @@ class TestExport(IhatemoneyTestCase):
"currency": "EUR", "currency": "EUR",
"payer_name": "tata", "payer_name": "tata",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["fred"], "owers": ["jeanne"],
}, },
{ {
"date": "2016-12-31", "date": "2016-12-31",
"what": "poutine from Qu\xe9bec", "what": "poutine from Qu\xe9bec",
"amount": 100.0, "amount": 100.0,
"currency": "CAD", "currency": "CAD",
"payer_name": "fred", "payer_name": "jeanne",
"payer_weight": 1.0, "payer_weight": 1.0,
"owers": ["zorglub", "tata"], "owers": ["zorglub", "tata"],
}, },
@ -541,7 +541,7 @@ class TestExport(IhatemoneyTestCase):
"currency": "EUR", "currency": "EUR",
"payer_name": "zorglub", "payer_name": "zorglub",
"payer_weight": 2.0, "payer_weight": 2.0,
"owers": ["zorglub", "fred", "tata", "p\xe9p\xe9"], "owers": ["zorglub", "jeanne", "tata", "p\xe9p\xe9"],
}, },
] ]
assert json.loads(resp.data.decode("utf-8")) == expected assert json.loads(resp.data.decode("utf-8")) == expected
@ -550,9 +550,9 @@ class TestExport(IhatemoneyTestCase):
resp = self.client.get("/raclette/export/bills.csv") resp = self.client.get("/raclette/export/bills.csv")
expected = [ expected = [
"date,what,amount,currency,payer_name,payer_weight,owers", "date,what,amount,currency,payer_name,payer_weight,owers",
"2017-01-01,refund,13.33,EUR,tata,1.0,fred", "2017-01-01,refund,13.33,EUR,tata,1.0,jeanne",
'2016-12-31,poutine from Québec,100.0,CAD,fred,1.0,"zorglub, tata"', '2016-12-31,poutine from Québec,100.0,CAD,jeanne,1.0,"zorglub, tata"',
'2016-12-31,fromage à raclette,10.0,EUR,zorglub,2.0,"zorglub, fred, tata, pépé"', '2016-12-31,fromage à raclette,10.0,EUR,zorglub,2.0,"zorglub, jeanne, tata, pépé"',
] ]
received_lines = resp.data.decode("utf-8").split("\n") received_lines = resp.data.decode("utf-8").split("\n")
@ -565,11 +565,16 @@ class TestExport(IhatemoneyTestCase):
{ {
"amount": 2.00, "amount": 2.00,
"currency": "EUR", "currency": "EUR",
"receiver": "fred", "receiver": "jeanne",
"ower": "p\xe9p\xe9", "ower": "p\xe9p\xe9",
}, },
{"amount": 10.89, "currency": "EUR", "receiver": "fred", "ower": "tata"}, {"amount": 10.89, "currency": "EUR", "receiver": "jeanne", "ower": "tata"},
{"amount": 38.45, "currency": "EUR", "receiver": "fred", "ower": "zorglub"}, {
"amount": 38.45,
"currency": "EUR",
"receiver": "jeanne",
"ower": "zorglub",
},
] ]
assert json.loads(resp.data.decode("utf-8")) == expected assert json.loads(resp.data.decode("utf-8")) == expected
@ -579,9 +584,9 @@ class TestExport(IhatemoneyTestCase):
expected = [ expected = [
"amount,currency,receiver,ower", "amount,currency,receiver,ower",
"2.0,EUR,fred,pépé", "2.0,EUR,jeanne,pépé",
"10.89,EUR,fred,tata", "10.89,EUR,jeanne,tata",
"38.45,EUR,fred,zorglub", "38.45,EUR,jeanne,zorglub",
] ]
received_lines = resp.data.decode("utf-8").split("\n") received_lines = resp.data.decode("utf-8").split("\n")
@ -598,11 +603,16 @@ class TestExport(IhatemoneyTestCase):
{ {
"amount": 3.00, "amount": 3.00,
"currency": "CAD", "currency": "CAD",
"receiver": "fred", "receiver": "jeanne",
"ower": "p\xe9p\xe9", "ower": "p\xe9p\xe9",
}, },
{"amount": 16.34, "currency": "CAD", "receiver": "fred", "ower": "tata"}, {"amount": 16.34, "currency": "CAD", "receiver": "jeanne", "ower": "tata"},
{"amount": 57.67, "currency": "CAD", "receiver": "fred", "ower": "zorglub"}, {
"amount": 57.67,
"currency": "CAD",
"receiver": "jeanne",
"ower": "zorglub",
},
] ]
assert json.loads(resp.data.decode("utf-8")) == expected assert json.loads(resp.data.decode("utf-8")) == expected
@ -612,9 +622,9 @@ class TestExport(IhatemoneyTestCase):
expected = [ expected = [
"amount,currency,receiver,ower", "amount,currency,receiver,ower",
"3.0,CAD,fred,pépé", "3.0,CAD,jeanne,pépé",
"16.34,CAD,fred,tata", "16.34,CAD,jeanne,tata",
"57.67,CAD,fred,zorglub", "57.67,CAD,jeanne,zorglub",
] ]
received_lines = resp.data.decode("utf-8").split("\n") received_lines = resp.data.decode("utf-8").split("\n")

View file

@ -113,7 +113,7 @@ class TestModels(IhatemoneyTestCase):
# add members # add members
self.client.post("/raclette/members/add", data={"name": "zorglub", "weight": 2}) 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": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
# Add a member with a balance=0 : # Add a member with a balance=0 :
self.client.post("/raclette/members/add", data={"name": "pépé"}) self.client.post("/raclette/members/add", data={"name": "pépé"})
@ -168,7 +168,7 @@ class TestModels(IhatemoneyTestCase):
# add members # add members
self.client.post("/raclette/members/add", data={"name": "zorglub", "weight": 2}) 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": "jeanne"})
self.client.post("/raclette/members/add", data={"name": "tata"}) self.client.post("/raclette/members/add", data={"name": "tata"})
# Add a member with a balance=0 : # Add a member with a balance=0 :
self.client.post("/raclette/members/add", data={"name": "pépé"}) self.client.post("/raclette/members/add", data={"name": "pépé"})