feat(ci): Add generator E2E test infrastructure#3
Merged
ivankuznetsov merged 10 commits intomainfrom Jan 20, 2026
Merged
Conversation
Add CI pipeline validation that generators produce working views: - bin/test_generator script creates fresh Rails app, runs generators, and executes comprehensive E2E tests using Capybara Playwright - Reusable Page Object test templates in test/generator_test_files/ - GitHub Actions generator-test job runs after unit tests pass Also fixes Session model autoloading by moving from lib/ to app/models/ for proper Rails engine autoloading. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
PR SummaryIntroduces end-to-end validation for generated apps and addresses a model autoloading issue.
Written by Cursor Bugbot for commit c762986. This will update automatically on new commits. Configure here. |
- Add box-sizing: border-box reset for consistent element sizing - Ensure all form children have consistent 100% width - Change actions alignment from center to stretch - Update color palette to modern indigo tones - Add shadow and typography CSS variables - Add local CI script (bin/ci) for contributors - Update CONTRIBUTING.md with local development instructions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Configure user_class_name via RailsSimpleAuth.configure instead of monkey-patching the Session class - Eliminates method redefinition warnings during test runs - Add comment about Rails 8.2 deprecation for signed_id_verifier_secret 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The gem path environment variable was only set during bundle install, causing Rails commands to fail when looking for the gem path. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Rails 8.1's belongs_to class_name option doesn't support lambdas. Document that users must configure user_class_name before model load. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The generator test was failing because the users table didn't exist. Added a CreateUsers migration before running the install generator to ensure users table exists before sessions (which has a foreign key). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
GEM_PATH is a standard Ruby/RubyGems environment variable. Using it for a custom purpose could interfere with gem resolution. Renamed to RSA_GEM_PATH to avoid any potential conflicts. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Owner
Author
|
Re: GEM_PATH concern - Good catch! Renamed to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
bin/test_generatorscript that creates a fresh Rails app, runs the gem's generators, and executes comprehensive E2E teststest/generator_test_files/for system, model, and controller testsgenerator-testjob that runs after unit tests pass to validate generators in CIChanges
CI Pipeline
generator-testjob in.github/workflows/ci.ymlTest Infrastructure
bin/test_generator- Creates temp Rails app, installs gem, runs generator, copies tests, executes themtest/generator_test_files/pages/- Page Objects for sign in, sign up, password reset, magic link, confirmation, dashboardtest/generator_test_files/system/- E2E tests for authentication, email confirmation, magic link, password resettest/generator_test_files/models/- User model teststest/generator_test_files/controllers/- Dashboard and home controller testsBug Fix
RailsSimpleAuth::Sessionfromlib/toapp/models/for proper Rails engine autoloadingTest plan
bin/test_generatorcreates working app with passing tests🤖 Generated with Claude Code