Weave 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

Rest Api Test Laravel Package

litvinab/rest-api-test

A Laravel/PHP package for REST API testing, offering helpers to exercise endpoints and assert responses in automated tests. It aims to simplify API test setup, though its low adoption and limited community signals make it best suited to small or experimental projects.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Test-infrastructure build vs. borrow vs. buy. This package is a reference for a decision the PM owns: how much custom harness code the team writes before API tests become productive. The answer this package supports is "borrow the pattern, not the code" — read the shape, reimplement in-house in days, and avoid a dependency we'd have to own.
  • Framework standardization on the roadmap. The request frames this as a Laravel/PHP package; the repository is a Symfony bundle with Doctrine/Behat lineage. That mismatch is itself a decision input: it cannot be dropped into a Laravel codebase at all. If we are Laravel-first, the roadmap item resolves cleanly to "build API test scaffolding on Laravel's HTTP test client" — and the evaluation closes in a day rather than a sprint.
  • QA automation investment sizing. Its shape — data fixtures in, HTTP request out, JSON response assertions, reusable base test cases and console commands to seed/tear down fixtures — is a credible specification for the standard test shape the team should adopt if manual API regression is a roadmap pain point. That spec is useful regardless of whether the code ever ships.
  • Dependency governance policy. A package with 2 stars, 0 dependents, and a last release of 2019-09-10 is a concrete test case for defining our bar on test-tooling dependencies. Setting that bar once (adoption signal, maintenance recency, framework fit, supported PHP matrix) prevents a dozen similar evaluations.
  • Legacy modernization triage. Its only defensible use case is a legacy Symfony 3/4 + PHP 7.x service already standardized on Behat and Doctrine fixtures, where the harness cost is sunk. Naming that slice explicitly stops a narrow legacy fit from being mistaken for a forward-looking roadmap choice.
  • Upgrade-path risk planning. Adopting dormant test-only dependencies creates CI-wide breakage on the next PHP minor or framework major. This informs how we sequence language/framework upgrades relative to tooling we adopt.

When to Consider This Package

Consider (narrowly):

  • You maintain a legacy Symfony application (roughly Symfony 3/4, PHP 7.x) where Behat and Doctrine data fixtures are already the team standard and rewriting fixture context boilerplate is the actual cost you want to remove.
  • You want a short-lived spike or PoC and are willing to vendor the source rather than declare a Composer dependency.
  • You want a reference implementation to read for structuring fixture-driven functional tests — no runtime commitment, since this is dev/test-only code and the blast radius is CI, not production.

Look elsewhere when:

  • You are on Laravel. There is no service provider, no bundle-equivalent registration, and the abstraction (KernelTestCase, WebTestCase, bundle config, Symfony console) does not map onto Laravel's testing surface. Use RefreshDatabase + model factories/seeders + HTTP test helpers, or Pest, and stop the evaluation.
  • You are on PHP 8+ or Symfony 5/6/7. A 2019 release predates these; expect Composer constraint conflicts and deprecation failures rather than a graceful degrade.
  • You need support, a security response path, or an upgrade path. Zero dependents and 2 stars means no community answer surface and a single-maintainer bus factor. Supply-chain review will reject it as a declared dependency.
  • You need CI matrix coverage, parallelization, or API contract/schema validation. This package does neither; contract testing (OpenAPI/Schemathesis-style) and parallel test runners are a different tool category.
  • The alternative is cheap. An internal tests/Concerns trait plus a Behat context on Laravel's first-party tooling is roughly a few hundred lines of glue — comparable to a fork-and-port effort, with none of the ownership risk.

How to Pitch It (Stakeholders)

To executives (one line): This is an unmaintained 2019 test helper — a Symfony bundle, not the Laravel package our request described — with effectively no adoption; it is not a strategic dependency, but it is a free, readable reference for standardizing how we write API acceptance tests. Recommendation: a 1–2 day read-and-reimplement spike, zero budget, no procurement, no ongoing maintenance obligation.

To engineering leadership: Treat it as a pattern source, not a library. It encodes a sensible test shape — data fixtures in, HTTP request, response assertions out — that we can reproduce on our own stack in a week or two. Adopting the package itself would add an unowned dev-dependency with no PHP 8 / modern-framework support and no maintainer to escalate to; the cost of that ownership exceeds the boilerplate it saves. It's dev-only, so the production blast radius is zero — but the CI blast radius is not, and CI breakage blocks every merge.

To the engineering team: Flag the framing error before any spike time is spent — the repository is a Symfony bundle and cannot be installed into a Laravel app. Confirm the target stack first. If we are Laravel, the takeaway is the test-shape convention only: a shared test-case trait wrapping JSON requests with reusable auth/header and assertion helpers, fixtures in database/fixtures, and Artisan commands replacing the Symfony console commands. If we are on legacy Symfony already using Behat, timebox the read to one day and extract only the fixture-loading helper. In either case, if we do adopt or fork anything, it lands behind require-dev, is gated in CI, and has a named owner before the first merge.

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.
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle