artisan('db:seed'); }); test('guest passes through', function () { $request = Request::create('/'); $response = (new CheckIfBanned)->handle($request, fn () => 'ok'); $this->assertSame('ok', $response); }); test('active user passes through', function () { $user = User::factory()->create(['status' => UserStatus::ACTIVE]); $request = Request::create('/'); $request->setUserResolver(fn () => $user); $response = (new CheckIfBanned)->handle($request, fn () => 'ok'); $this->assertSame('ok', $response); }); test('banned user is blocked', function () { $user = User::factory()->create(['status' => UserStatus::BANNED]); $request = Request::create('/'); $request->setUserResolver(fn () => $user); $this->expectException(HttpException::class); (new CheckIfBanned)->handle($request, fn () => 'ok'); });