89 lines
2.7 KiB
Dart
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,
|
|
);
|
|
});
|
|
});
|
|
}
|