fix(test): don't validate app descriptions#670
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the application GUI end-to-end test suite to stop validating application description copy, based on the rationale that descriptions are configuration and may change independently of code.
Changes:
- Removed a parameterized e2e test that navigated from the home page to an application page and asserted specific description text.
Comments suppressed due to low confidence (2)
tests/aignostics/application/gui_test.py:58
- This PR removes the dedicated application-page content assertion test, but this file still hard-codes an application description string elsewhere (
await user.should_see("The Atlas H&E TME is an AI application" ...)later intest_gui_download_dataset_via_application_to_run_cancel_to_find_back). That continues validating config-driven text and can reintroduce the same brittleness this PR is trying to remove. Consider asserting a stable UI element instead (e.g., page heading/markers, or presence of the version step controls) rather than the description copy.
@pytest.mark.e2e
@pytest.mark.long_running
@pytest.mark.flaky(retries=2, delay=5, only_on=[AssertionError])
@pytest.mark.timeout(timeout=60 * 5)
@pytest.mark.sequential
tests/aignostics/application/gui_test.py:58
- By deleting
test_gui_home_to_application, the suite no longer has a focused e2e check that selecting an application from the sidebar reliably navigates to that application’s page. Even if descriptions are intentionally not validated, it would still be valuable to keep a minimal navigation/assertions test (e.g., clickSIDEBAR_APPLICATION:<id>and assert a stable marker on the application page) to catch regressions in routing/sidebar wiring.
@pytest.mark.e2e
@pytest.mark.long_running
@pytest.mark.flaky(retries=2, delay=5, only_on=[AssertionError])
@pytest.mark.timeout(timeout=60 * 5)
@pytest.mark.sequential
Codecov Report✅ All modified and coverable lines are covered by tests. |
f783ff3 to
e067a41
Compare
|
PR Review: #670 - "fix(test): don't validation app descriptions"Summary✅ PASSED - This PR successfully removes a brittle test that validated config-driven application descriptions. Change Overview:
✅ CRITICAL CHECKS - ALL PASSED1. Test Markers ✅Status: PASS All remaining tests in
Verification: $ uv run pytest tests/aignostics/application/gui_test.py -m "not unit and not integration and not e2e" --collect-only
collected 12 items / 12 deselected / 0 selected2. Test Coverage ✅Status: PASS The removed test (
Coverage is maintained by remaining tests:
Why the removed test was redundant:
3. Code Quality (Linting) ✅Status: PASS All linters pass on PR branch: ✅ ruff check: All checks passed!
✅ ruff format: 271 files already formatted
✅ pyright: 0 errors, 0 warnings, 0 informations
✅ mypy: Success: no issues found in 82 source files4. Conventional Commits ✅Status: PASS Commit message follows conventional commit format:
Alternative commit type consideration: 5. Architecture Compliance ✅Status: PASS
6. Testing Strategy ✅Status: PASS The removed test was:
Removal rationale is sound:
7. Medical Device & Security ✅Status: PASS
8. Breaking Changes ✅Status: PASS
9. CI/CD Impact ✅Status: PASS
10. Documentation Updates ✅Status: PASS (no updates needed)
📊 Code Review DetailsWhat Was RemovedThe
Why This Test Was ProblematicBrittleness Issues:
Best Practice Alignment:
Remaining CoverageThe application GUI is still thoroughly tested:
Total: 12 tests remaining (down from 13) 🎯 RecommendationsNo Action RequiredThis PR is ready to merge. All critical checks pass. Nice to Have (Optional)Consider adding a comment in the test file explaining why application description validation was removed: # Note: We intentionally do not validate application description text content
# as descriptions are configuration-driven and subject to frequent changes.
# Testing static config text creates brittle tests. Instead, we focus on
# testing functional behavior (navigation, submission, results).Location: Near This is purely optional and not blocking. 💡 Positive Observations
🔍 Verification CommandsTo reproduce the review findings: # 1. Check for unmarked tests
uv run pytest -m "not unit and not integration and not e2e" --collect-only
# 2. Verify linting passes
make lint
# 3. Check remaining test collection
uv run pytest tests/aignostics/application/gui_test.py --collect-only
# 4. Verify commit message format
git log origin/main..HEAD --pretty=format:"%s"
# 5. Run the specific test file
uv run pytest tests/aignostics/application/gui_test.py -v✅ Final VerdictRecommendation: APPROVE & MERGE Rationale:
Verdict: ✅ Reviewed by: Claude Code |



App descriptions are pure config and subject to change; they should not be validated here.