Files
portal/app/tests/Unit/External/BalanceReadingAliveTest.php
T
Дмитрий c1f015d17d feat(external): ExternalBalanceRefresher — обновление набора сервисов + окно свежести + BalanceReading::alive()
Фаза A плана 2026-07-16-external-services-online-monitoring:
- BalanceReading::alive() — состояние «жив, денежного баланса нет».
- ExternalBalanceRefresher: реестр 6 сервисов, refresh(keys, force, sendAlerts),
  окно свежести 60с, edge-trigger алерта по колонке light (фон/кнопка sendAlerts=false молчат).
- RefreshExternalBalancesJob делегирует рефрешеру (поведение суточного сбора сохранено).
Тесты: 35 External зелёные, Larastan 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 14:50:01 +03:00

14 lines
415 B
PHP

<?php
declare(strict_types=1);
use App\Services\External\BalanceReading;
uses(Tests\TestCase::class);
it('alive: ok=true, баланс null, ошибки нет', function () {
$r = BalanceReading::alive('aitunnel');
expect($r->serviceKey)->toBe('aitunnel');
expect($r->ok)->toBeTrue();
expect($r->balance)->toBeNull();
expect($r->error)->toBeNull();
expect($r->currency)->toBe('RUB');
});