• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-flutter / 29408971089
87%

Build:
DEFAULT BRANCH: main
Ran 15 Jul 2026 10:43AM UTC
Jobs 9
Files 97
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Jul 2026 10:40AM UTC coverage: 88.496% (+0.6%) from 87.901%
29408971089

push

github

web-flow
test: expand unit coverage for supabase_common and storage_client types (#1595)

## What

Fills genuine, server-free unit coverage gaps found by measuring actual
line coverage (`dart test --coverage` + `format_coverage`) across the
self-contained packages.

### `supabase_common` → now 100% line coverage on every file
- `test/supabase_common_test.dart`:
  - `FetchOptions` group (defaults + provided values, previously 0%).
- `platform info` group covering the `dart:io` getters
(`platform_io.dart`, previously 0%).
- Extra `ReplaySubject` cases: async error replay, sync value replay,
setter-assigned `onListen`/`onCancel`, and the `onPause`/`onResume`
no-ops.
- `test/retry_test.dart`: covers the `onRetry` callback (the one
uncovered line in `retry.dart`).

### `storage_client/lib/src/types.dart` → 86.8% to ~99%
New `test/types_test.dart` (29 tests):
`Bucket`/`FileObject`/`FileObjectV2`/`PaginatedListResult` `fromJson`
(including the `FormatException` path and defaults), the
`toMap`/`toQueryParameters` serializers, `SignedUrl`
equality/`hashCode`/`copyWith`/`toString`, exhaustive `switch` matching
over the sealed `SignedUrlResult`, `StorageException`,
`TransformOptions.toQueryParams`, `DownloadBehavior` and
`StorageRetryController`.

All new and modified tests pass and are formatted. No production code
changed.

## Issues surfaced while writing these tests

1. **Dead defensive branch in `storage_client/lib/src/fetch.dart`** —
`_handleError`'s `else` branch (handling a non-`http.Response` error) is
unreachable; both call sites only ever pass an `http.Response`. Left
as-is here; flagging for follow-up.
2. **`ReplaySubject` sync-replay quirk** — a `sync: true` subject
delivers live events synchronously but replays the latest buffered event
to a late subscriber asynchronously (because `Stream.multi` schedules
its generator). Tests await accordingly.
3. **Pre-existing integration failures (unrelated to this PR)** —
`storage_client/test/client_test.dart` and 62 p... (continued)

5054 of 5711 relevant lines covered (88.5%)

4.25 hits per line

Jobs
ID Job ID Ran Files Coverage
2 storage_client - 29408971089.2 15 Jul 2026 10:45AM UTC 8
97.8
GitHub Action Run
3 postgrest - 29408971089.3 15 Jul 2026 10:45AM UTC 10
85.33
GitHub Action Run
4 gotrue - 29408971089.4 15 Jul 2026 10:46AM UTC 28
86.53
GitHub Action Run
5 functions_client - 29408971089.5 15 Jul 2026 10:43AM UTC 3
98.81
GitHub Action Run
6 supabase_flutter - 29408971089.6 15 Jul 2026 10:43AM UTC 10
79.31
GitHub Action Run
7 realtime_client - 29408971089.7 15 Jul 2026 10:45AM UTC 11
90.13
GitHub Action Run
8 supabase_common - 29408971089.8 15 Jul 2026 10:43AM UTC 10
100.0
GitHub Action Run
9 supabase - 29408971089.9 15 Jul 2026 10:44AM UTC 16
82.61
GitHub Action Run
9 yet_another_json_isolate - 29336359764.9 14 Jul 2026 01:26PM UTC 1
93.65
GitHub Action Run
Source Files on build 29408971089
  • Tree
  • List 97
  • Changed 7
  • Source Changed 1
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29408971089
  • 73acbc9f on github
  • Prev Build on main (#29336359764)
  • Next Build on main (#29413897983)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc