test: add fake token storage implementation for testing purposes
This commit is contained in:
@@ -2,6 +2,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
import 'package:recipe_flutter/core/api/api_client.dart';
|
import 'package:recipe_flutter/core/api/api_client.dart';
|
||||||
import 'package:recipe_flutter/core/api/api_exception.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/data/profile_repository.dart';
|
||||||
import 'package:recipe_flutter/features/profile/domain/user_profile.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() {
|
void main() {
|
||||||
late _FakeApiClient fakeClient;
|
late _FakeApiClient fakeClient;
|
||||||
late ProviderContainer container;
|
late ProviderContainer container;
|
||||||
@@ -48,7 +64,10 @@ void main() {
|
|||||||
setUp(() {
|
setUp(() {
|
||||||
fakeClient = _FakeApiClient();
|
fakeClient = _FakeApiClient();
|
||||||
container = ProviderContainer(
|
container = ProviderContainer(
|
||||||
overrides: [apiClientProvider.overrideWithValue(fakeClient)],
|
overrides: [
|
||||||
|
apiClientProvider.overrideWithValue(fakeClient),
|
||||||
|
tokenStorageProvider.overrideWithValue(_FakeTokenStorage()),
|
||||||
|
],
|
||||||
);
|
);
|
||||||
repo = container.read(profileRepositoryProvider);
|
repo = container.read(profileRepositoryProvider);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user