draw/draw-test-helper-bundle
Container or EventDispatcher directly.Client → Laravel’s HttpClient or BrowserKit).TestHelperServiceProvider).WebTestCase.draw\Test\Client → Pest’s Http::fake()).Client vs. Dusk’s ChromeDriver).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Symfony Dependency | High | Abstract core functionality; avoid kernel events. |
| Test Framework Gaps | Medium | Build adapters for Pest/Dusk; document limitations. |
| Maintenance Overhead | Medium | Evaluate if bundle evolves (0 stars = unknown). |
| Performance Impact | Low | Helpers are likely lightweight; profile in CI. |
Client/Kernel in tests?HttpClient, BrowserKit, or Pest.Client, Crawler) vs. redundant functionality.WebTestCase).// composer.json
"require": {
"draw/draw-test-helper-bundle": "^1.0"
}
// config/bundle.php
return [
DrawTestHelperBundle::class => ['all' => true],
];
// app/Providers/TestHelperServiceProvider.php
public function register()
{
$this->app->singleton('draw.client', function () {
return new LaravelClient(); // Custom wrapper
});
}
Symfony\Bundle\FrameworkBundle\Test\WebTestCase with Laravel’s TestCase.assertDatabaseHas() or Pest’s assertSoftDeleted().| Component | Compatibility Level | Notes |
|---|---|---|
| Symfony Components | High | Direct integration. |
| PHPUnit | High | Works out-of-the-box. |
| Pest | Medium | Needs custom extensions. |
| Laravel Dusk | Low | Conflicts with Symfony’s Client. |
| Laravel Sanctum | Low | No built-in auth helper support. |
| CI (GitHub Actions) | High | No additional config needed. |
Client → HttpClient).Client/Kernel could hinder future migrations.Client is heavier than Laravel’s HttpClient).Client.| Scenario | Impact | Mitigation |
|---|---|---|
| Bundle Abandoned (0 stars) | High | Fork and maintain internally. |
| Symfony Major Version Break | Medium | Pin to exact version in composer.json. |
| Laravel-Symfony Bridge Fails | High | Fall back to native Laravel tools. |
Test Flakiness (e.g., Client) |
Medium | Isolate in containerized tests. |
| Pest/Dusk Integration Fails | Medium | Document limitations; avoid mixing. |
How can I help you explore Laravel packages today?