> laravel-testing

Write Pest feature tests with RefreshDatabase, mock external services, and create test data with Eloquent Factories in Laravel. Use when adding HTTP tests, configuring SQLite in-memory test database, or mocking payment services. (triggers: tests/**/*.php, phpunit.xml, feature, unit, mock, factory, sqlite)

fetch
$curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/laravel-testing?format=md"
SKILL.mdlaravel-testing

Laravel Testing

Priority: P1 (HIGH)

Workflow: Test a New Feature

  1. Generate factoryphp artisan make:factory PostFactory --model=Post.
  2. Write feature test — Use Pest with RefreshDatabase for isolation.
  3. Mock externals — Use $this->mock(Service::class) for third-party calls.
  4. Assert response — Chain assertStatus(), assertJson(), assertJsonStructure().
  5. Run with SQLite — Set DB_CONNECTION=sqlite and DB_DATABASE=:memory: in phpunit.xml.

Pest Feature Test Example

See implementation examples for Pest feature tests and test directory structure.

Implementation Guidelines

Pest & Modern Testing

  • Feature Tests: Use uses(RefreshDatabase::class) at the top of Pest files. Example: it('creates post', fn() => $this->postJson('/api/posts', [...]) verifies database rolled back after each test.
  • Transactions: For faster but non-truncating isolation, use DatabaseTransactions.

Mocking & External Services

  • Service Mocking: Use $this->mock(PaymentService::class) with shouldReceive('charge')->once()->with(100) to assert interaction.
  • Loose Verification: Use $this->spy() for behavior validation without strict ordering.
  • Network Safety: Never make real network calls in automated tests.

Test Data & Infrastructure

  • Factories: Create test data via Post::factory()->count(3)->create(['user_id' => $id]).
  • Definition: Implement definition(): array using fake() in factory classes.
  • Generation: Run php artisan make:factory PostFactory --model=Post.
  • SQLite Support: In phpunit.xml, set DB_CONNECTION' value='sqlite' and DB_DATABASE' value=':memory:' for in-memory, lightning-fast tests.

HTTP Assertions

  • Fluent Assertions: Chain assertStatus(201), assertJson(['data' => ...]), and assertJsonStructure.
  • Header Verification: Use assertHeader('Content-Type', 'application/json').

Anti-Patterns

  • No real network calls: Always mock or stub external services.
  • No state leakage between tests: Use RefreshDatabase trait.
  • No DB::table()->insert(): Never DB::table()->insert() raw data in tests — use Eloquent Factories instead.
  • No heavy computations in unit tests: Move to Feature layer.

References

> related_skills --same-repo

> common-store-changelog

Generate user-facing release notes for the Apple App Store and Google Play Store by collecting git history, triaging user-impacting changes, and drafting store-compliant changelogs. Enforces character limits (App Store ≤4000, Google Play ≤500), tone, and bullet format. Use when generating release notes, app store changelog, play store release, what's new, or version release notes for any mobile app. (triggers: generate changelog, app store notes, play store release, what's new, release notes, ve

> golang-tooling

Go developer toolchain — gopls LSP diagnostics, linting, formatting, and vet. Use when setting up Go tooling, running linters, or integrating gopls with Claude Code. (triggers: gopls, golangci-lint, golangci.yml, go vet, goimports, staticcheck, go tooling, go lint)

> common-ui-design

Design distinctive, production-grade frontend UI with bold aesthetic choices. Use when building web components, pages, interfaces, dashboards, or applications in any framework (React, Next.js, Angular, Vue, HTML/CSS). (triggers: build a page, create a component, design a dashboard, landing page, UI for, build a layout, make it look good, improve the design, build UI, create interface, design screen)

> common-owasp

OWASP Top 10 audit checklist for Web Applications (2021) and APIs (2023). Load during any security review, PR review, or codebase audit touching web, mobile backend, or API code. (triggers: security review, OWASP, broken access control, IDOR, BOLA, injection, broken auth, API review, authorization, access control)

┌ stats

installs/wk0
░░░░░░░░░░
github stars452
██████████
first seenMar 17, 2026
└────────────

┌ repo

HoangNguyen0403/agent-skills-standard
by HoangNguyen0403
└────────────

┌ tags

└────────────