refactor: remove all backward compatibility code across 70 files
Some checks failed
Some checks failed
Clean up 28 backward compatibility instances identified in the codebase. The app is not live, so all shims are replaced with the target architecture: - Remove legacy Inventory.location column (use bin_location exclusively) - Remove dashboard _extract_metric_value helper (use flat metrics dict) - Remove legacy stat field duplicates (total_stores, total_imports, etc.) - Remove 13 re-export shims and class aliases across modules - Remove module-enabling JSON fallback (use PlatformModule junction table) - Remove menu_to_legacy_format() conversion (return dataclasses directly) - Remove title/description from MarketplaceProductBase schema - Clean billing convenience method docstrings - Clean test fixtures and backward-compat comments - Add PlatformModule seeding to init_production.py Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -203,17 +203,17 @@ class TestAdminService:
|
||||
"""Test getting store statistics"""
|
||||
stats = stats_service.get_store_statistics(db)
|
||||
|
||||
assert "total_stores" in stats
|
||||
assert "active_stores" in stats
|
||||
assert "verified_stores" in stats
|
||||
assert "total" in stats
|
||||
assert "verified" in stats
|
||||
assert "pending" in stats
|
||||
assert "inactive" in stats
|
||||
assert "verification_rate" in stats
|
||||
|
||||
assert isinstance(stats["total_stores"], int)
|
||||
assert isinstance(stats["active_stores"], int)
|
||||
assert isinstance(stats["verified_stores"], int)
|
||||
assert isinstance(stats["total"], int)
|
||||
assert isinstance(stats["verified"], int)
|
||||
assert isinstance(stats["verification_rate"], int | float)
|
||||
|
||||
assert stats["total_stores"] >= 1
|
||||
assert stats["total"] >= 1
|
||||
|
||||
# Error Handling Tests
|
||||
def test_get_all_users_database_error(self, db_with_error, test_admin):
|
||||
@@ -259,9 +259,9 @@ class TestAdminService:
|
||||
"""Test store statistics when no stores exist"""
|
||||
stats = stats_service.get_store_statistics(empty_db)
|
||||
|
||||
assert stats["total_stores"] == 0
|
||||
assert stats["active_stores"] == 0
|
||||
assert stats["verified_stores"] == 0
|
||||
assert stats["total"] == 0
|
||||
assert stats["verified"] == 0
|
||||
assert stats["inactive"] == 0
|
||||
assert stats["verification_rate"] == 0
|
||||
|
||||
|
||||
|
||||
@@ -362,21 +362,20 @@ class TestStatsService:
|
||||
"""Test getting store statistics for admin dashboard."""
|
||||
stats = self.service.get_store_statistics(db)
|
||||
|
||||
assert "total_stores" in stats
|
||||
assert "active_stores" in stats
|
||||
assert "inactive_stores" in stats
|
||||
assert "verified_stores" in stats
|
||||
assert "total" in stats
|
||||
assert "verified" in stats
|
||||
assert "pending" in stats
|
||||
assert "inactive" in stats
|
||||
assert "verification_rate" in stats
|
||||
|
||||
assert stats["total_stores"] >= 1
|
||||
assert stats["active_stores"] >= 1
|
||||
assert stats["total"] >= 1
|
||||
|
||||
def test_get_store_statistics_calculates_rates(self, db, test_store):
|
||||
"""Test store statistics calculates rates correctly."""
|
||||
stats = self.service.get_store_statistics(db)
|
||||
|
||||
if stats["total_stores"] > 0:
|
||||
expected_rate = stats["verified_stores"] / stats["total_stores"] * 100
|
||||
if stats["total"] > 0:
|
||||
expected_rate = stats["verified"] / stats["total"] * 100
|
||||
assert abs(stats["verification_rate"] - expected_rate) < 0.01
|
||||
|
||||
def test_get_store_statistics_database_error(self, db):
|
||||
@@ -422,9 +421,9 @@ class TestStatsService:
|
||||
"""Test getting import statistics."""
|
||||
stats = self.service.get_import_statistics(db)
|
||||
|
||||
assert "total_imports" in stats
|
||||
assert "completed_imports" in stats
|
||||
assert "failed_imports" in stats
|
||||
assert "total" in stats
|
||||
assert "completed" in stats
|
||||
assert "failed" in stats
|
||||
assert "success_rate" in stats
|
||||
|
||||
def test_get_import_statistics_with_jobs(
|
||||
@@ -433,15 +432,15 @@ class TestStatsService:
|
||||
"""Test import statistics with existing jobs."""
|
||||
stats = self.service.get_import_statistics(db)
|
||||
|
||||
assert stats["total_imports"] >= 1
|
||||
assert stats["completed_imports"] >= 1 # test job has completed status
|
||||
assert stats["total"] >= 1
|
||||
assert stats["completed"] >= 1 # test job has completed status
|
||||
|
||||
def test_get_import_statistics_calculates_rate(self, db):
|
||||
"""Test import statistics calculates success rate."""
|
||||
stats = self.service.get_import_statistics(db)
|
||||
|
||||
if stats["total_imports"] > 0:
|
||||
expected_rate = stats["completed_imports"] / stats["total_imports"] * 100
|
||||
if stats["total"] > 0:
|
||||
expected_rate = stats["completed"] / stats["total"] * 100
|
||||
assert abs(stats["success_rate"] - expected_rate) < 0.01
|
||||
else:
|
||||
assert stats["success_rate"] == 0
|
||||
@@ -452,9 +451,9 @@ class TestStatsService:
|
||||
stats = self.service.get_import_statistics(db)
|
||||
|
||||
# Should return default values, not raise exception
|
||||
assert stats["total_imports"] == 0
|
||||
assert stats["completed_imports"] == 0
|
||||
assert stats["failed_imports"] == 0
|
||||
assert stats["total"] == 0
|
||||
assert stats["completed"] == 0
|
||||
assert stats["failed"] == 0
|
||||
assert stats["success_rate"] == 0
|
||||
|
||||
# ==================== Private Helper Method Tests ====================
|
||||
@@ -538,7 +537,6 @@ class TestStatsService:
|
||||
gtin=f"123456789{unique_id[:4]}",
|
||||
warehouse="strassen",
|
||||
bin_location=f"ST-{unique_id[:2]}-01",
|
||||
location=f"LOCATION2_{unique_id}",
|
||||
quantity=25,
|
||||
reserved_quantity=5,
|
||||
store_id=test_inventory.store_id,
|
||||
|
||||
Reference in New Issue
Block a user