feat: web, webhook and telegram channel drivers

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
This commit is contained in:
nikita.hohlov
2026-09-04 07:18:37 -03:00
parent 1b03fe0796
commit 1b0a559e3c
11 changed files with 487 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
<?php
namespace Tests\Unit\Channels;
use App\Channels\WebChannel;
use App\Enums\Presence;
use App\Models\User;
use Illuminate\Support\Facades\Cache;
use Tests\TestCase;
class WebChannelTest extends TestCase
{
public function test_presence_follows_heartbeat(): void
{
$user = new User(['login' => 'n', 'tz' => 'UTC']);
$user->id = 7;
$driver = new WebChannel;
$this->assertSame(Presence::Absent, $driver->presence($user, []));
Cache::put('heartbeat:7', true, 90);
$this->assertSame(Presence::Present, $driver->presence($user, []));
}
}