Files
ea-chatbot-lg/backend/tests/test_history_models.py

56 lines
1.8 KiB
Python

import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, DeclarativeBase
# We anticipate these imports will fail initially
try:
from ea_chatbot.history.models import Base, User, Conversation, Message, Plot
except ImportError:
Base = None
User = None
Conversation = None
Message = None
Plot = None
def test_models_exist():
assert User is not None, "User model not found"
assert Conversation is not None, "Conversation model not found"
assert Message is not None, "Message model not found"
assert Plot is not None, "Plot model not found"
assert Base is not None, "Base declarative class not found"
def test_user_model_columns():
if not User: pytest.fail("User model undefined")
# Basic check if columns exist (by inspecting __table__.columns)
columns = User.__table__.columns.keys()
assert "id" in columns
assert "username" in columns
assert "password_hash" in columns
assert "display_name" in columns
def test_conversation_model_columns():
if not Conversation: pytest.fail("Conversation model undefined")
columns = Conversation.__table__.columns.keys()
assert "id" in columns
assert "user_id" in columns
assert "data_state" in columns
assert "name" in columns
assert "summary" in columns
assert "created_at" in columns
def test_message_model_columns():
if not Message: pytest.fail("Message model undefined")
columns = Message.__table__.columns.keys()
assert "id" in columns
assert "role" in columns
assert "content" in columns
assert "conversation_id" in columns
assert "created_at" in columns
def test_plot_model_columns():
if not Plot: pytest.fail("Plot model undefined")
columns = Plot.__table__.columns.keys()
assert "id" in columns
assert "message_id" in columns
assert "image_data" in columns