32 lines
996 B
Dart
32 lines
996 B
Dart
// Author: fruit.com.cn
|
|
|
|
import 'package:fruitshorts/core/data/remote/api_client.dart';
|
|
import 'package:fruitshorts/core/data/remote/config_api.dart';
|
|
import 'package:fruitshorts/core/data/services/app_config_controller.dart';
|
|
|
|
/// 直接 pump 登录页的测试需要 App 配置 Provider。
|
|
///
|
|
/// 只用内存里的结论、不发真实请求:widget 测试的 fake-async 下等待 dio
|
|
/// 的 HTTP 请求会挂住,所以这里换掉 [ConfigApi] 的实现。
|
|
Future<AppConfigController> fakeAppConfigController({
|
|
String loginBackgroundUrl = '',
|
|
}) async {
|
|
final controller = AppConfigController(
|
|
_FakeConfigApi(loginBackgroundUrl),
|
|
);
|
|
await controller.load();
|
|
return controller;
|
|
}
|
|
|
|
class _FakeConfigApi extends ConfigApi {
|
|
_FakeConfigApi(this.loginBackgroundUrl)
|
|
: super(ApiClient(baseUrl: 'http://127.0.0.1:1'));
|
|
|
|
final String loginBackgroundUrl;
|
|
|
|
@override
|
|
Future<Map<String, dynamic>> appConfig() async => {
|
|
'loginBackgroundUrl': loginBackgroundUrl,
|
|
};
|
|
}
|