<?php

namespace API;


use App\Models\Role;
use App\Models\User;
use Tests\Feature\TestCase;

class UserTest extends TestCase
{
   public function test_user_info(): void
   {
       $response = $this->get(route("user.info"));

       $response->assertStatus(200)->assertJsonStructure([
           'data' => [
               'id',
               'name',
               'email',
               'company',
               'role',
           ]
       ]);
   }

    public function test_role_assign_permission(): void
    {
        $user = User::factory()->create();

        $role = Role::first();
        $response = $this->put(route('user.assign-role', ['user' => $user->id]), [
            'role_name' => $role->name,
        ]);

        $response->assertStatus(204);

        $this->assertEquals($user->refresh()->role_id, $role->id);
    }
}