Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Request Factories Laravel Package

worksome/request-factories

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Accelerate QA & Developer Velocity: Reduces test-writing time by eliminating boilerplate for form request validation tests, allowing engineers to focus on core logic rather than mocking or validating required fields.
  • Improve Test Readability & Maintainability: Aligns with clean code principles by isolating test cases to single variables/fields under scrutiny, reducing cognitive load for future developers.
  • Enhance Test Coverage: Encourages writing more granular, focused tests (e.g., validating one field at a time) without sacrificing validation rigor, addressing gaps in edge-case testing (e.g., international phone numbers, file uploads).
  • Build vs. Buy Decision: Justifies buying this lightweight package over custom solutions (e.g., in-house factories) when Laravel is already in the stack, reducing technical debt.
  • Roadmap for Test-Driven Development (TDD): Enables faster iteration in TDD workflows by streamlining the feedback loop between writing tests and implementing features.
  • Compliance & Edge-Case Testing: Simplifies validation of niche requirements (e.g., GDPR-compliant data formats, legacy system integrations) by abstracting away repetitive validation overhead.

When to Consider This Package

  • Adopt When:

    • Your Laravel app relies heavily on FormRequest validation (e.g., complex forms, multi-step workflows).
    • Tests for form submissions are verbose due to required fields, making them hard to read or maintain.
    • Your team prioritizes test speed and developer experience (e.g., Pest/PHPUnit test suites are a bottleneck).
    • You need to test edge cases (e.g., international formats, file uploads) without bloating test files.
    • Your stack already uses Laravel + Pest/PHPUnit (minimal integration effort).
  • Look Elsewhere If:

    • Your app uses non-Laravel frameworks (e.g., Symfony, Django) or lacks PHP.
    • Validation logic is trivial (e.g., simple email/password forms with no edge cases).
    • You have custom validation layers that require deep mocking (this package focuses on FormRequest validation).
    • Your team prefers behavior-driven development (BDD) tools like Behat over unit/integration tests.
    • You’re constrained by legacy test infrastructure that can’t accommodate new packages.

How to Pitch It (Stakeholders)

For Executives:

"This package cuts the time engineers spend writing form validation tests by 30–50%—freeing them to focus on higher-value work. For example, testing a single phone number format no longer requires mocking 8 unrelated fields. It’s a low-risk, high-reward tool to improve code quality and reduce bugs in form-heavy applications, like onboarding flows or payment processing. The cost? Minimal: a 10-minute setup for a team-wide productivity boost."

For Engineering Leaders:

"Request Factories solves a pain point in Laravel testing: FormRequest validation tests are tedious to write and maintain. This package lets you test one field at a time without boilerplate, making tests faster to write, read, and debug. It’s battle-tested (used by [Worksome], a high-growth SaaS), integrates seamlessly with Pest/PHPUnit, and adds zero runtime overhead. Proposal: Pilot it on our most complex form (e.g., [X feature]) and measure test-writing time. If it reduces test time by 20%, we’ll roll it out to the team."

For Developers:

*"Tired of writing tests like this?

$this->post('/signup', [
    'email' => 'test@example.com',
    'password' => 'password',
    'password_confirmation' => 'password',
    'terms_accepted' => true, // ...and 10 more fields just to pass validation
]);

This package lets you test just the email (or any field) in isolation:

$factory = new SignupRequestFactory();
$factory->email('test@example.com')->validate();

No more cluttered tests. Works with Pest or PHPUnit. Try it on your next form-heavy feature—it’s a game-changer."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor