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
+50
View File
@@ -0,0 +1,50 @@
import unittest
from core.user import User
class TestUser(unittest.TestCase):
def test_default_values(self):
user = User("alice", "Alice")
self.assertEqual(user.id, "alice")
self.assertEqual(user.name, "Alice")
self.assertEqual(user.pin, "4242")
self.assertEqual(user.debt, 0.0)
def test_custom_pin(self):
user = User("bob", "Bob", "1234")
self.assertEqual(user.pin, "1234")
def test_to_json(self):
user = User("charlie", "Charlie", "9999")
user.debt = 12.50
expected = {
"id": "charlie",
"name": "Charlie",
"debt": 12.50,
"pin": "9999"
}
self.assertEqual(user.to_json(), expected)
def test_from_json(self):
data = {
"id": "charlie",
"name": "Charlie",
"debt": 12.50,
"pin": "9999"
}
user = User.from_json(data)
self.assertEqual(user.id, "charlie")
self.assertEqual(user.name, "Charlie")
self.assertEqual(user.debt, 12.50)
self.assertEqual(user.pin, "9999")
def test_from_json_missing_pin(self):
data = {
"id": "charlie",
"name": "Charlie",
"debt": 12.50
}
user = User.from_json(data)
self.assertEqual(user.pin, "4242")
if __name__ == "__main__":
unittest.main()