Skip to content

Conversation

@jaspermayone
Copy link
Member

@jaspermayone jaspermayone commented Nov 19, 2025

No description provided.

@jaspermayone jaspermayone marked this pull request as ready for review December 22, 2025 19:16
Copilot AI review requested due to automatic review settings December 22, 2025 19:16
Copy link

Copilot AI left a 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.

@jaspermayone jaspermayone merged commit 2549821 into main Dec 22, 2025
1 check passed
@jaspermayone jaspermayone deleted the rel/v2 branch December 22, 2025 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants