Files
biz_xfj_cloud/test/common/app_network_tool_test.dart
T
2026-09-04 18:57:29 +08:00

45 lines
1.4 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:pj_supermarket_cloud/common/index.dart';
void main() {
final ossBase = Constants.ossUrl.replaceFirst(RegExp(r'/+$'), '');
test('服务端图片完整地址保持不变', () {
const source = 'https://cdn.example.com/evidence/face.png';
expect(AppNetworkTool.serverImageUrl(source), source);
});
test('文件中心相对地址补齐网关前缀', () {
const source = '/admin/sys-file/oss/file?fileName=evidence.png';
expect(
AppNetworkTool.serverImageUrl(source),
'$ossBase/admin/sys-file/oss/file?fileName=evidence.png',
);
});
test('已经携带 API 部署前缀的相对地址不会重复拼接', () {
const source = '/api/admin/sys-file/oss/file?fileName=evidence.png';
expect(
AppNetworkTool.serverImageUrl(source),
'${Uri.parse(Constants.ossUrl).origin}$source',
);
});
test('纯 OSS 文件名通过标准图片接口访问并正确编码', () {
const source = 'receipt/voucher 1.png';
final resolved = Uri.parse(AppNetworkTool.serverImageUrl(source));
expect(resolved.origin, Uri.parse(Constants.ossUrl).origin);
expect(
resolved.path,
'${Uri.parse(Constants.ossUrl).path.replaceFirst(RegExp(r'/+$'), '')}'
'/admin/sys-file/oss/file',
);
expect(resolved.queryParameters['fileName'], source);
});
}