Files
plezy/test/screens/startup_bind_recovery_test.dart
T
2026-05-23 16:00:00 +02:00

89 lines
2.7 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:plezy/main.dart';
import 'package:plezy/screens/main_screen.dart';
void main() {
group('startup bind recovery', () {
test('enters offline mode only when initial bind failed with no online servers', () {
expect(shouldEnterOfflineModeAfterStartupBind(bindingSucceeded: false, hasOnlineServers: false), isTrue);
expect(shouldEnterOfflineModeAfterStartupBind(bindingSucceeded: true, hasOnlineServers: false), isFalse);
expect(shouldEnterOfflineModeAfterStartupBind(bindingSucceeded: false, hasOnlineServers: true), isFalse);
});
test('retries active profile bind when reconnect has no visible servers', () {
expect(
shouldRetryActiveProfileBindAfterReconnect(
hasActiveProfile: true,
hasVisibleConnectedServers: false,
hasManagerOnlineServers: true,
hasKnownOfflineServers: false,
),
isTrue,
);
expect(
shouldRetryActiveProfileBindAfterReconnect(
hasActiveProfile: true,
hasVisibleConnectedServers: false,
hasManagerOnlineServers: false,
hasKnownOfflineServers: false,
),
isTrue,
);
expect(
shouldRetryActiveProfileBindAfterReconnect(
hasActiveProfile: true,
hasVisibleConnectedServers: true,
hasManagerOnlineServers: true,
hasKnownOfflineServers: false,
),
isFalse,
);
expect(
shouldRetryActiveProfileBindAfterReconnect(
hasActiveProfile: false,
hasVisibleConnectedServers: false,
hasManagerOnlineServers: true,
hasKnownOfflineServers: false,
),
isFalse,
);
expect(
shouldRetryActiveProfileBindAfterReconnect(
hasActiveProfile: true,
hasVisibleConnectedServers: false,
hasManagerOnlineServers: false,
hasKnownOfflineServers: true,
),
isFalse,
);
});
test('explicit offline startup stays offline until a visible server connects', () {
expect(
shouldRenderMainScreenOffline(
providerOffline: false,
startupOfflineUntilConnected: true,
hasVisibleConnectedServers: false,
),
isTrue,
);
expect(
shouldRenderMainScreenOffline(
providerOffline: false,
startupOfflineUntilConnected: true,
hasVisibleConnectedServers: true,
),
isFalse,
);
expect(
shouldRenderMainScreenOffline(
providerOffline: true,
startupOfflineUntilConnected: false,
hasVisibleConnectedServers: true,
),
isTrue,
);
});
});
}