2045c856e9
- Add 10 core testing guides (setup, AAA principles, PHPUnit/Pest, mocking, anti-patterns, PHP 8.4+, debugging, data factories, advanced edge cases) - Add 13 component testing guides covering all Laravel layers - Add standard templates for PHPUnit 10/11 and Pest v2/v3 including ArchitectureTest - Add Docker smart test runner, dependency installer, and CI/CD templates (GitHub Actions, GitLab CI) - Add 4 Claude Code skills (laravel-test-setup, laravel-unit-test with --all mode, laravel-test-review, laravel-mock-helper) - Add single unified installer script (sg-install-unit-testing.sh) with global support, CLI runners, and 1-click updater (sg-test-update) - Add comprehensive documentation (README.md, USAGE-GUIDE.md) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
57 lines
1.2 KiB
PHP
57 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Tests\Unit\{{Namespace}};
|
|
|
|
use Tests\TestCase;
|
|
use PHPUnit\Framework\Attributes\Test;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use {{TargetClassFullName}};
|
|
|
|
class {{ClassName}}Test extends TestCase
|
|
{
|
|
private {{ClassName}} $request;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
$this->request = new {{ClassName}}();
|
|
}
|
|
|
|
#[Test]
|
|
public function it_authorizes_request_appropriately(): void
|
|
{
|
|
// Assert authorize() returns expected boolean
|
|
$this->assertTrue($this->request->authorize());
|
|
}
|
|
|
|
#[Test]
|
|
public function it_passes_validation_with_valid_payload(): void
|
|
{
|
|
// Arrange
|
|
$validPayload = [
|
|
// Cung cấp dữ liệu chuẩn
|
|
];
|
|
|
|
// Act
|
|
$validator = Validator::make($validPayload, $this->request->rules());
|
|
|
|
// Assert
|
|
$this->assertFalse($validator->fails());
|
|
}
|
|
|
|
#[Test]
|
|
public function it_fails_validation_when_required_fields_are_missing(): void
|
|
{
|
|
// Arrange
|
|
$emptyPayload = [];
|
|
|
|
// Act
|
|
$validator = Validator::make($emptyPayload, $this->request->rules());
|
|
|
|
// Assert
|
|
$this->assertTrue($validator->fails());
|
|
}
|
|
}
|