switch to No Currency for test projects

This reflects the real behavior of current form.
This commit is contained in:
Glandos 2021-06-23 22:34:05 +02:00
parent d2290b19b5
commit a9bddef0d2
4 changed files with 16 additions and 15 deletions

View file

@ -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)

View file

@ -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()

View file

@ -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

View file

@ -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")