yumi-flutter/test/account_storage_session_test.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);
});
}