Skip to content
Back to skills

Laravel Testing

ASecurity

Assert the status, JSON payload, structure, and important headers explicitly: ```php $response = $this->postJson('/api/posts', ['title' => 'Hello']); $response ->assertStatus(201) ->assertHeader('Content-Type', 'application/json') ->assertJson(['data' => ['title' => 'Hello']]) ->assertJsonStructure(['data' => ['id', 'title', 'created_at']]); ``` Use `assertJsonValidationErrors()` for invalid input and assert `422` rather than only checking that the request failed. Keep assertions tied to the ...

  • 549 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
developmentphpapidatabase

Works with

  • api

Security analysis

A100/100

Pro scans all 18 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add HoangNguyen0403/agent-skills-standard --skill laravel-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Laravel Testing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Laravel Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hoangnguyen0403-laravel-testing-0d89916f/badge)](https://www.skillsdirectory.com/skills/hoangnguyen0403-laravel-testing-0d89916f)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
Assert the status, JSON payload, structure, and important headers explicitly:

```php
$response = $this->postJson('/api/posts', ['title' => 'Hello']);

$response
    ->assertStatus(201)
    ->assertHeader('Content-Type', 'application/json')
    ->assertJson(['data' => ['title' => 'Hello']])
    ->assertJsonStructure(['data' => ['id', 'title', 'created_at']]);
```

Use `assertJsonValidationErrors()` for invalid input and assert `422` rather than only checking that the request failed. Keep assertions tied to the public API resource contract, not incidental database columns, so the test protects behavior without overfitting serialization internals.

Files in this skill

  • eval-1.baseline.md751 B
  • eval-1.with-skill.md676 B
  • eval-2.baseline.md663 B
  • eval-2.with-skill.md655 B
  • eval-3.baseline.md688 B
  • eval-3.with-skill.md606 B
  • eval-4.baseline.md717 B
  • eval-4.with-skill.md652 B
  • eval-5.baseline.md684 B
  • eval-5.with-skill.md655 B
  • eval-6.baseline.md647 B
  • eval-6.with-skill.md590 B
  • trigger-1.md125 B
  • trigger-2.md88 B
  • trigger-3.md102 B
  • trigger-4.md99 B
  • trigger-5.md88 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…