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

supabase / supabase-flutter / 27916391162
85%

Build:
DEFAULT BRANCH: main
Ran 21 Jun 2026 08:24PM UTC
Jobs 8
Files 78
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

21 Jun 2026 08:22PM UTC coverage: 85.201%. Remained the same
27916391162

push

github

web-flow
test: use proper matchers in tests (#1437)

## What kind of change does this PR introduce?

Test quality cleanup. No production code changes; only test files are
touched.

## What is the current behavior?

Several test suites used non-idiomatic assertions:

- boolean-literal expectations, e.g. `expect(x, true)` / `expect(x,
false)`
- equality checks done inside the actual argument, e.g. `expect(a == b,
true)`
- length-zero emptiness checks, e.g. `expect(x.length, 0)`
- exception assertions written as `try { await ...; fail('...'); } catch
(e) { expect(e, ...) }`

## What is the new behavior?

These are replaced with the proper matchers across all packages:

- `expect(x, isTrue)` / `expect(x, isFalse)`
- `expect(a, b)` / `expect(a, isNot(b))`
- `expect(x, isEmpty)`
- `expectLater(() => ..., throwsA(isA<T>().having((e) => e.field,
'field', value)))`

Approximate counts: ~47 boolean matchers, ~22 direct equality, ~8
emptiness, ~43 exception conversions across 22 test files in
functions_client, gotrue, postgrest, realtime_client, storage_client,
supabase, and supabase_flutter.

A few `fail()` calls were intentionally left in place because they are
not exception-testing patterns (one sits inside an `await for` stream
loop, two assert that a download succeeds after copy/move).

## How was the change verified?

- `dart analyze` / `flutter analyze` on every affected package's `test/`
directory: no issues.
- `dart format` on all changed files: already conformant.
- All mock-based suites pass. Server-dependent integration suites were
not run locally but analyze cleanly; the conversions are mechanical and
preserve assertion meaning.

4082 of 4791 relevant lines covered (85.2%)

3.49 hits per line

Jobs
ID Job ID Ran Files Coverage
2 functions_client - 27916391162.2 21 Jun 2026 08:24PM UTC 2
97.14
GitHub Action Run
3 supabase - 27916391162.3 21 Jun 2026 08:24PM UTC 15
82.3
GitHub Action Run
4 realtime_client - 27916391162.4 21 Jun 2026 08:26PM UTC 11
88.15
GitHub Action Run
5 gotrue - 27916391162.5 21 Jun 2026 08:26PM UTC 26
83.53
GitHub Action Run
6 supabase_flutter - 27916391162.6 21 Jun 2026 08:25PM UTC 9
77.08
GitHub Action Run
7 postgrest - 27916391162.7 21 Jun 2026 08:26PM UTC 9
83.81
GitHub Action Run
8 storage_client - 27916391162.8 21 Jun 2026 08:25PM UTC 5
93.01
GitHub Action Run
7 yet_another_json_isolate - 27913856643.7 21 Jun 2026 06:42PM UTC 1
79.03
GitHub Action Run
Source Files on build 27916391162
  • Tree
  • List 78
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27916391162
  • 623777b5 on github
  • Prev Build on main (#27915078389)
  • Next Build on main (#27945378487)
  • 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