Skip to content

chore: port test-infra fixes, tighten .gitignore, document PHP 8.3+#602

Closed
nielsdrost7 wants to merge 1 commit into
developfrom
chore/test-infra-and-gitignore
Closed

chore: port test-infra fixes, tighten .gitignore, document PHP 8.3+#602
nielsdrost7 wants to merge 1 commit into
developfrom
chore/test-infra-and-gitignore

Conversation

@nielsdrost7

Copy link
Copy Markdown
Collaborator

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

  1. Test infrastructure — the panel test base classes now seed Spatie roles/permissions in setUp() (without this, every company-panel Livewire test 403s), and AbstractCompanyPanelTestCase::testLivewire() is fixed: it imported Filament\Schemas\Components\Livewire (a schema component) instead of the Livewire test facade and chained withSession() onto the wrong object — it could never have executed. Plus the matching RolesSeeder company-CRUD permissions and Invoices/Quotes test adjustments.
  2. .gitignore — excludes the local tooling that kept leaking into PRs: /automation/, /.claude/fable5/, pint_output.log, audit-report.json. Also drops the Modules/**/Http/Controllers ignores that hid real source files.
  3. README — the resolved dependency tree requires PHP ≥ 8.3 (composer's platform check rejects 8.2), so the badge and Requirements section now say 8.3+.

Known follow-up (deliberately not in this PR)

composer.json still declares "php": "^8.2". Bumping it requires re-resolving the lock, which currently fails: roave/security-advisories (dev-latest) conflicts with the locked guzzlehttp/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-up composer update -W guzzlehttp/guzzle fixes 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.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@nielsdrost7, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 41 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4bd29bc9-8791-4b5a-b304-98190916ebc8

📥 Commits

Reviewing files that changed from the base of the PR and between d086ad1 and f98fe62.

📒 Files selected for processing (7)
  • .gitignore
  • Modules/Core/Database/Seeders/RolesSeeder.php
  • Modules/Core/Tests/AbstractAdminPanelTestCase.php
  • Modules/Core/Tests/AbstractCompanyPanelTestCase.php
  • Modules/Invoices/Tests/Feature/InvoicesTest.php
  • Modules/Quotes/Tests/Feature/QuotesTest.php
  • README.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/test-infra-and-gitignore

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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>
@nielsdrost7

Copy link
Copy Markdown
Collaborator Author

Recreated as #607 with the head branch on the fork (underdogg-forks) per the repo workflow — development on the fork, PRs land here. Same commits.

@nielsdrost7 nielsdrost7 deleted the chore/test-infra-and-gitignore branch July 13, 2026 20:14
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.

1 participant