test(pane-manager): tests JSDOM pour #75 I2

- tests/frontend/pane-manager.test.mjs : 9 tests d'intégration frontend via JSDOM 30
  Couvre factory, init, open/activate/close, isolation entre panes, drag/drop smoke
- tests/frontend/package.json + package-lock.json : jsdom en devDependency
- .gitea/workflows/ci.yml : nouvelle étape 'Frontend JSDOM tests (PaneManager)'
  qui installe jsdom au besoin puis lance pane-manager.test.mjs
This commit is contained in:
2026-09-07 08:54:41 -04:00
parent b649c6b301
commit 050c3d2515
4 changed files with 854 additions and 0 deletions
+12
View File
@@ -38,6 +38,17 @@ jobs:
- name: Frontend unit tests
run: node tests/frontend/unit.test.mjs
- name: Frontend JSDOM tests (PaneManager)
run: |
cd tests/frontend
if [ -d node_modules ]; then
node pane-manager.test.mjs
else
echo "tests/frontend/node_modules missing — installing jsdom"
npm install --no-audit --no-fund --silent
node pane-manager.test.mjs
fi
# ── Tests ─────────────────────────────────────────────────────────
test:
needs: lint
@@ -54,6 +65,7 @@ jobs:
run: |
pip install pytest pytest-cov pytest-asyncio httpx
pip install -r backend/requirements.txt
pip install -r backend/requirements-test.txt || echo "test deps install failed (non-blocking — PDF tests will skip)"
- name: Run tests
run: pytest tests/ --cov=backend --cov-report=xml --cov-report=term -q