Files
speedBB/tests/Unit/PostThankControllerUnitTest.php
tracer 88e4a70f88
Some checks failed
CI/CD Pipeline / test (push) Successful in 3s
CI/CD Pipeline / deploy (push) Failing after 15s
Add comprehensive test coverage and update notes
2026-02-08 19:04:12 +01:00

37 lines
1.3 KiB
PHP

<?php
use App\Http\Controllers\PostThankController;
use App\Models\Post;
use App\Models\User;
use Illuminate\Http\Request;
it('returns unauthenticated when no user in store/destroy', function (): void {
$controller = new PostThankController();
$post = new Post([
'id' => 1,
]);
$post->setRawAttributes(['id' => 1, 'thread_id' => 1, 'user_id' => null, 'body' => 'Post'], true);
$request = Request::create('/api/posts/'.$post->id.'/thanks', 'POST');
$request->setUserResolver(fn () => null);
$response = $controller->store($request, $post);
expect($response->getStatusCode())->toBe(401);
$request = Request::create('/api/posts/'.$post->id.'/thanks', 'DELETE');
$request->setUserResolver(fn () => null);
$response = $controller->destroy($request, $post);
expect($response->getStatusCode())->toBe(401);
});
it('resolveGroupColor returns null for missing roles', function (): void {
$controller = new PostThankController();
$user = User::factory()->create();
$user->setRelation('roles', null);
$ref = new ReflectionMethod($controller, 'resolveGroupColor');
$ref->setAccessible(true);
expect($ref->invoke($controller, $user))->toBeNull();
expect($ref->invoke($controller, null))->toBeNull();
});