goose_test 0.1.0
goose_test: ^0.1.0 copied to clipboard
A testing library which makes it easy to test migrations. Built to be used with the Goose migration package.
import 'package:goose/goose.dart';
import 'package:goose_test/goose_test.dart';
import 'package:test/test.dart';
class MyMigration extends Migration {
MyMigration(this.storage)
: super('my_migration', description: 'A simple migration');
final Map<String, dynamic> storage;
@override
Future<void> down() async => storage.clear();
@override
Future<void> up() async => storage['migrated'] = true;
}
void main() {
group('MyMigration', () {
late Map<String, dynamic> storage;
setUp(() => storage = {});
testMigration(
'executes correctly',
create: () => MyMigration(storage),
verifyUp: (_) => expect(storage['migrated'], isTrue),
verifyDown: (_) => expect(storage.isEmpty, isTrue),
);
});
}