drift/extras/integration_tests/web/test/integration_test.dart

46 lines
945 B
Dart
Raw Normal View History

2019-07-24 14:32:45 -07:00
@TestOn('browser')
import 'dart:html';
import 'package:tests/tests.dart';
import 'package:test/test.dart';
import 'package:moor/moor_web.dart';
class WebExecutor extends TestExecutor {
final String name = 'db';
2019-07-24 14:32:45 -07:00
@override
DatabaseConnection createConnection() {
return DatabaseConnection.fromExecutor(WebDatabase(name));
2019-07-24 14:32:45 -07:00
}
@override
Future deleteData() {
window.localStorage.clear();
return Future.value();
}
}
class WebExecutorIndexedDb extends TestExecutor {
@override
DatabaseConnection createConnection() {
return DatabaseConnection.fromExecutor(
WebDatabase.withStorage(MoorWebStorage.indexedDb('foo')),
);
}
@override
Future deleteData() async {
await window.indexedDB.deleteDatabase('moor_databases');
}
}
2019-07-24 14:32:45 -07:00
void main() {
group('using local storage', () {
runAllTests(WebExecutor());
});
group('using IndexedDb', () {
runAllTests(WebExecutorIndexedDb());
});
2019-07-24 14:32:45 -07:00
}