# Проверка работы WebSocket

## Быстрая проверка

### 1. Проверьте логи Laravel Echo Server

```bash
tail -20 /home/kartulirest/public_html/kartulirest.de/storage/logs/echoserver.log
```

Должны видеть:
- Подключения клиентов
- Подписки на каналы `private-admin-orders`
- События `order.created` и `order.status.updated`

### 2. Проверьте консоль браузера

Откройте админ-панель и проверьте консоль (F12):

**Должны увидеть:**
- `🔌 Socket.io connected` - подключение установлено
- `✅ Successfully subscribed to admin-orders channel` - подписка на канал
- `✅ Subscribed to event: .order.created` - подписка на событие
- `✅ Subscribed to event: .order.status.updated` - подписка на событие

### 3. Создайте тестовый заказ

После создания заказа в консоли должно появиться:
- `📨 Event received: .order.created` - событие получено
- `📦 Новый заказ получен:` - обработка события

### 4. Проверьте Redis

```bash
redis-cli
> PSUBSCRIBE laravel_database_*
```

Затем создайте заказ - должны увидеть сообщения в Redis.

## Если события не приходят

### Шаг 1: Проверьте, что события отправляются

В логах Laravel должны быть:
```
NewOrderCreated event constructed
NewOrderCreated broadcasting data
NewOrderCreated event dispatched successfully
```

### Шаг 2: Проверьте, что Laravel Echo Server получает события

В логах Laravel Echo Server должны быть записи о получении событий.

### Шаг 3: Проверьте подписку на фронтенде

В консоли браузера проверьте:
```javascript
// Проверка подключения
window.Echo.connector.socket.connected
// Должно быть: true

// Проверка канала
window.Echo.private('admin-orders')
// Должен вернуть объект канала
```

### Шаг 4: Проверьте авторизацию

Откройте Network tab в DevTools и проверьте запрос к `/api/broadcasting/auth`:
- Должен быть статус 200
- Должен вернуть `{auth: "..."}`

## Тестовая команда

```bash
php artisan test:broadcast 19
```

Эта команда отправит событие для заказа #19. Проверьте консоль браузера - должно появиться событие.
