Files
platforms/apps/user_app/test/data/recharge_agreement_test.dart

46 lines
1.7 KiB
Dart
Raw Permalink Normal View History

// 功能描述充值协议按实际版本提交并校验确认结果版本1.0.0。
import 'dart:convert';
import 'package:flutter_test/flutter_test.dart';
import 'package:http/http.dart' as http;
import 'package:http/testing.dart';
import 'package:user_app/data/repositories/client_repository.dart';
import 'package:user_app/data/services/api_client.dart';
import 'package:user_app/domain/models/recharge.dart';
import 'package:user_app/domain/models/client_models.dart';
class _Repo extends ClientRepository {
_Repo(super.api);
@override
Future<UserProfile> profile() async =>
const UserProfile(identity: 'alice', name: '', phone: '', avatar: '');
}
void main() {
test('确认使用稳定账号版本请求号,拒绝错误版本响应', () async {
var version = 2;
final repo = _Repo(
ApiClient(
() => 'token',
client: MockClient((request) async {
expect(request.method, 'POST');
expect(request.url.path, '/heqi/client/v1/user/contents/read-confirmations');
final body = jsonDecode(request.body) as Map;
expect(body['content_version'], 2);
expect(body['request_no'], 'consent:alice:agreement:2');
return http.Response(
jsonEncode({
'code': 0,
'details': {'identity': 'read', 'content_version': version},
}),
200,
);
}),
),
);
const agreement = RechargeAgreement('agreement', 2, '充值协议', '正文');
await repo.confirmRechargeAgreement(agreement);
version = 3;
await expectLater(repo.confirmRechargeAgreement(agreement), throwsA(isA<ApiException>()));
});
}