27 lines
828 B
Dart
27 lines
828 B
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
import 'package:yumi/shared/data_sources/sources/local/data_persistence.dart';
|
|
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
|
|
|
|
void main() {
|
|
TestWidgetsFlutterBinding.ensureInitialized();
|
|
|
|
tearDown(() {
|
|
DataPersistence.reset();
|
|
});
|
|
|
|
test('corrupted cached user session is ignored and cleared', () async {
|
|
SharedPreferences.setMockInitialValues({
|
|
'token': 'stale-token',
|
|
'currentUser': '{bad json',
|
|
});
|
|
await DataPersistence.initialize();
|
|
|
|
expect(AccountStorage().getCurrentUser(), isNull);
|
|
await Future<void>.delayed(Duration.zero);
|
|
|
|
expect(DataPersistence.getToken(), isEmpty);
|
|
expect(DataPersistence.getCurrentUser(), isEmpty);
|
|
});
|
|
}
|