.claude/skills/testing/SKILL.md
Information about running tests, test coverage, and known testing issues in the Rails application. Use when the user asks about testing procedures, encounters test failures, wants to know about coverage, or needs to troubleshoot intermittent system test issues.
npx skillsauth add rubys/showcase testingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
# Run all tests except system tests
bin/rails test
# Run with coverage report (SimpleCov generates /coverage/index.html)
bin/rails test
# Run system tests
bin/rails test:system
# Reset database and run tests
bin/rails test:db
Current coverage: ~7.0% (600/8600 lines)
Comprehensive test coverage for core ballroom dance competition models:
There is a known timing issue where system tests may intermittently fail to find an "Edit" button after hovering over a line (particularly in formations_test.rb). This is a race condition in the Capybara/Selenium interaction.
When this occurs, rerun the individual failing test to verify it passes:
bin/rails test test/system/formations_test.rb:38 # or the specific failing test line
If system tests fail with "No route matches [GET] '/showcase/assets/...'" errors, this is caused by precompiled assets interfering with the test environment.
Clean the assets and rerun:
bin/rails assets:clobber
bin/rails test:system
development
Use this skill to inspect what a Rails page currently displays, extract HTML content, or verify rendering WITHOUT starting a dev server. Useful for understanding page output before making changes, debugging views, searching for content, or testing that pages work correctly. Provides .claude/skills/render-page/scripts/render.rb for quick page inspection and HTML extraction.
development
Working with the Navigator Go submodule for web server fixes and enhancements. Use when deployment plans require Navigator changes, config parsing issues arise, or new routing/proxy behavior is needed.
testing
Use when asked to run "fly ssh console", SSH into Fly.io machines, inspect files on production machines, check processes on Fly.io, or examine deployed machine state. Covers critical pitfalls like no shell support and Debian vs macOS command differences.
development
Deployment architecture, multi-tenancy design, and environment-specific deployment commands. Use when the user asks about how the application is deployed, multi-tenant architecture with Navigator, Fly.io deployment, or frontend stack details.