Files
ReelShort/test/support/fake_app_config.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,
};
}