Files
moxxy/test/migrations_test.dart

58 lines
1.3 KiB
Dart

import 'package:logging/logging.dart';
import 'package:moxxyv2/service/database/migration.dart';
import 'package:test/test.dart';
import 'helpers/logging.dart';
void main() {
initLogger();
group('runMigrations', () {
test('The consumed list must always be ordered', () async {
var counter = 1;
await runMigrations<int>(
Logger('TestLogger'),
1,
[
DatabaseMigration(4, (_) async {
expect(counter, 3);
counter++;
}),
DatabaseMigration(2, (_) async {
expect(counter, 1);
counter++;
}),
DatabaseMigration(3, (_) async {
expect(counter, 2);
counter++;
}),
],
1,
);
});
test('Run only relevant migrations', () async {
var counter = 2;
await runMigrations<int>(
Logger('TestLogger'),
1,
[
DatabaseMigration(4, (_) async {
expect(counter, 3);
counter++;
}),
DatabaseMigration(2, (_) async {
// This must never be called
expect(true, false);
}),
DatabaseMigration(3, (_) async {
expect(counter, 2);
counter++;
}),
],
2,
);
});
});
}