test: add fake token storage implementation for testing purposes

This commit is contained in:
Nils-Johan Gynther
2026-04-23 21:25:00 +02:00
parent 2341d05566
commit 111d196403
@@ -2,6 +2,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:recipe_flutter/core/api/api_client.dart';
import 'package:recipe_flutter/core/api/api_exception.dart';
import 'package:recipe_flutter/core/platform/platform_providers.dart';
import 'package:recipe_flutter/core/platform/token_storage.dart';
import 'package:recipe_flutter/features/profile/data/profile_repository.dart';
import 'package:recipe_flutter/features/profile/domain/user_profile.dart';
@@ -32,6 +34,20 @@ class _FakeApiClient extends ApiClient {
}
}
/// In-memory token storage — no platform channels, no SharedPreferences.
class _FakeTokenStorage implements ITokenStorage {
String? _token;
@override
Future<String?> getToken() async => _token;
@override
Future<void> saveToken(String token) async => _token = token;
@override
Future<void> deleteToken() async => _token = null;
}
void main() {
late _FakeApiClient fakeClient;
late ProviderContainer container;
@@ -48,7 +64,10 @@ void main() {
setUp(() {
fakeClient = _FakeApiClient();
container = ProviderContainer(
overrides: [apiClientProvider.overrideWithValue(fakeClient)],
overrides: [
apiClientProvider.overrideWithValue(fakeClient),
tokenStorageProvider.overrideWithValue(_FakeTokenStorage()),
],
);
repo = container.read(profileRepositoryProvider);
});