Commit Graph
5 Commits
Author SHA1 Message Date
stepan a3b193e618 Перевести FakeMlLearningStore на NSubstitute
Подставка IMlLearningStore переведена на NSubstitute (TestMlLearningStore.Store); динамический CountOutboxAsync; обновлены 5 потребителей.
2026-09-13 02:49:08 +03:00
stepan d51d88ed65 Перевести FakeSettingsStore на NSubstitute (42 файла потребителей)
Хелпер Support/TestSettingsStore: словарь настроек, GetAsync/GetAllAsync/SetAsync/
RemoveAsync читают состояние на момент вызова (GetAllAsync — ленивый, ключ для
снапшот-сервисов). DI получает .Store, тесты сохраняют Preload/GetStoredJson.
2026-09-13 01:22:10 +03:00
stepan c5fd516a36 Перевести FakeTenantLimitStore на NSubstitute
Хелпер Support/TestTenantLimitStore: строки лимитов с полной бюджетной
семантикой (GetOrCreate/GetState/AddUsage/UpdateBudget, Warned80/
NotifiedExhausted, сброс истёкших периодов, сценарий сбоя чтения), DI получает
.Store. Потребители (13 файлов) перетипизированы, фейк удалён,
тесты 1340 зелёные.
2026-09-13 01:02:35 +03:00
Rustam Khalimov 31add804eb Перевести FakeTokenUsageEventStore на NSubstitute
ci / build-test (push) Successful in 2m52s
Хелпер Support/TestTokenUsageEventStore: записи + полная логика агрегации
(фильтры, группировки day/tenant/provider/model) читают состояние на момент
вызова. Потребители (10 файлов) перетипизированы на .Store, фейк удалён,
тесты 1340 зелёные.
2026-09-12 22:49:41 +03:00
Rustam Khalimov 27c7831910 Deal — единая кодовая база
ci / build-test (push) Canceled after 0s
SaaS-мониторинг Telegram: ядро (модули Cards/Kanban/Pipeline/Tenants/Settings/
Discovery, Api, Infrastructure), сервисы telegram/ai/ml/storage, фронт Vue,
контракты и grpc-hosting, деплой-конфиги (dev/prod/observability/CI-раннер),
Gitea Actions CI, документация (ТЗ, техдок, api-map, код-стайл, планы, бэклог).

Текущее состояние: все этапы роадмапа 0–12 закрыты, сборка 5 sln 0/0,
тесты 1340/130/52/38/9 зелёные.
2026-09-11 23:56:47 +03:00