feat: complete Smartgift AI Laravel unit testing toolkit
- 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>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\Unit\{{Namespace}};
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use PHPUnit\Framework\Attributes\Test;
|
||||
use {{TargetClassFullName}};
|
||||
use App\Models\User;
|
||||
|
||||
class {{ClassName}}Test extends TestCase
|
||||
{
|
||||
private {{ClassName}} $policy;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
$this->policy = new {{ClassName}}();
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function it_allows_authorized_user_to_perform_action(): void
|
||||
{
|
||||
// Arrange
|
||||
$user = new User(['id' => 1]);
|
||||
|
||||
// Act & Assert
|
||||
// $this->assertTrue($this->policy->view($user, $model));
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function it_denies_unauthorized_user_from_performing_action(): void
|
||||
{
|
||||
// Arrange
|
||||
$user = new User(['id' => 99]);
|
||||
|
||||
// Act & Assert
|
||||
// $this->assertFalse($this->policy->update($user, $model));
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user