> @vvlad1973/telegram-bot-client@1.3.0 test > vitest  RUN  v4.0.16 c:/Repositories/lib/@vvlad1973/telegram-bot ✓ src/__test__/errors/TelegramError.test.ts (41 tests) 16ms ✓ src/__test__/client/managers/RouteLifecycleManager.test.ts (36 tests) 29ms ✓ src/__test__/client/managers/PollingIntegrationManager.test.ts (31 tests) 63ms ✓ src/__test__/client/managers/RouteConfigManager.test.ts (44 tests) 96ms ✓ src/__test__/builders/InlineKeyboardBuilder.test.ts (62 tests) 21ms stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > constructor > should create provider with custom config [InMemoryQueueProvider] Initialized with config: { globalLimit: 50, queueLimit: 2, concurrency: 3, debug: true } stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should enqueue and execute task [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should enqueue task with priority [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should use default priority if not provided [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should handle multiple tasks in same queue [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should handle tasks in different queues [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should execute task and update stats [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should handle task failure and update stats [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should handle serializable tasks with registered handlers [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > enqueue > should throw error for unknown task type [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > getStats > should return stats for existing queue [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > getStats > should calculate throughput correctly [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > close > should clear all queues [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > close > should work with debug mode enabled [InMemoryQueueProvider] Initialized with config: { globalLimit: 30, queueLimit: 1, concurrency: 1, debug: true } [InMemoryQueueProvider] Created queue: test-queue [InMemoryQueueProvider] Task enqueued to test-queue, priority: 5 stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > close > should work with debug mode enabled [InMemoryQueueProvider] Task completed in test-queue stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > close > should work with debug mode enabled [InMemoryQueueProvider] Closing all queues [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [InMemoryQueueProvider] Cleared queue: test-queue stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > queue management > should return queue names after creating queues [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > queue management > should return correct queue count [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > queue management > should return true for existing queue [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > getGlobalStats > should return global stats for all queues [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > getGlobalStats > should include failed tasks in global stats [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > task handlers > should execute registered handler [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > debug mode > should work with debug enabled [InMemoryQueueProvider] Initialized with config: { globalLimit: 30, queueLimit: 1, concurrency: 1, debug: true } [InMemoryQueueProvider] Created queue: debug-queue [InMemoryQueueProvider] Task enqueued to debug-queue, priority: 5 stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > debug mode > should work with debug enabled [InMemoryQueueProvider] Task completed in debug-queue stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > debug mode > should work with debug enabled [InMemoryQueueProvider] Closing all queues [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [InMemoryQueueProvider] Cleared queue: debug-queue stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > debug mode > should handle task failure in debug mode [InMemoryQueueProvider] Initialized with config: { globalLimit: 30, queueLimit: 1, concurrency: 1, debug: true } [InMemoryQueueProvider] Created queue: debug-queue [InMemoryQueueProvider] Task enqueued to debug-queue, priority: 5 stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > debug mode > should handle task failure in debug mode [InMemoryQueueProvider] Closing all queues [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared [InMemoryQueueProvider] Cleared queue: debug-queue stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > error handling > should throw error when processing empty queue [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/InMemoryQueueProvider.test.ts > InMemoryQueueProvider > error handling > should propagate errors from tasks [2025-12-24 06:44:20] INFO (clearedItems=0): [Queue] Queue cleared ✓ src/__test__/queue/InMemoryQueueProvider.test.ts (34 tests) 68ms ✓ src/__test__/builders/BotCommandsBuilder.test.ts (32 tests) 31ms ✓ src/__test__/agents/PollingLoop.test.ts (14 tests) 20ms ✓ src/__test__/helpers/update-helpers.test.ts (45 tests) 15ms stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > create > should create in-memory provider with custom config [InMemoryQueueProvider] Initialized with config: { globalLimit: 50, queueLimit: 2, concurrency: 3, debug: true } stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > createFromEnv > should create in-memory provider from env variables [InMemoryQueueProvider] Initialized with config: { globalLimit: 50, queueLimit: 2, concurrency: 3, debug: true } stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > createFromEnv > should handle QUEUE_DEBUG=true [InMemoryQueueProvider] Initialized with config: { globalLimit: 30, queueLimit: 1, concurrency: 1, debug: true } stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > createInMemoryProvider helper > should create provider with full config override [InMemoryQueueProvider] Initialized with config: { globalLimit: 50, queueLimit: 2, concurrency: 3, debug: true } stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > createInMemoryProvider helper > should merge config with defaults [InMemoryQueueProvider] Initialized with config: { globalLimit: 30, queueLimit: 1, concurrency: 1, debug: true } stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > integration > should create functional provider [2025-12-24 06:44:21] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > integration > should create provider from factory [2025-12-24 06:44:21] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > integration > should create multiple providers independently [InMemoryQueueProvider] Initialized with config: { globalLimit: 30, queueLimit: 1, concurrency: 1, debug: true } stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > integration > should create multiple providers independently [InMemoryQueueProvider] Created queue: queue2 [InMemoryQueueProvider] Task enqueued to queue2, priority: 5 stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > integration > should create multiple providers independently [InMemoryQueueProvider] Task completed in queue2 ✓ src/__test__/base-telegram-api.test.ts (11 tests) 818ms ✓ should return expected response  751ms stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > integration > should create multiple providers independently [2025-12-24 06:44:21] INFO (clearedItems=0): [Queue] Queue cleared stdout | src/__test__/queue/QueueProviderFactory.test.ts > QueueProviderFactory > integration > should create multiple providers independently [InMemoryQueueProvider] Closing all queues [2025-12-24 06:44:21] INFO (clearedItems=0): [Queue] Queue cleared [InMemoryQueueProvider] Cleared queue: queue2 ✓ src/__test__/queue/QueueProviderFactory.test.ts (28 tests) 29ms ✓ src/__test__/transport/TokensManager.test.ts (29 tests) 14ms ✓ src/__test__/helpers/utils.test.js (45 tests) 18ms stdout | src/__test__/client/TelegramBotClient.performance.test.ts > Filter Cache Performance > should be faster with cache than without cache === Filter Cache Performance Test === Iterations: 1000 Filters: 30 Total deserializations: 30000 Time without cache: 74.64ms Time with cache: 13.78ms Speedup: 5.42x Improvement: 441.7% stdout | src/__test__/client/TelegramBotClient.performance.test.ts > Filter Cache Performance > should demonstrate cache efficiency with realistic update processing === Realistic Update Processing Performance === Iterations: 100 Updates per iteration: 3 Filters: 5 Total updates processed: 300 Time without cache: 6.71ms Time with cache: 3.47ms Speedup: 1.94x Improvement: 93.6% stdout | src/__test__/client/TelegramBotClient.performance.test.ts > Filter Cache Performance > should show cache memory efficiency === Cache Memory Efficiency === Filters cached: 5 All filters reuse same object references: ✓ stdout | src/__test__/client/TelegramBotClient.performance.test.ts > Filter Cache Performance > should measure RegExp compilation overhead === RegExp Compilation Overhead === Iterations: 10000 RegExp patterns: 10 Total operations: 100000 Time with compilation: 23.60ms Time with reuse: 3.80ms Speedup: 6.21x RegExp compilation overhead: 19.79ms ✓ src/__test__/client/TelegramBotClient.performance.test.ts (4 tests) 144ms ✓ src/__test__/client/TelegramBotClient.test.ts (57 tests) 42ms ✓ src/__test__/helpers/logger-helpers.test.ts (22 tests) 13ms ✓ src/__test__/builders/ReplyKeyboardBuilder.test.ts (36 tests) 15ms ✓ src/__test__/integration/end-to-end.test.ts (13 tests) 286ms ✓ src/__test__/errors/ErrorMapper.test.ts (41 tests) 15ms ✓ src/__test__/helpers/constants.test.ts (14 tests) 15ms ✓ src/__test__/helpers/user-helpers.test.ts (33 tests) 10ms ✓ src/__test__/wrappers/CallbackQueryWrapper.test.ts (52 tests) 461ms ✓ src/__test__/agents/WorkerCommandHandler.test.ts (6 tests) 9ms ✓ src/__test__/wrappers/MessageWrapper.test.ts (41 tests) 487ms ✓ src/__test__/api-version.test.ts (5 tests) 4ms ✓ src/__test__/helpers/file-helpers.test.ts (17 tests) 15ms ✓ src/__test__/client/public-api.test.ts (12 tests) 7ms ✓ src/__test__/agents/WorkerClientFactory.test.ts (5 tests) 5ms ✓ src/__test__/transport/TelegramHttpClient.test.ts (25 tests) 3927ms ✓ should handle rate limiting (429) with retry  1010ms ✓ should throw TelegramRateLimitError after max retries  2020ms ✓ should throw TelegramNetworkError after max retries  324ms ✓ should handle exponential backoff on retries  311ms ✓ src/__test__/agents/PollingLoop.integration.test.ts (3 tests) 5364ms ✓ should start polling loop, process updates, and stop in worker thread  2400ms ✓ should handle pause and resume commands  1749ms ✓ should stop polling  1214ms ✓ src/__test__/transport/TelegramTransport.test.ts (27 tests) 7042ms ✓ should execute request in direct HTTP mode  1540ms ✓ should enqueue request in queue mode  1395ms ✓ should use routeId as queue name  454ms ✓ should set priority for high-priority methods  453ms ✓ should set priority for low-priority methods  454ms ✓ should set medium priority for other methods  448ms ✓ should use custom priorities when configured  455ms ✓ should map application/json content type  452ms ✓ should map application/x-www-form-urlencoded content type  456ms ✓ should map multipart/form-data content type  458ms ✓ should default to json for unknown content type  458ms ✓ src/__test__/agents/LongPollingManager.integration.test.ts (11 tests) 36887ms ✓ should initialize with multiple tokens  527ms ✓ should start and stop manager  6553ms ✓ should handle onUpdate and onError callbacks  7538ms ✓ should track offset updates  510ms ✓ should emit events during lifecycle  6528ms ✓ should provide worker statistics  6542ms ✓ should get worker state  513ms ✓ should check worker running status  6535ms ✓ should handle multiple tokens with different configurations  513ms ✓ should not start if already running  609ms ✓ should not stop if not running  513ms  Test Files  32 passed (32)  Tests  876 passed (876)  Start at  09:44:18  Duration  37.62s (transform 5.23s, setup 0ms, import 19.56s, tests 55.98s, environment 13ms)