Files
kuehlschrank/tests/test_transaction.py
T
2026-06-02 15:25:32 +02:00

52 lines
1.7 KiB
Python

import unittest
from core.transaction import Transaction
class TestTransaction(unittest.TestCase):
def test_transaction_initialization_with_timestamp(self):
timestamp = "2026-06-02T15:00:00.000000"
t = Transaction("tx_1", "user_1", "item_1", 2.50, timestamp)
self.assertEqual(t.id, "tx_1")
self.assertEqual(t.user_id, "user_1")
self.assertEqual(t.item_id, "item_1")
self.assertEqual(t.amount, 2.50)
self.assertEqual(t.timestamp, timestamp)
def test_transaction_auto_timestamp(self):
t = Transaction("tx_2", "user_2", "item_2", 1.50)
self.assertIsNotNone(t.timestamp)
# Check if timestamp format is valid ISO string (at least parses or contains dates)
self.assertIn("-", t.timestamp)
self.assertIn("T", t.timestamp)
def test_to_json(self):
timestamp = "2026-06-02T15:00:00"
t = Transaction("tx_1", "user_1", "item_1", 2.50, timestamp)
expected = {
"id": "tx_1",
"user_id": "user_1",
"item_id": "item_1",
"amount": 2.50,
"timestamp": timestamp,
}
self.assertEqual(t.to_json(), expected)
def test_from_json(self):
data = {
"id": "tx_1",
"user_id": "user_1",
"item_id": "item_1",
"amount": 2.50,
"timestamp": "2026-06-02T15:00:00",
}
t = Transaction.from_json(data)
self.assertEqual(t.id, "tx_1")
self.assertEqual(t.user_id, "user_1")
self.assertEqual(t.item_id, "item_1")
self.assertEqual(t.amount, 2.50)
self.assertEqual(t.timestamp, "2026-06-02T15:00:00")
if __name__ == "__main__":
unittest.main()