mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-30 10:12:37 +02:00
Fix string representation of bills (#584)
Currently the string representation of a Bill is: "<amount> for <description>" It is used in the History Page to describe changes that were applied to Bills, for instance: Bill "42.0 for Test" renamed to "Another Test" This is inconsistent, not easy to read, and the "for" in the middle is not translatable. To solve this issue, simply switch the string representation of a bill to its description. Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
This commit is contained in:
parent
55419ab94b
commit
d9dc38947c
2 changed files with 14 additions and 24 deletions
|
@ -460,7 +460,7 @@ class Bill(db.Model):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.amount} for {self.what}"
|
return self.what
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -2598,7 +2598,7 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
resp = self.client.get("/demo/history")
|
resp = self.client.get("/demo/history")
|
||||||
self.assertEqual(resp.status_code, 200)
|
self.assertEqual(resp.status_code, 200)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f"Bill {em_surround('25.0 for fromage à raclette')} added",
|
f"Bill {em_surround('fromage à raclette')} added",
|
||||||
resp.data.decode("utf-8"),
|
resp.data.decode("utf-8"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2619,26 +2619,26 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
resp = self.client.get("/demo/history")
|
resp = self.client.get("/demo/history")
|
||||||
self.assertEqual(resp.status_code, 200)
|
self.assertEqual(resp.status_code, 200)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f"Bill {em_surround('25.0 for fromage à raclette')} added",
|
f"Bill {em_surround('fromage à raclette')} added",
|
||||||
resp.data.decode("utf-8"),
|
resp.data.decode("utf-8"),
|
||||||
)
|
)
|
||||||
self.assertRegex(
|
self.assertRegex(
|
||||||
resp.data.decode("utf-8"),
|
resp.data.decode("utf-8"),
|
||||||
r"Bill %s:\s* Amount changed\s* from %s\s* to %s"
|
r"Bill %s:\s* Amount changed\s* from %s\s* to %s"
|
||||||
% (
|
% (
|
||||||
em_surround("25.0 for fromage à raclette", regex_escape=True),
|
em_surround("fromage à raclette", regex_escape=True),
|
||||||
em_surround("25.0", regex_escape=True),
|
em_surround("25.0", regex_escape=True),
|
||||||
em_surround("10.0", regex_escape=True),
|
em_surround("10.0", regex_escape=True),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
"Bill %s renamed to %s"
|
"Bill %s renamed to %s"
|
||||||
% (em_surround("25.0 for fromage à raclette"), em_surround("new thing"),),
|
% (em_surround("fromage à raclette"), em_surround("new thing"),),
|
||||||
resp.data.decode("utf-8"),
|
resp.data.decode("utf-8"),
|
||||||
)
|
)
|
||||||
self.assertLess(
|
self.assertLess(
|
||||||
resp.data.decode("utf-8").index(
|
resp.data.decode("utf-8").index(
|
||||||
f"Bill {em_surround('25.0 for fromage à raclette')} renamed to"
|
f"Bill {em_surround('fromage à raclette')} renamed to"
|
||||||
),
|
),
|
||||||
resp.data.decode("utf-8").index("Amount changed"),
|
resp.data.decode("utf-8").index("Amount changed"),
|
||||||
)
|
)
|
||||||
|
@ -2650,8 +2650,7 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
resp = self.client.get("/demo/history")
|
resp = self.client.get("/demo/history")
|
||||||
self.assertEqual(resp.status_code, 200)
|
self.assertEqual(resp.status_code, 200)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f"Bill {em_surround('10.0 for new thing')} removed",
|
f"Bill {em_surround('new thing')} removed", resp.data.decode("utf-8"),
|
||||||
resp.data.decode("utf-8"),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# edit user
|
# edit user
|
||||||
|
@ -2746,7 +2745,7 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
self.assertRegex(
|
self.assertRegex(
|
||||||
resp.data.decode("utf-8"),
|
resp.data.decode("utf-8"),
|
||||||
r"Bill {}:\s* Amount changed\s* from {}\s* to {}".format(
|
r"Bill {}:\s* Amount changed\s* from {}\s* to {}".format(
|
||||||
em_surround("25.0 for Bill 1", regex_escape=True),
|
em_surround("Bill 1", regex_escape=True),
|
||||||
em_surround("25.0", regex_escape=True),
|
em_surround("25.0", regex_escape=True),
|
||||||
em_surround("88.0", regex_escape=True),
|
em_surround("88.0", regex_escape=True),
|
||||||
),
|
),
|
||||||
|
@ -2789,11 +2788,9 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
self.assertEqual(resp.status_code, 200)
|
self.assertEqual(resp.status_code, 200)
|
||||||
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 5)
|
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 5)
|
||||||
self.assertNotIn("127.0.0.1", resp.data.decode("utf-8"))
|
self.assertNotIn("127.0.0.1", resp.data.decode("utf-8"))
|
||||||
|
self.assertIn(f"Bill {em_surround('Bill 1')} added", resp.data.decode("utf-8"))
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f"Bill {em_surround('25.0 for Bill 1')} added", resp.data.decode("utf-8")
|
f"Bill {em_surround('Bill 1')} removed", resp.data.decode("utf-8"),
|
||||||
)
|
|
||||||
self.assertIn(
|
|
||||||
f"Bill {em_surround('25.0 for Bill 1')} removed", resp.data.decode("utf-8"),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add a new bill
|
# Add a new bill
|
||||||
|
@ -2812,20 +2809,13 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
self.assertEqual(resp.status_code, 200)
|
self.assertEqual(resp.status_code, 200)
|
||||||
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 6)
|
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 6)
|
||||||
self.assertNotIn("127.0.0.1", resp.data.decode("utf-8"))
|
self.assertNotIn("127.0.0.1", resp.data.decode("utf-8"))
|
||||||
self.assertIn(
|
self.assertIn(f"Bill {em_surround('Bill 1')} added", resp.data.decode("utf-8"))
|
||||||
f"Bill {em_surround('25.0 for Bill 1')} added", resp.data.decode("utf-8")
|
|
||||||
)
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
resp.data.decode("utf-8").count(
|
resp.data.decode("utf-8").count(f"Bill {em_surround('Bill 1')} added"), 1,
|
||||||
f"Bill {em_surround('25.0 for Bill 1')} added"
|
|
||||||
),
|
|
||||||
1,
|
|
||||||
)
|
)
|
||||||
|
self.assertIn(f"Bill {em_surround('Bill 2')} added", resp.data.decode("utf-8"))
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f"Bill {em_surround('20.0 for Bill 2')} added", resp.data.decode("utf-8")
|
f"Bill {em_surround('Bill 1')} removed", resp.data.decode("utf-8"),
|
||||||
)
|
|
||||||
self.assertIn(
|
|
||||||
f"Bill {em_surround('25.0 for Bill 1')} removed", resp.data.decode("utf-8"),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_double_bill_double_person_edit_second_no_web(self):
|
def test_double_bill_double_person_edit_second_no_web(self):
|
||||||
|
|
Loading…
Reference in a new issue