39 lines
1.4 KiB
Dart
39 lines
1.4 KiB
Dart
import 'package:drift/native.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:plezy/database/app_database.dart';
|
|
import 'package:plezy/services/data_aggregation_service.dart';
|
|
import 'package:plezy/services/multi_server_manager.dart';
|
|
|
|
/// Smoke tests for the surviving cross-server aggregation surface on
|
|
/// [DataAggregationService]. Single-server passthroughs were removed in
|
|
/// favour of `context.tryGetMediaClientForServer(...).<method>()`; what's
|
|
/// left here is the multi-client fan-out, which is testable without a
|
|
/// real backend by simply asserting the empty-state behaviour.
|
|
void main() {
|
|
late AppDatabase db;
|
|
late MultiServerManager manager;
|
|
late DataAggregationService service;
|
|
|
|
setUp(() {
|
|
db = AppDatabase.forTesting(NativeDatabase.memory());
|
|
manager = MultiServerManager();
|
|
service = DataAggregationService(manager);
|
|
});
|
|
|
|
tearDown(() async {
|
|
manager.dispose();
|
|
await db.close();
|
|
});
|
|
|
|
group('DataAggregationService cross-server aggregation', () {
|
|
test('getMediaLibrariesFromAllServers returns empty when no clients connected', () async {
|
|
expect(await service.getMediaLibrariesFromAllServers(), isEmpty);
|
|
});
|
|
|
|
test('searchAcrossServers and getOnDeckFromAllServers return empty when no clients', () async {
|
|
expect(await service.searchAcrossServers('hello'), isEmpty);
|
|
expect(await service.getOnDeckFromAllServers(), isEmpty);
|
|
});
|
|
});
|
|
}
|