You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
orquestrador/tests/test_staff_session_model.py

25 lines
1.1 KiB
Python

import unittest
from admin_app.db.models import StaffSession
class StaffSessionModelTests(unittest.TestCase):
def test_staff_session_declares_expected_table_and_columns(self):
self.assertEqual(StaffSession.__tablename__, "staff_sessions")
self.assertIn("staff_account_id", StaffSession.__table__.columns)
self.assertIn("refresh_token_hash", StaffSession.__table__.columns)
self.assertIn("expires_at", StaffSession.__table__.columns)
self.assertIn("last_used_at", StaffSession.__table__.columns)
self.assertIn("revoked_at", StaffSession.__table__.columns)
self.assertIn("ip_address", StaffSession.__table__.columns)
self.assertIn("user_agent", StaffSession.__table__.columns)
def test_staff_session_uses_staff_account_foreign_key(self):
foreign_keys = list(StaffSession.__table__.columns["staff_account_id"].foreign_keys)
self.assertEqual(len(foreign_keys), 1)
self.assertEqual(str(foreign_keys[0].target_fullname), "staff_accounts.id")
if __name__ == "__main__":
unittest.main()