create(['role' => 'user']); $this->assertDatabaseHas('users', [ 'id' => $user->id, 'role' => 'user', ]); $this->assertDatabaseHas('user_settings', [ 'user_id' => $user->id, ]); Storage::disk('local') ->assertExists('files/' . User::first()->id); } /** * @test */ public function it_register_user() { $this->postJson('/register', [ 'email' => 'john@doe.com', 'password' => 'SecretPassword', 'password_confirmation' => 'SecretPassword', 'name' => 'John Doe', ])->assertStatus(201); $this->assertDatabaseHas('users', [ 'email' => 'john@doe.com', ]); $this->assertDatabaseHas('user_settings', [ 'name' => 'John Doe', ]); Storage::disk('local') ->assertExists('files/' . User::first()->id); } /** * @test */ public function it_login_user() { $user = User::factory(User::class) ->create(['email' => 'john@doe.com']); $this->postJson('/login', [ 'email' => $user->email, 'password' => 'secret', ])->assertStatus(200); } /** * @test */ public function it_logout_user() { $user = User::factory(User::class) ->create(); Sanctum::actingAs($user); $this->postJson('/logout') ->assertStatus(204); } }