Tests and helpers

This commit is contained in:
2026-06-02 15:25:32 +02:00
parent faf5d440f3
commit d249c6a013
9 changed files with 372 additions and 121 deletions
+37
View File
@@ -0,0 +1,37 @@
import unittest
from utils.helpers import format_currency, format_date, validate_pin, parse_price
class TestHelpers(unittest.TestCase):
def test_format_currency_german(self):
self.assertEqual(format_currency(2.50), "2,50 €")
self.assertEqual(format_currency(1234.567), "1234,57 €")
self.assertEqual(format_currency(0.0), "0,00 €")
def test_format_currency_non_german(self):
self.assertEqual(format_currency(2.50, symbol="$", is_german=False), "$2.50")
self.assertEqual(format_currency(0.99, symbol="£", is_german=False), "£0.99")
def test_format_date(self):
self.assertEqual(format_date("2026-06-02T15:00:00.000000"), "02.06.2026")
self.assertEqual(format_date("2026-12-25T18:30:00"), "25.12.2026")
self.assertEqual(format_date("invalid-date-format"), "invalid-da")
def test_validate_pin(self):
self.assertTrue(validate_pin("1234"))
self.assertTrue(validate_pin("4242"))
self.assertTrue(validate_pin("123456"))
self.assertFalse(validate_pin("123")) # too short
self.assertFalse(validate_pin("123a")) # non-numeric
self.assertFalse(validate_pin("")) # empty
def test_parse_price(self):
self.assertEqual(parse_price("2.50"), 2.50)
self.assertEqual(parse_price("2,50"), 2.50)
self.assertEqual(parse_price(" 0,99 "), 0.99)
with self.assertRaises(ValueError):
parse_price("-2.50") # negative
with self.assertRaises(ValueError):
parse_price("abc") # non-numeric
if __name__ == "__main__":
unittest.main()