refactor: update test imports to use module locations

Update all test files to import from canonical module locations:
- Integration tests: orders, inventory, messages, invoices
- Unit tests: services and models
- Fixtures: customer, vendor, message fixtures

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-30 09:02:50 +01:00
parent dad2ebc677
commit 4adc35a674
26 changed files with 40 additions and 40 deletions

View File

@@ -9,7 +9,7 @@ See tests/conftest.py for details on fixture best practices.
import pytest import pytest
from app.modules.customers.models.customer import Customer, CustomerAddress from app.modules.customers.models.customer import Customer, CustomerAddress
from models.database.order import Order from app.modules.orders.models import Order
@pytest.fixture @pytest.fixture
@@ -145,7 +145,7 @@ def test_order(db, test_vendor, test_customer, test_customer_address):
@pytest.fixture @pytest.fixture
def test_order_item(db, test_order, test_product): def test_order_item(db, test_order, test_product):
"""Create a test order item.""" """Create a test order item."""
from models.database.order import OrderItem from app.modules.orders.models import OrderItem
order_item = OrderItem( order_item = OrderItem(
order_id=test_order.id, order_id=test_order.id,

View File

@@ -8,7 +8,7 @@ See tests/conftest.py for details on fixture best practices.
import pytest import pytest
from models.database.message import ( from app.modules.messaging.models import (
Conversation, Conversation,
ConversationParticipant, ConversationParticipant,
ConversationType, ConversationType,

View File

@@ -11,7 +11,7 @@ import uuid
import pytest import pytest
from models.database.company import Company from models.database.company import Company
from models.database.inventory import Inventory from app.modules.inventory.models import Inventory
from models.database.product import Product from models.database.product import Product
from models.database.vendor import Vendor from models.database.vendor import Vendor

View File

@@ -447,7 +447,7 @@ class TestAdminInventoryAPI:
): ):
"""Test admin deleting inventory entry.""" """Test admin deleting inventory entry."""
# Create a new inventory entry to delete # Create a new inventory entry to delete
from models.database.inventory import Inventory from app.modules.inventory.models import Inventory
new_inventory = Inventory( new_inventory = Inventory(
product_id=test_product.id, product_id=test_product.id,

View File

@@ -248,7 +248,7 @@ class TestAdminLetzshopOrdersAPI:
"""Test listing vendor orders with data.""" """Test listing vendor orders with data."""
from datetime import datetime, timezone from datetime import datetime, timezone
from models.database.order import Order from app.modules.orders.models import Order
# Create test order using unified Order model with all required fields # Create test order using unified Order model with all required fields
order = Order( order = Order(

View File

@@ -7,7 +7,7 @@ Tests the /api/v1/admin/messages/* endpoints.
import pytest import pytest
from models.database.message import ConversationType, ParticipantType from app.modules.messaging.models import ConversationType, ParticipantType
@pytest.mark.integration @pytest.mark.integration

View File

@@ -9,8 +9,8 @@ All endpoints require admin JWT authentication.
import pytest import pytest
from datetime import datetime, timezone from datetime import datetime, timezone
from models.database.order import OrderItem from app.modules.orders.models import OrderItem
from models.database.order_item_exception import OrderItemException from app.modules.orders.models import OrderItemException
@pytest.fixture @pytest.fixture

View File

@@ -13,8 +13,8 @@ import pytest
from jose import jwt from jose import jwt
from app.modules.customers.models.customer import Customer from app.modules.customers.models.customer import Customer
from models.database.invoice import Invoice, InvoiceStatus, VendorInvoiceSettings from app.modules.orders.models import Invoice, InvoiceStatus, VendorInvoiceSettings
from models.database.order import Order, OrderItem from app.modules.orders.models import Order, OrderItem
@pytest.fixture @pytest.fixture

View File

@@ -10,8 +10,8 @@ from decimal import Decimal
import pytest import pytest
from app.modules.customers.models.customer import Customer from app.modules.customers.models.customer import Customer
from models.database.invoice import Invoice, InvoiceStatus, VendorInvoiceSettings from app.modules.orders.models import Invoice, InvoiceStatus, VendorInvoiceSettings
from models.database.order import Order from app.modules.orders.models import Order
@pytest.mark.integration @pytest.mark.integration

View File

@@ -240,7 +240,7 @@ class TestVendorLetzshopOrdersAPI:
"""Test listing orders with status filter.""" """Test listing orders with status filter."""
from datetime import datetime, timezone from datetime import datetime, timezone
from models.database.order import Order from app.modules.orders.models import Order
# Create test orders using unified Order model with all required fields # Create test orders using unified Order model with all required fields
order1 = Order( order1 = Order(
@@ -315,7 +315,7 @@ class TestVendorLetzshopOrdersAPI:
"""Test getting order detail.""" """Test getting order detail."""
from datetime import datetime, timezone from datetime import datetime, timezone
from models.database.order import Order from app.modules.orders.models import Order
order = Order( order = Order(
vendor_id=test_vendor_with_vendor_user.id, vendor_id=test_vendor_with_vendor_user.id,
@@ -457,7 +457,7 @@ class TestVendorLetzshopFulfillmentAPI:
"""Test confirming an order.""" """Test confirming an order."""
from datetime import datetime, timezone from datetime import datetime, timezone
from models.database.order import Order, OrderItem from app.modules.orders.models import Order, OrderItem
# Create test order using unified Order model with all required fields # Create test order using unified Order model with all required fields
order = Order( order = Order(
@@ -546,7 +546,7 @@ class TestVendorLetzshopFulfillmentAPI:
"""Test setting tracking information.""" """Test setting tracking information."""
from datetime import datetime, timezone from datetime import datetime, timezone
from models.database.order import Order from app.modules.orders.models import Order
order = Order( order = Order(
vendor_id=test_vendor_with_vendor_user.id, vendor_id=test_vendor_with_vendor_user.id,

View File

@@ -7,7 +7,7 @@ Tests the /api/v1/vendor/messages/* endpoints.
import pytest import pytest
from models.database.message import ConversationType, ParticipantType from app.modules.messaging.models import ConversationType, ParticipantType
@pytest.mark.integration @pytest.mark.integration

View File

@@ -5,7 +5,7 @@ from datetime import UTC, datetime
import pytest import pytest
from models.database.order import Order, OrderItem from app.modules.orders.models import Order, OrderItem
@pytest.fixture @pytest.fixture

View File

@@ -4,7 +4,7 @@
import pytest import pytest
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError
from models.database.inventory import Inventory from app.modules.inventory.models import Inventory
@pytest.mark.unit @pytest.mark.unit

View File

@@ -6,7 +6,7 @@ from datetime import datetime, timezone
import pytest import pytest
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError
from models.database.order import Order, OrderItem from app.modules.orders.models import Order, OrderItem
def create_order_with_snapshots( def create_order_with_snapshots(

View File

@@ -4,7 +4,7 @@
import pytest import pytest
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError
from models.database.order_item_exception import OrderItemException from app.modules.orders.models import OrderItemException
@pytest.mark.unit @pytest.mark.unit
@@ -65,7 +65,7 @@ class TestOrderItemExceptionModel:
exception_types = ["product_not_found", "gtin_mismatch", "duplicate_gtin"] exception_types = ["product_not_found", "gtin_mismatch", "duplicate_gtin"]
# Create new order items for each test to avoid unique constraint # Create new order items for each test to avoid unique constraint
from models.database.order import OrderItem from app.modules.orders.models import OrderItem
for i, exc_type in enumerate(exception_types): for i, exc_type in enumerate(exception_types):
order_item = OrderItem( order_item = OrderItem(

View File

@@ -306,7 +306,7 @@ class TestProductInventoryProperties:
def test_physical_product_with_inventory(self, db, test_vendor): def test_physical_product_with_inventory(self, db, test_vendor):
"""Test physical product calculates inventory from entries.""" """Test physical product calculates inventory from entries."""
from models.database.inventory import Inventory from app.modules.inventory.models import Inventory
product = Product( product = Product(
vendor_id=test_vendor.id, vendor_id=test_vendor.id,
@@ -364,7 +364,7 @@ class TestProductInventoryProperties:
def test_digital_product_ignores_inventory_entries(self, db, test_vendor): def test_digital_product_ignores_inventory_entries(self, db, test_vendor):
"""Test digital product returns unlimited even with inventory entries.""" """Test digital product returns unlimited even with inventory entries."""
from models.database.inventory import Inventory from app.modules.inventory.models import Inventory
product = Product( product = Product(
vendor_id=test_vendor.id, vendor_id=test_vendor.id,

View File

@@ -4,7 +4,7 @@
import pytest import pytest
from pydantic import ValidationError from pydantic import ValidationError
from models.schema.customer import ( from app.modules.customers.schemas import (
CustomerAddressCreate, CustomerAddressCreate,
CustomerAddressResponse, CustomerAddressResponse,
CustomerAddressUpdate, CustomerAddressUpdate,

View File

@@ -4,7 +4,7 @@
import pytest import pytest
from pydantic import ValidationError from pydantic import ValidationError
from models.schema.inventory import ( from app.modules.inventory.schemas import (
InventoryAdjust, InventoryAdjust,
InventoryCreate, InventoryCreate,
InventoryLocationResponse, InventoryLocationResponse,

View File

@@ -6,7 +6,7 @@ from datetime import datetime, timezone
import pytest import pytest
from pydantic import ValidationError from pydantic import ValidationError
from models.schema.order import ( from app.modules.orders.schemas import (
AddressSnapshot, AddressSnapshot,
AddressSnapshotResponse, AddressSnapshotResponse,
CustomerSnapshot, CustomerSnapshot,
@@ -573,7 +573,7 @@ class TestOrderItemResponseSchema:
assert response.has_unresolved_exception is False assert response.has_unresolved_exception is False
# Pending exception # Pending exception
from models.schema.order import OrderItemExceptionBrief from app.modules.orders.schemas import OrderItemExceptionBrief
pending_exc = OrderItemExceptionBrief( pending_exc = OrderItemExceptionBrief(
id=1, original_gtin="123", original_product_name="Test", id=1, original_gtin="123", original_product_name="Test",
exception_type="product_not_found", status="pending", exception_type="product_not_found", status="pending",

View File

@@ -8,7 +8,7 @@ import pytest
from app.exceptions import AddressLimitExceededException, AddressNotFoundException from app.exceptions import AddressLimitExceededException, AddressNotFoundException
from app.services.customer_address_service import CustomerAddressService from app.services.customer_address_service import CustomerAddressService
from app.modules.customers.models.customer import CustomerAddress from app.modules.customers.models.customer import CustomerAddress
from models.schema.customer import CustomerAddressCreate, CustomerAddressUpdate from app.modules.customers.schemas import CustomerAddressCreate, CustomerAddressUpdate
@pytest.fixture @pytest.fixture

View File

@@ -13,8 +13,8 @@ from app.exceptions import (
ProductNotFoundException, ProductNotFoundException,
) )
from app.services.inventory_service import InventoryService from app.services.inventory_service import InventoryService
from models.database.inventory import Inventory from app.modules.inventory.models import Inventory
from models.schema.inventory import ( from app.modules.inventory.schemas import (
InventoryAdjust, InventoryAdjust,
InventoryCreate, InventoryCreate,
InventoryReserve, InventoryReserve,

View File

@@ -16,13 +16,13 @@ from app.services.invoice_service import (
InvoiceService, InvoiceService,
LU_VAT_RATES, LU_VAT_RATES,
) )
from models.database.invoice import ( from app.modules.orders.models import (
Invoice, Invoice,
InvoiceStatus, InvoiceStatus,
VATRegime, VATRegime,
VendorInvoiceSettings, VendorInvoiceSettings,
) )
from models.schema.invoice import ( from app.modules.orders.schemas import (
VendorInvoiceSettingsCreate, VendorInvoiceSettingsCreate,
VendorInvoiceSettingsUpdate, VendorInvoiceSettingsUpdate,
) )

View File

@@ -4,7 +4,7 @@
import pytest import pytest
from app.services.messaging_service import MessagingService from app.services.messaging_service import MessagingService
from models.database.message import ( from app.modules.messaging.models import (
Conversation, Conversation,
ConversationParticipant, ConversationParticipant,
ConversationType, ConversationType,

View File

@@ -10,8 +10,8 @@ from app.exceptions import (
ProductNotFoundException, ProductNotFoundException,
) )
from app.services.order_item_exception_service import OrderItemExceptionService from app.services.order_item_exception_service import OrderItemExceptionService
from models.database.order import OrderItem from app.modules.orders.models import OrderItem
from models.database.order_item_exception import OrderItemException from app.modules.orders.models import OrderItemException
@pytest.fixture @pytest.fixture

View File

@@ -28,7 +28,7 @@ from app.services.order_service import (
order_service, order_service,
) )
from app.modules.customers.models.customer import Customer from app.modules.customers.models.customer import Customer
from models.database.order import Order, OrderItem from app.modules.orders.models import Order, OrderItem
# Default address fields required by Order model # Default address fields required by Order model
@@ -328,7 +328,7 @@ class TestOrderServiceUpdates:
def test_update_order_status(self, db, test_vendor, test_customer): def test_update_order_status(self, db, test_vendor, test_customer):
"""Test update_order_status changes status""" """Test update_order_status changes status"""
from models.schema.order import OrderUpdate from app.modules.orders.schemas import OrderUpdate
order = Order( order = Order(
vendor_id=test_vendor.id, vendor_id=test_vendor.id,

View File

@@ -9,7 +9,7 @@ from sqlalchemy.exc import SQLAlchemyError
from app.exceptions import AdminOperationException, VendorNotFoundException from app.exceptions import AdminOperationException, VendorNotFoundException
from app.services.stats_service import StatsService from app.services.stats_service import StatsService
from models.database.inventory import Inventory from app.modules.inventory.models import Inventory
from models.database.marketplace_product import MarketplaceProduct from models.database.marketplace_product import MarketplaceProduct
from models.database.marketplace_product_translation import ( from models.database.marketplace_product_translation import (
MarketplaceProductTranslation, MarketplaceProductTranslation,