Skip to content

refactor: remove settings module references and related code - #376

Merged
roble merged 2 commits into
mainfrom
retire-settings-module
Sep 5, 2026
Merged

roble merged 2 commits into
mainfrom
retire-settings-module

Conversation

@roble

@roble roble commented Sep 5, 2026 •

Copy link
Copy Markdown
Collaborator

This pull request removes the settings module from the codebase and refactors related test fixtures to improve reliability and parallelism. It also introduces a new approach for managing shared test accounts, ensuring consistent credentials across tests and CI environments.

Module removal and cleanup:

  • Removed all references to the settings module across documentation, configuration, and UI code, including README.md, Taskfile.yml, composer.json, and both React and Vue module lists. ([[1]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L61), [[2]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-cd2d359855d0301ce190f1ec3b4c572ea690c83747f6df61c9340720e3d2425eL13-L15), [[3]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-d2ab9925cad7eac58e0ff4cc0d251a937ecf49e4b6bf57f8b95aab76648a9d34L55), [[4]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-f31b469dff43b5e07746522a74df4670c3432929e8d246a4595384297c28dec3L97-L113), [[5]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-52b7304eee456199af0b90e5dd8be355480aaea13b9db2c260fc4a839760fe1cL87-L105), [[6]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-f31b469dff43b5e07746522a74df4670c3432929e8d246a4595384297c28dec3L14), [[7]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-52b7304eee456199af0b90e5dd8be355480aaea13b9db2c260fc4a839760fe1cL16), [[8]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-b6244d84a06b931a15e0e0dcfbba63f6df8ac0b2558b15304c86a218c68f1560L137-R137))

Test fixture improvements:

  • Centralized creation of shared, fixed-email test accounts (e.g., subscriber@example.com) into a new seedSharedAccounts() method in TestFixtures, using a fixed password, and updated credentials() to reference these accounts. ([[1]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-999676108a4d89b2cdf5c8eb297a306e43275c247b1d86fb00f8d1621977d46eR12-R64), [[2]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-999676108a4d89b2cdf5c8eb297a306e43275c247b1d86fb00f8d1621977d46eL28-R85))
  • Updated the Playwright database setup script to call seedSharedAccounts() once before any test workers start, preventing race conditions and ensuring consistent test data. ([tests/e2e/database.setup.tsR7-R13](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-b08a318c8d0b5691cfa6a7fcbd94a33c3013bbfd2b22890c4a786ce9b318e46cR7-R13))

Test environment reliability:

  • Forced Laravel’s Vite asset helper to always use the build manifest during tests by pointing it at a non-existent hot file, preventing local/CI inconsistencies due to stale or present hot files. ([tests/TestCase.phpR9-R29](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-abf1fa77a19f720052b75bc802df0260157b9064d8c3c12a80794f01e9acc065R9-R29))

Test code cleanup:

  • Removed unused imports and redundant Playwright test fixture setup related to Laravel configuration, simplifying the test fixture code. ([[1]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-235299540bae84059191988c9e4c0b7a56e011bf30fb5f110b6bb1e89df9df4aL3-R3), [[2]](https://github.com/saucebase-dev/saucebase/pull/376/files#diff-235299540bae84059191988c9e4c0b7a56e011bf30fb5f110b6bb1e89df9df4aL19-L25))

Summary by CodeRabbit

  • Features

    • Auth module feature lists now include profile and avatar management.
  • Changes

    • Removed the Settings module from the documented and configured module listings.
    • Removed the related optional package suggestion and unused interface icons.
  • Testing

    • Standardized shared test accounts and credentials.
    • Tests now consistently resolve frontend assets through the build manifest.
    • Simplified end-to-end test fixtures by removing the Laravel application fixture.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: effc54a7-b662-4fe5-ac67-ae105145c257

📥 Commits

Reviewing files that changed from the base of the PR and between c2df14f and 93c4e44.

📒 Files selected for processing (10)
  • README.md
  • Taskfile.yml
  • composer.json
  • module-loader.js
  • resources/js/react/components/ui/saucebase/index.ts
  • resources/js/vue/components/ui/saucebase/index.ts
  • tests/Support/TestFixtures.php
  • tests/TestCase.php
  • tests/e2e/database.setup.ts
  • tests/e2e/fixtures/index.ts
💤 Files with no reviewable changes (3)
  • README.md
  • Taskfile.yml
  • composer.json

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The changes remove settings module references, update authentication feature metadata, correct a module loader example, centralize shared test accounts, force manifest-based Vite resolution, and remove an unused Playwright Laravel fixture.

Changes

Module metadata and UI updates

Layer / File(s) Summary
Settings references and authentication metadata
README.md, Taskfile.yml, composer.json, resources/js/react/components/ui/saucebase/index.ts, resources/js/vue/components/ui/saucebase/index.ts, module-loader.js
Settings references are removed from project metadata. The unused React settings icon is removed. Auth feature lists now include Profile & Avatar. The module loader example uses the billing language path.

Shared end-to-end test fixtures

Layer / File(s) Summary
Shared account provisioning
tests/Support/TestFixtures.php, tests/e2e/database.setup.ts
Shared accounts use fixed credentials and are seeded once during database setup.
Test runtime configuration
tests/TestCase.php, tests/e2e/fixtures/index.ts
Tests avoid stale Vite hot files and resolve assets through the build manifest. The unused Playwright Laravel fixture is removed.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 93c4e

The reviewed changes do not leave an actionable merge-blocking risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the removal of the settings module and its references, which is a primary part of the changes. It does not mention the separate test-fixture refactor, but a title does not …
Docstring Coverage ✅ Passed Docstring coverage is 80.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 7 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch retire-settings-module

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.

@roble
roble merged commit 5c250b6 into main Sep 5, 2026
9 checks passed
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