some fixes

This commit is contained in:
gitea
2025-11-06 15:09:41 +01:00
parent f8aa20eb5c
commit d68124d975
13 changed files with 152 additions and 102 deletions
@@ -2,7 +2,6 @@ import 'dart:async';
import 'package:flutter_test/flutter_test.dart';
import 'package:app_boilerplate/ui/relay_management/relay_management_controller.dart';
import 'package:app_boilerplate/data/nostr/nostr_service.dart';
import 'package:app_boilerplate/data/nostr/models/nostr_relay.dart';
import 'package:app_boilerplate/data/sync/sync_engine.dart';
import 'package:app_boilerplate/data/local/local_storage_service.dart';
import 'package:path/path.dart' as path;
@@ -141,7 +140,7 @@ void main() {
// Swallow any unhandled errors - connection failures are expected
},
);
// Verify the health check completed
expect(controller.isCheckingHealth, isFalse);
// Relay should still be in the list (even if disconnected)
@@ -157,10 +156,10 @@ void main() {
final result = await controllerWithoutSync.triggerManualSync();
expect(result, isFalse);
expect(controllerWithoutSync.error, isNotNull);
expect(controllerWithoutSync.error, contains('Sync engine not configured'));
expect(
controllerWithoutSync.error, contains('Sync engine not configured'));
controllerWithoutSync.dispose();
});
});
}
@@ -3,7 +3,6 @@ import 'package:flutter_test/flutter_test.dart';
import 'package:app_boilerplate/ui/relay_management/relay_management_screen.dart';
import 'package:app_boilerplate/ui/relay_management/relay_management_controller.dart';
import 'package:app_boilerplate/data/nostr/nostr_service.dart';
import 'package:app_boilerplate/data/nostr/models/nostr_relay.dart';
import 'package:app_boilerplate/data/sync/sync_engine.dart';
import 'package:app_boilerplate/data/local/local_storage_service.dart';
import 'package:path/path.dart' as path;
@@ -72,7 +71,8 @@ void main() {
}
group('RelayManagementScreen', () {
testWidgets('displays empty state when no relays', (WidgetTester tester) async {
testWidgets('displays empty state when no relays',
(WidgetTester tester) async {
await tester.pumpWidget(createTestWidget());
expect(find.text('No relays configured'), findsOneWidget);
@@ -95,7 +95,8 @@ void main() {
expect(find.text('Disconnected'), findsNWidgets(2));
});
testWidgets('adds relay when Add button is pressed', (WidgetTester tester) async {
testWidgets('adds relay when Add button is pressed',
(WidgetTester tester) async {
await tester.pumpWidget(createTestWidget());
// Find and enter relay URL
@@ -131,7 +132,8 @@ void main() {
expect(find.byIcon(Icons.error), findsOneWidget);
});
testWidgets('removes relay when delete button is pressed', (WidgetTester tester) async {
testWidgets('removes relay when delete button is pressed',
(WidgetTester tester) async {
controller.addRelay('wss://relay.example.com');
await tester.pumpWidget(createTestWidget());
await tester.pump();
@@ -159,14 +161,16 @@ void main() {
expect(find.byIcon(Icons.health_and_safety), findsOneWidget);
});
testWidgets('displays manual sync button when sync engine is configured', (WidgetTester tester) async {
testWidgets('displays manual sync button when sync engine is configured',
(WidgetTester tester) async {
await tester.pumpWidget(createTestWidget());
expect(find.text('Manual Sync'), findsOneWidget);
expect(find.byIcon(Icons.sync), findsOneWidget);
});
testWidgets('shows loading state during health check', (WidgetTester tester) async {
testWidgets('shows loading state during health check',
(WidgetTester tester) async {
controller.addRelay('wss://relay.example.com');
await tester.pumpWidget(createTestWidget());
await tester.pump();
@@ -178,12 +182,13 @@ void main() {
// Check for loading indicator (may be brief)
expect(find.byType(CircularProgressIndicator), findsWidgets);
// Wait for health check to complete
await tester.pumpAndSettle();
});
testWidgets('shows error message when present', (WidgetTester tester) async {
testWidgets('shows error message when present',
(WidgetTester tester) async {
await tester.pumpWidget(createTestWidget());
// Trigger an error by adding invalid URL
@@ -198,7 +203,8 @@ void main() {
expect(find.textContaining('Invalid relay URL'), findsOneWidget);
});
testWidgets('dismisses error when close button is pressed', (WidgetTester tester) async {
testWidgets('dismisses error when close button is pressed',
(WidgetTester tester) async {
await tester.pumpWidget(createTestWidget());
// Trigger an error
@@ -234,4 +240,3 @@ void main() {
});
});
}