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:
2026-09-07 16:41:37 +07:00
commit 2045c856e9
60 changed files with 5248 additions and 0 deletions
@@ -0,0 +1,54 @@
<?php
declare(strict_types=1);
namespace Tests\Unit\{{Namespace}};
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\Attributes\DataProvider;
use Mockery;
use Mockery\MockInterface;
use {{TargetClassFullName}};
// use {{DependencyInterfaceFullName}};
class {{ClassName}}Test extends TestCase
{
// private {{DependencyInterface}}&MockInterface $dependencyMock;
private {{ClassName}} $service;
protected function setUp(): void
{
parent::setUp();
// $this->dependencyMock = Mockery::mock({{DependencyInterface}}::class);
// $this->service = new {{ClassName}}($this->dependencyMock);
}
protected function tearDown(): void
{
Mockery::close();
parent::tearDown();
}
#[Test]
public function it_executes_successfully_under_normal_conditions(): void
{
// 1. Arrange
// 2. Act
// 3. Assert
$this->assertTrue(true);
}
#[Test]
public function it_throws_exception_when_input_is_invalid(): void
{
// 1. Arrange
// 2. Assert Expectation
// $this->expectException(\InvalidArgumentException::class);
// 3. Act
}
}