Add comprehensive test coverage and update notes
This commit is contained in:
36
tests/Unit/PostThankControllerUnitTest.php
Normal file
36
tests/Unit/PostThankControllerUnitTest.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?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();
|
||||
});
|
||||
Reference in New Issue
Block a user