test: expand client-side coverage and fix lifecycle issues

This commit is contained in:
Artem Kokos
2026-05-01 10:12:33 +07:00
parent 2fa89f6be0
commit 8f0753c1e2
10 changed files with 1116 additions and 43 deletions

View File

@@ -111,7 +111,12 @@ flutter test
Дополнительно тестами уже прикрыты:
- typed parsing/load-state для основных backend-ответов;
- geofence distance/runtime логика;
- чистая логика форм расписаний и групп.
- чистая логика форм расписаний и групп;
- provider-мутаторы для расписаний, таймера 4h и API-ключей;
- widget-сценарии форм домов, групп, расписаний и API-ключей;
- widget-сценарии `RemoteScreen`, `GroupCard` и error/retry-потоков.
Сейчас baseline клиента закрывается примерно `60` тестами и уже ловит regressions не только в helper-логике, но и в основных пользовательских сценариях.
## Настройка
@@ -134,6 +139,7 @@ API-ключи хранятся отдельно от конфигурации
- Целевая платформа сейчас Android.
- Release APK пока подписывается debug-ключом из Flutter-шаблона.
- Build info в APK показывает дату сборки и короткий git hash текущего `HEAD`. Если сборка делается поверх незакоммиченного рабочего дерева, hash будет от последнего коммита, а не от локальных незакоммиченных изменений.
- Android-specific поведение реального background execution, уведомлений, runtime permissions и OEM battery restrictions пока подтверждается в основном ручными проверками на устройстве, а не automated integration-тестами.
## Лицензия