Push coverage to 87%: remove 4 screens from excluded, add nav/search tests

- run_unit_tests.sh and CI now run unit + widget tests together for coverage
- Removed account_list, email_list, mailbox_list, settings screens from
  _excluded (all ≥70% when measured with widget tests)
- Added tests: mailbox tile tap, account tile tap, empty-state button,
  settings Remove confirmation, email search submit/results/sync/edit
- FakeEmailRepository accepts searchResults for testing search paths

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas Güttler
2026-04-16 15:29:40 +02:00
co-authored by Claude Sonnet 4.6
parent 99a46e1589
commit 24482c7e4b
9 changed files with 207 additions and 11 deletions
+2 -5
View File
@@ -7,7 +7,7 @@
import 'dart:io';
// Minimum line-hit percentage across all measured (non-excluded) files.
const _minCoveragePercent = 70;
const _minCoveragePercent = 85;
// Pure-abstract interfaces: no executable code, Dart VM never instruments them.
const _noCode = {
@@ -29,13 +29,10 @@ const _excluded = {
'lib/di.dart',
'lib/main.dart',
'lib/ui/router.dart',
'lib/ui/screens/account_list_screen.dart',
// Screens below the 70% gate — covered by widget tests but not yet fully:
'lib/ui/screens/add_account_screen.dart',
'lib/ui/screens/compose_screen.dart',
'lib/ui/screens/email_detail_screen.dart',
'lib/ui/screens/email_list_screen.dart',
'lib/ui/screens/mailbox_list_screen.dart',
'lib/ui/screens/settings_screen.dart',
};
void main() {