TorbatYar/backend/services/crm/app/tests/test_migration.py
Mortezakoohjani 064d67f099 Ship CRM Core Platform (phases 6.0–6.3) with docs and prod deploy.
Add the Sales CRM service through collaboration, sync architecture/registry docs, expose crm.torbatyar.ir, and include a production deploy script.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 20:32:00 +03:30

64 lines
1.8 KiB
Python

"""Migration metadata tests."""
from pathlib import Path
from alembic.config import Config
from alembic.script import ScriptDirectory
def test_alembic_revisions_exist():
root = Path(__file__).resolve().parents[2]
cfg = Config(str(root / "alembic.ini"))
cfg.set_main_option("script_location", str(root / "alembic"))
scripts = ScriptDirectory.from_config(cfg)
revisions = list(scripts.walk_revisions())
assert revisions
assert revisions[0].revision == "0004_phase_63_collaboration"
assert revisions[-1].revision == "0001_initial"
assert revisions[-1].down_revision is None
def test_migration_upgrade_creates_metadata_tables(db_setup):
from app.core.database import Base
import app.models # noqa: F401
expected = {
"leads",
"contacts",
"organizations",
"pipelines",
"pipeline_stages",
"opportunities",
"sales_activities",
"quotes",
"sales_playbooks",
"sales_forecasts",
"sales_goals",
"sales_targets",
"activity_types",
"activity_statuses",
"activity_priorities",
"activity_participants",
"activity_reminders",
"tasks",
"task_checklists",
"meetings",
"meeting_attendees",
"call_logs",
"call_outcomes",
"emails",
"email_threads",
"sales_timeline",
"timeline_events",
"comments",
"comment_versions",
"mentions",
"bookmarks",
"favorites",
"sales_team_members",
"team_roles",
"team_assignments",
"crm_notifications_preferences",
"sales_collaboration_audit",
}
assert expected.issubset(set(Base.metadata.tables.keys()))