-
Notifications
You must be signed in to change notification settings - Fork 0
v2
#161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v2
#161
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This is a major version 2 update that modernizes the testing infrastructure, adds comprehensive API documentation, improves performance monitoring, and refactors various components for better maintainability.
Key Changes:
- Migrated from Bullet to Prosopite for N+1 query detection with better Rails 8+ compatibility
- Added automated OpenAPI/Swagger API documentation generation from RSpec request specs
- Integrated PgHero for PostgreSQL performance monitoring and query analysis
- Improved test factories and specs for better reliability and clarity
- Updated job queue configuration and recurring task schedules
Reviewed changes
Copilot reviewed 53 out of 58 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
Gemfile |
Replaced bullet with prosopite, added rspec-openapi, simplecov, rswag-api, rswag-ui, pghero |
test/test_helper.rb |
Added SimpleCov for code coverage tracking |
spec/rails_helper.rb |
Switched from pundit/matchers to pundit/rspec, added TimeHelpers and Faker config |
spec/support/shoulda_matchers.rb |
New file configuring shoulda-matchers for RSpec |
spec/factories/* |
Improved factory definitions with proper associations and realistic data |
spec/models/*_spec.rb |
Replaced allow(Date).to receive with travel_to for time manipulation |
spec/jobs/*_spec.rb |
Updated to handle renamed job and removed assertions on deleted job specs |
spec/requests/*_spec.rb |
Added type: :request, updated route paths, improved assertions |
config/initializers/* |
Added rspec_openapi, rswag_api, rswag_ui, updated rack_attack and strong_migrations |
config/environments/*.rb |
Replaced Bullet with Prosopite configuration |
config/queue.yml |
Simplified worker configuration to single wildcard queue |
config/recurring.yml |
Adjusted job schedules and added PgHero capture tasks |
config/routes.rb |
Mounted Rswag and PgHero engines in admin namespace |
app/policies/*.rb |
Relaxed some admin permissions from super_admin to admin |
app/models/concerns/*_trackable.rb |
Fixed Rails 8.2 compatibility issue with update_all on distinct queries |
app/controllers/application_controller.rb |
Added Prosopite N+1 detection around_action |
app/jobs/cleanup_orphaned_calendar_records_job.rb |
Renamed class from DeleteOrphanedGoogleCalendarsJob |
app/views/shared/_admin_navigation.html.erb |
Added PgHero navigation link |
db/migrate/*_pghero_*.rb |
New migrations for PgHero query and space stats tables |
db/queue_schema.rb |
Schema format change (column order) |
docs/api_documentation.md |
New comprehensive API documentation guide |
doc/openapi.yaml |
New auto-generated OpenAPI specification |
bin/merge-api-docs.rb |
New script for merging parallel test OpenAPI files |
bin/jobs |
Removed frozen_string_literal comment |
CLAUDE.md |
Added API documentation workflow and best practices |
.gitignore |
Added coverage directory exclusion |
.claude/settings.local.json |
New Claude permissions configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Jasper Mayone <[email protected]>
No description provided.