Tests and helpers
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user