Files
agent-unit-testing/templates/pest/FormRequestTest.template.php
T
Pham-Tan-Thien da1bd48444 feat: decouple Laravel and CakePHP installers, remove SonarQube artifacts, and enforce complete unit testing standards
- Decouple framework installation: add install-laravel.sh and install-cakephp.sh, isolate skills and docs per framework, and auto-clean leftover artifacts
- Remove all SonarQube configs, templates, and references
- Enforce comprehensive test completeness: 100% public methods, edge cases, full branch coverage, exception paths, and state assertions
- Replace all placeholder assertions in PHPUnit and Pest templates with full realistic implementations
- Rename and update 10-comprehensive-test-coverage-guide.md
2026-09-17 14:25:02 +07:00

42 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
use {{TargetClassFullName}};
use Illuminate\Support\Facades\Validator;
describe('{{ClassName}}', function () {
it('authorizes request appropriately', function () {
$request = new {{ClassName}}();
expect($request->authorize())->toBeTrue();
});
it('passes validation with valid payload', function () {
$request = new {{ClassName}}();
$validator = Validator::make([
'name' => 'John Doe',
'email' => 'john@example.com',
], $request->rules());
expect($validator->fails())->toBeFalse();
});
it('fails validation when required fields are missing', function () {
$request = new {{ClassName}}();
$validator = Validator::make([], $request->rules());
expect($validator->fails())->toBeTrue();
});
it('fails validation for invalid fields', function ($payload, $expectedErrorField) {
$request = new {{ClassName}}();
$validator = Validator::make($payload, $request->rules());
expect($validator->fails())->toBeTrue();
expect($validator->errors()->has($expectedErrorField))->toBeTrue();
})->with([
'invalid email' => [['name' => 'John Doe', 'email' => 'invalid-email'], 'email'],
'empty name' => [['name' => '', 'email' => 'john@example.com'], 'name'],
]);
});