mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-05-06 05:01:48 +02:00
switch to No Currency for test projects
This reflects the real behavior of current form.
This commit is contained in:
parent
d2290b19b5
commit
a9bddef0d2
4 changed files with 16 additions and 15 deletions
|
@ -804,7 +804,8 @@ class BudgetTestCase(IhatemoneyTestCase):
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
def test_statistics(self):
|
def test_statistics(self):
|
||||||
self.post_project("raclette")
|
# Output is checked with the USD sign
|
||||||
|
self.post_project("raclette", default_currency="USD")
|
||||||
|
|
||||||
# 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})
|
||||||
|
@ -1447,7 +1448,7 @@ class BudgetTestCase(IhatemoneyTestCase):
|
||||||
|
|
||||||
def test_currency_switch(self):
|
def test_currency_switch(self):
|
||||||
|
|
||||||
mock_data = {"USD": 1, "EUR": 0.8, "CAD": 1.2}
|
mock_data = {"USD": 1, "EUR": 0.8, "CAD": 1.2, CurrencyConverter.no_currency: 1}
|
||||||
converter = CurrencyConverter()
|
converter = CurrencyConverter()
|
||||||
converter.get_rates = MagicMock(return_value=mock_data)
|
converter.get_rates = MagicMock(return_value=mock_data)
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ class BaseTestCase(TestCase):
|
||||||
follow_redirects=True,
|
follow_redirects=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
def post_project(self, name, follow_redirects=True):
|
def post_project(self, name, follow_redirects=True, default_currency="XXX"):
|
||||||
"""Create a fake project"""
|
"""Create a fake project"""
|
||||||
# create the project
|
# create the project
|
||||||
return self.client.post(
|
return self.client.post(
|
||||||
|
@ -40,18 +40,18 @@ class BaseTestCase(TestCase):
|
||||||
"id": name,
|
"id": name,
|
||||||
"password": name,
|
"password": name,
|
||||||
"contact_email": f"{name}@notmyidea.org",
|
"contact_email": f"{name}@notmyidea.org",
|
||||||
"default_currency": "USD",
|
"default_currency": default_currency,
|
||||||
},
|
},
|
||||||
follow_redirects=follow_redirects,
|
follow_redirects=follow_redirects,
|
||||||
)
|
)
|
||||||
|
|
||||||
def create_project(self, name):
|
def create_project(self, name, default_currency="XXX"):
|
||||||
project = models.Project(
|
project = models.Project(
|
||||||
id=name,
|
id=name,
|
||||||
name=str(name),
|
name=str(name),
|
||||||
password=generate_password_hash(name),
|
password=generate_password_hash(name),
|
||||||
contact_email=f"{name}@notmyidea.org",
|
contact_email=f"{name}@notmyidea.org",
|
||||||
default_currency="USD",
|
default_currency=default_currency,
|
||||||
)
|
)
|
||||||
models.db.session.add(project)
|
models.db.session.add(project)
|
||||||
models.db.session.commit()
|
models.db.session.commit()
|
||||||
|
|
|
@ -25,7 +25,7 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
"name": "demo",
|
"name": "demo",
|
||||||
"contact_email": "demo@notmyidea.org",
|
"contact_email": "demo@notmyidea.org",
|
||||||
"password": "demo",
|
"password": "demo",
|
||||||
"default_currency": "USD",
|
"default_currency": "XXX",
|
||||||
}
|
}
|
||||||
|
|
||||||
if logging_preference != LoggingMode.DISABLED:
|
if logging_preference != LoggingMode.DISABLED:
|
||||||
|
@ -78,7 +78,7 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
"contact_email": "demo2@notmyidea.org",
|
"contact_email": "demo2@notmyidea.org",
|
||||||
"password": "123456",
|
"password": "123456",
|
||||||
"project_history": "y",
|
"project_history": "y",
|
||||||
"default_currency": "USD",
|
"default_currency": "USD", # Currency changed from default
|
||||||
}
|
}
|
||||||
|
|
||||||
resp = self.client.post("/demo/edit", data=new_data, follow_redirects=True)
|
resp = self.client.post("/demo/edit", data=new_data, follow_redirects=True)
|
||||||
|
@ -103,7 +103,7 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
resp.data.decode("utf-8").index("Project renamed "),
|
resp.data.decode("utf-8").index("Project renamed "),
|
||||||
resp.data.decode("utf-8").index("Project private code changed"),
|
resp.data.decode("utf-8").index("Project private code changed"),
|
||||||
)
|
)
|
||||||
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 4)
|
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"))
|
||||||
|
|
||||||
def test_project_privacy_edit(self):
|
def test_project_privacy_edit(self):
|
||||||
|
@ -284,7 +284,7 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
"Some entries below contain IP addresses,", resp.data.decode("utf-8")
|
"Some entries below contain IP addresses,", resp.data.decode("utf-8")
|
||||||
)
|
)
|
||||||
self.assertEqual(resp.data.decode("utf-8").count("127.0.0.1"), 10)
|
self.assertEqual(resp.data.decode("utf-8").count("127.0.0.1"), 12)
|
||||||
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 1)
|
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 1)
|
||||||
|
|
||||||
# Generate more operations to confirm additional IP info isn't recorded
|
# Generate more operations to confirm additional IP info isn't recorded
|
||||||
|
@ -292,8 +292,8 @@ 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.assertEqual(resp.data.decode("utf-8").count("127.0.0.1"), 10)
|
self.assertEqual(resp.data.decode("utf-8").count("127.0.0.1"), 12)
|
||||||
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 6)
|
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 7)
|
||||||
|
|
||||||
# Clear IP Data
|
# Clear IP Data
|
||||||
resp = self.client.post("/demo/strip_ip_addresses", follow_redirects=True)
|
resp = self.client.post("/demo/strip_ip_addresses", follow_redirects=True)
|
||||||
|
@ -311,7 +311,7 @@ class HistoryTestCase(IhatemoneyTestCase):
|
||||||
"Some entries below contain IP addresses,", resp.data.decode("utf-8")
|
"Some entries below contain IP addresses,", resp.data.decode("utf-8")
|
||||||
)
|
)
|
||||||
self.assertEqual(resp.data.decode("utf-8").count("127.0.0.1"), 0)
|
self.assertEqual(resp.data.decode("utf-8").count("127.0.0.1"), 0)
|
||||||
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 16)
|
self.assertEqual(resp.data.decode("utf-8").count("<td> -- </td>"), 19)
|
||||||
|
|
||||||
def test_logs_for_common_actions(self):
|
def test_logs_for_common_actions(self):
|
||||||
# adds a member to this project
|
# adds a member to this project
|
||||||
|
|
|
@ -240,7 +240,7 @@ class EmailFailureTestCase(IhatemoneyTestCase):
|
||||||
|
|
||||||
class TestCurrencyConverter(unittest.TestCase):
|
class TestCurrencyConverter(unittest.TestCase):
|
||||||
converter = CurrencyConverter()
|
converter = CurrencyConverter()
|
||||||
mock_data = {"USD": 1, "EUR": 0.8, "CAD": 1.2}
|
mock_data = {"USD": 1, "EUR": 0.8, "CAD": 1.2, CurrencyConverter.no_currency: 1}
|
||||||
converter.get_rates = MagicMock(return_value=mock_data)
|
converter.get_rates = MagicMock(return_value=mock_data)
|
||||||
|
|
||||||
def test_only_one_instance(self):
|
def test_only_one_instance(self):
|
||||||
|
@ -249,7 +249,7 @@ class TestCurrencyConverter(unittest.TestCase):
|
||||||
self.assertEqual(one, two)
|
self.assertEqual(one, two)
|
||||||
|
|
||||||
def test_get_currencies(self):
|
def test_get_currencies(self):
|
||||||
self.assertCountEqual(self.converter.get_currencies(), ["USD", "EUR", "CAD"])
|
self.assertCountEqual(self.converter.get_currencies(), ["USD", "EUR", "CAD", CurrencyConverter.no_currency])
|
||||||
|
|
||||||
def test_exchange_currency(self):
|
def test_exchange_currency(self):
|
||||||
result = self.converter.exchange_currency(100, "USD", "EUR")
|
result = self.converter.exchange_currency(100, "USD", "EUR")
|
||||||
|
|
Loading…
Reference in a new issue