laravel-testing

Agent Workflow (MANDATORY)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "laravel-testing" with this command: npx skills add fusengine/agents/fusengine-agents-laravel-testing

Laravel Testing

Agent Workflow (MANDATORY)

Before ANY implementation, use TeamCreate to spawn 3 agents:

  • fuse-ai-pilot:explore-codebase - Analyze existing test patterns

  • fuse-ai-pilot:research-expert - Verify Pest/PHPUnit docs via Context7

  • mcp__context7__query-docs - Check assertion and mocking patterns

After implementation, run fuse-ai-pilot:sniper for validation.

Overview

Type Purpose Location

Feature HTTP, full stack tests/Feature/

Unit Isolated classes tests/Unit/

Arch Code architecture tests/Arch.php

Decision Guide: Test Type

What to test? ├── HTTP endpoint → Feature test ├── Service/Policy logic → Unit test ├── Code structure → Arch test ├── External API → Mock with Http::fake() ├── Mail/Queue/Event → Use Fakes └── Database state → assertDatabaseHas()

Decision Guide: Test Strategy

Coverage strategy? ├── Feature tests (70%) → Critical flows ├── Unit tests (25%) → Business logic ├── E2E tests (5%) → User journeys └── Arch tests → Structural rules

Critical Rules

  • Use RefreshDatabase for database isolation

  • Use factories for test data (never raw inserts)

  • Mock external services - Never call real APIs

  • Test edge cases - Empty, null, boundaries

  • Run parallel - pest --parallel for speed

Reference Guide

Pest Basics

Topic Reference When to Consult

Pest Syntax pest-basics.md it(), test(), describe()

Datasets pest-datasets.md Data providers, hooks

Architecture pest-arch.md arch() tests

HTTP Testing

Topic Reference When to Consult

Requests http-requests.md GET, POST, headers

JSON API http-json.md API assertions

Authentication http-auth.md actingAs, guards

Assertions http-assertions.md Status, redirects

Database Testing

Topic Reference When to Consult

Basics database-basics.md RefreshDatabase

Factories database-factories.md Factory patterns

Assertions database-assertions.md DB assertions

Mocking

Topic Reference When to Consult

Services mocking-services.md Mock, spy

Fakes mocking-fakes.md Mail, Queue, Event

HTTP & Time mocking-http.md Http::fake, travel

Other

Topic Reference When to Consult

Console console-tests.md Artisan tests

Troubleshooting troubleshooting.md Common errors

Templates

Template When to Use

FeatureTest.php.md HTTP feature test

UnitTest.php.md Service unit test

ArchTest.php.md Architecture test

ApiTest.php.md REST API test

PestConfig.php.md Pest configuration

Quick Reference

// Feature test it('creates a post', function () { $user = User::factory()->create();

$this->actingAs($user)
    ->postJson('/api/posts', ['title' => 'Test'])
    ->assertCreated()
    ->assertJsonPath('data.title', 'Test');

$this->assertDatabaseHas('posts', ['title' => 'Test']);

});

// With dataset it('validates emails', function (string $email, bool $valid) { // test logic })->with([ ['valid@test.com', true], ['invalid', false], ]);

// Mock facade Mail::fake(); // ... action ... Mail::assertSent(OrderShipped::class);

Commands

Run all tests

php artisan test

Pest directly

./vendor/bin/pest

Parallel execution

./vendor/bin/pest --parallel

Filter by name

./vendor/bin/pest --filter "user can"

Coverage

./vendor/bin/pest --coverage --min=80

Profile slow tests

./vendor/bin/pest --profile

Best Practices

DO

  • Use RefreshDatabase trait

  • Follow AAA pattern (Arrange-Act-Assert)

  • Name tests descriptively

  • Test one thing per test

  • Use factories for data

DON'T

  • Create test dependencies

  • Call real external APIs

  • Use production database

  • Skip edge cases

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

laravel-livewire

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

laravel-blade

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

laravel-architecture

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

nextjs-i18n

No summary provided by upstream source.

Repository SourceNeeds Review