Skip to content

Commit 53e73cf

Browse files
committed
Run sqlite3_web tests in CI
1 parent bb566d3 commit 53e73cf

File tree

4 files changed

+41
-5
lines changed

4 files changed

+41
-5
lines changed

.github/workflows/main.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,3 +350,26 @@ jobs:
350350
- name: sqlcipher driver tests
351351
run: "flutter pub get && flutter test integration_test"
352352
working-directory: integration_tests/sqlcipher_flutter
353+
354+
integration_test_web:
355+
runs-on: ubuntu-latest
356+
steps:
357+
- uses: actions/checkout@v5
358+
- uses: dart-lang/setup-dart@v1
359+
with:
360+
sdk: beta
361+
362+
- uses: actions/cache@v4
363+
with:
364+
path: "${{ env.PUB_CACHE }}"
365+
key: dart-dependencies-${{ matrix.dart }}-${{ runner.os }}
366+
restore-keys: |
367+
dart-dependencies-${{ matrix.dart }}-
368+
dart-dependencies-
369+
370+
- name: Web tests
371+
run: |
372+
curl https://simon-public.fsn1.your-objectstorage.com/assets/sqlite3/2.8.0/sqlite3.wasm -o web/sqlite3.wasm
373+
dart pub get
374+
dart test -P gh_actions -r expanded
375+
working-directory: sqlite3_web

sqlite3_web/dart_test.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ override_platforms:
55
firefox:
66
settings:
77
arguments: "-headless"
8+
9+
presets:
10+
gh_actions:

sqlite3_web/test/integration_test.dart

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'dart:io';
77
import 'package:sqlite3_web/src/types.dart';
88
import 'package:test/test.dart';
99
import 'package:webdriver/async_io.dart';
10+
import 'package:webdriver/support/async.dart';
1011

1112
import '../tool/server.dart';
1213

@@ -206,17 +207,23 @@ final class _TestConfiguration {
206207
expect(events.commits, 0);
207208
expect(events.rollbacks, 0);
208209
await driver.execute("INSERT INTO foo (bar) VALUES ('hello');");
209-
events = await driver.countEvents();
210-
expect(events.updates, 1);
211-
expect(events.commits, 1);
210+
211+
await waitFor(() async {
212+
events = await driver.countEvents();
213+
expect(events.updates, 1);
214+
expect(events.commits, 1);
215+
});
212216

213217
expect(await driver.assertFile(true), isPositive);
214218
await driver.flush();
215219

216220
await driver.execute('begin');
217221
await driver.execute('rollback');
218-
events = await driver.countEvents();
219-
expect(events.rollbacks, 1);
222+
223+
await waitFor(() async {
224+
final events = await driver.countEvents();
225+
return events.rollbacks;
226+
}, matcher: 1);
220227

221228
if (implementation.storage != StorageMode.inMemory) {
222229
await driver.driver.refresh();

sqlite3_web/test/worker_test.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
@TestOn('browser')
2+
library;
3+
14
import 'dart:async';
25
import 'dart:js_interop';
36

0 commit comments

Comments
 (0)