refactor(dry-S1): hoist app/client test fixtures into conftest

Removed the app/client fixtures duplicated across 36 test files (two
variants: separate app + client(app), and a self-contained client() that
called create_app inline) and the now-unused create_app imports. Both
fixtures now live once in conftest.py. test_suggestions_bulk keeps its
import (builds the app inline in two tests); test_health drops its local
client + unused pytest_asyncio.

Net -415 lines.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-28 11:33:05 -04:00
parent eebc8e2413
commit def967a1a8
39 changed files with 15 additions and 430 deletions
+3 -4
View File
@@ -1,5 +1,6 @@
import pytest
from backend.app import create_app
from backend.app.models import ImageRecord, TagKind
from backend.app.models.tag import image_tag
from backend.app.services.ml.suggestions import SuggestionService
@@ -86,8 +87,7 @@ async def test_consensus_threshold_clamped_and_empty_for_no_ids(db):
@pytest.mark.asyncio
async def test_bulk_suggestions_route(db):
from backend.app import create_app
tags = TagService(db)
await tags.find_or_create("sword", TagKind.general)
a = _img("i" * 64, {"sword": {"category": "general", "confidence": 0.97}})
@@ -107,8 +107,7 @@ async def test_bulk_suggestions_route(db):
@pytest.mark.asyncio
async def test_bulk_suggestions_requires_ids(db):
from backend.app import create_app
app = create_app()
async with app.test_client() as c:
resp = await c.post("/api/suggestions/bulk", json={})