fix: correct tojson|safe usage in templates and update validator
- Remove |safe from |tojson in HTML attributes (x-data) - quotes must become " for browsers to parse correctly - Update LANG-002 and LANG-003 architecture rules to document correct |tojson usage patterns: - HTML attributes: |tojson (no |safe) - Script blocks: |tojson|safe - Fix validator to warn when |tojson|safe is used in x-data (breaks HTML attribute parsing) - Improve code quality across services, APIs, and tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# tests/unit/services/test_marketplace_service.py
|
||||
"""Unit tests for MarketplaceImportJobService."""
|
||||
|
||||
import uuid
|
||||
|
||||
import pytest
|
||||
from unittest.mock import patch
|
||||
|
||||
from app.exceptions.base import ValidationException
|
||||
from app.exceptions.marketplace_import_job import (
|
||||
@@ -52,7 +52,9 @@ class TestMarketplaceImportJobService:
|
||||
|
||||
assert result.marketplace == "Letzshop" # Default
|
||||
|
||||
def test_create_import_job_database_error(self, db, test_vendor, test_user, monkeypatch):
|
||||
def test_create_import_job_database_error(
|
||||
self, db, test_vendor, test_user, monkeypatch
|
||||
):
|
||||
"""Test import job creation handles database errors."""
|
||||
request = MarketplaceImportJobRequest(
|
||||
source_url="https://example.com/products.csv",
|
||||
@@ -119,6 +121,7 @@ class TestMarketplaceImportJobService:
|
||||
|
||||
def test_get_import_job_by_id_database_error(self, db, test_user, monkeypatch):
|
||||
"""Test get import job handles database errors."""
|
||||
|
||||
def mock_query(*args):
|
||||
raise Exception("Database query failed")
|
||||
|
||||
@@ -200,7 +203,10 @@ class TestMarketplaceImportJobService:
|
||||
):
|
||||
"""Test getting import jobs with marketplace filter."""
|
||||
jobs = self.service.get_import_jobs(
|
||||
db, test_vendor, test_user, marketplace=test_marketplace_import_job.marketplace
|
||||
db,
|
||||
test_vendor,
|
||||
test_user,
|
||||
marketplace=test_marketplace_import_job.marketplace,
|
||||
)
|
||||
|
||||
assert len(jobs) >= 1
|
||||
@@ -254,8 +260,11 @@ class TestMarketplaceImportJobService:
|
||||
|
||||
assert len(jobs) == 0
|
||||
|
||||
def test_get_import_jobs_database_error(self, db, test_vendor, test_user, monkeypatch):
|
||||
def test_get_import_jobs_database_error(
|
||||
self, db, test_vendor, test_user, monkeypatch
|
||||
):
|
||||
"""Test get import jobs handles database errors."""
|
||||
|
||||
def mock_query(*args):
|
||||
raise Exception("Database query failed")
|
||||
|
||||
@@ -270,7 +279,9 @@ class TestMarketplaceImportJobService:
|
||||
|
||||
# ==================== convert_to_response_model Tests ====================
|
||||
|
||||
def test_convert_to_response_model(self, db, test_marketplace_import_job, test_vendor):
|
||||
def test_convert_to_response_model(
|
||||
self, db, test_marketplace_import_job, test_vendor
|
||||
):
|
||||
"""Test converting database model to response model."""
|
||||
from models.database.marketplace_import_job import MarketplaceImportJob as MIJ
|
||||
|
||||
|
||||
Reference in New Issue
Block a user