fix(chat): ws manager

This commit is contained in:
Anatoliy
2026-09-16 00:10:23 +03:00
parent 8ec6d5b799
commit 27e98bdb44
6 changed files with 201 additions and 5 deletions

View File

@@ -252,5 +252,36 @@ void main() {
expect(manager.client, isNull);
});
test('reconnected - эмитит сигнал после восстановления соединения', () async {
final wsService = MockWsService();
final manager = WsManager(wsService: wsService, errorReporter: const NoOpErrorReporter());
final received = <void>[];
final subscription = manager.reconnected.listen(received.add);
manager.handleConnectionEstablished();
await Future<void>.delayed(Duration.zero);
expect(received, hasLength(1));
await subscription.cancel();
});
test('reconnected - переживает clear (поток не закрывается при логауте)', () async {
final wsService = MockWsService();
final manager = WsManager(wsService: wsService, errorReporter: const NoOpErrorReporter());
final received = <void>[];
final subscription = manager.reconnected.listen(received.add);
await manager.clear();
manager.handleConnectionEstablished();
await Future<void>.delayed(Duration.zero);
expect(received, hasLength(1));
await subscription.cancel();
});
});
}