chore: port test-infra fixes, tighten .gitignore, document PHP 8.3+#607
chore: port test-infra fixes, tighten .gitignore, document PHP 8.3+#607nielsdrost7 wants to merge 1 commit into
Conversation
Ports the standing fixes that so far only lived on the fork's develop branch, so every future PR can be cut from this repo directly: - Panel test base classes seed Spatie roles/permissions in setUp — without this every company-panel Livewire test 403s. Also fixes testLivewire(), which imported the Filament schema component instead of the Livewire test facade and chained withSession onto the wrong object (it could never have run). - RolesSeeder: restore company CRUD permissions for client_admin. - Invoices/Quotes feature test adjustments that go with the seeding. .gitignore now excludes local tooling that kept leaking into pull requests (/automation/, /.claude/fable5/, pint_output.log, audit-report.json) and drops the Modules controller ignores that hid real source files. README: the resolved dependency tree requires PHP >= 8.3 (composer's platform check rejects 8.2), so the badge and requirements now say 8.3+. composer.json still declares ^8.2 — bumping it needs a lock re-resolve that currently fails because roave/security-advisories conflicts with the locked guzzlehttp/guzzle < 7.12.1; a follow-up `composer update -W guzzlehttp/guzzle` would fix the constraint and the three open guzzle advisories together. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThe changes expand seeded customer administrator permissions, authorize panel test users, make invoice and quote fixtures use explicit numbering types, update ignored artifacts, and raise the documented PHP requirement to 8.3. ChangesAuthorization test harness
Document numbering fixtures
Repository metadata and requirements
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@README.md`:
- Line 47: Align the PHP version requirement in README.md with the Composer
constraint at composer.json:20: either change the Composer requirement to ^8.3
if supported, or revert the README requirement to PHP 8.2 until that dependency
change is made.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 34be9d6b-e3c1-43b9-a23e-79d4f6970be3
📒 Files selected for processing (7)
.gitignoreModules/Core/Database/Seeders/RolesSeeder.phpModules/Core/Tests/AbstractAdminPanelTestCase.phpModules/Core/Tests/AbstractCompanyPanelTestCase.phpModules/Invoices/Tests/Feature/InvoicesTest.phpModules/Quotes/Tests/Feature/QuotesTest.phpREADME.md
| ## 📦 Requirements | ||
|
|
||
| - **PHP** 8.2 or higher | ||
| - **PHP** 8.3 or higher |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Keep the documented and Composer PHP requirements consistent.
README.md now requires PHP 8.3+, while composer.json:20 still allows PHP 8.2 via "^8.2". Either update the Composer constraint to ^8.3 when supported, or keep the README at 8.2 until the dependency change lands.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` at line 47, Align the PHP version requirement in README.md with
the Composer constraint at composer.json:20: either change the Composer
requirement to ^8.3 if supported, or revert the README requirement to PHP 8.2
until that dependency change is made.
Ports the standing fixes that so far lived only on the underdogg-forks develop branch, so feature PRs can be cut from this repo directly without dragging fork-only history along.
What's in here
setUp()(without this, every company-panel Livewire test 403s), andAbstractCompanyPanelTestCase::testLivewire()is fixed: it importedFilament\Schemas\Components\Livewire(a schema component) instead of the Livewire test facade and chainedwithSession()onto the wrong object — it could never have executed. Plus the matchingRolesSeedercompany-CRUD permissions and Invoices/Quotes test adjustments./automation/,/.claude/fable5/,pint_output.log,audit-report.json. Also drops theModules/**/Http/Controllersignores that hid real source files.Known follow-up (deliberately not in this PR)
composer.jsonstill declares"php": "^8.2". Bumping it requires re-resolving the lock, which currently fails:roave/security-advisories(dev-latest) conflicts with the lockedguzzlehttp/guzzle < 7.12.1— the same guzzle version carrying three open advisories (CVE-2026-55767, CVE-2026-55568, CVE-2026-55766 in guzzle/psr7). A follow-upcomposer update -W guzzlehttp/guzzlefixes the constraint and the advisories together, but that's a dependency bump that deserves its own review.Verified
Full PHPUnit suite through the Docker CLI image from #601 (sqlite in-memory): green on this branch. These are the exact fixes that took the fork's suite from mass-403s to green.
This PR is the base for the Report Builder (#130), tabular reports (#145), and email-variables (#363) PRs — they are rebased on top of it and their diffs include this commit until it merges.
🤖 Generated with Claude Code
Summary by CodeRabbit
Bug Fixes
Documentation
Tests