37 lines
1.3 KiB
PHP
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();
|
|
});
|