41 lines
1.3 KiB
Dart
41 lines
1.3 KiB
Dart
import 'package:dio/dio.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:jinzhi_flutter_app/features/auth/data/auth_api.dart';
|
|
import 'package:jinzhi_flutter_app/models/pb/jinzhi/v1/account.pb.dart' as pb;
|
|
|
|
void main() {
|
|
test('keeps the verified one-key login contract', () async {
|
|
String? requestToken;
|
|
final dio = Dio()
|
|
..interceptors.add(
|
|
InterceptorsWrapper(
|
|
onRequest: (options, handler) {
|
|
requestToken = pb.VerifyOneKeyLoginRequest.fromBuffer(
|
|
options.data as List<int>,
|
|
).loginToken;
|
|
handler.resolve(
|
|
Response<List<int>>(
|
|
requestOptions: options,
|
|
statusCode: 200,
|
|
data: pb.VerifySmsCodeReply(
|
|
accessToken: 'access-token',
|
|
user: pb.UserInfo(
|
|
id: 'user-1',
|
|
phone: '13800138000',
|
|
createdAt: '2026-09-08T00:00:00Z',
|
|
),
|
|
).writeToBuffer(),
|
|
),
|
|
);
|
|
},
|
|
),
|
|
);
|
|
|
|
final result = await AuthApi(dio).verifyOneKeyLogin('umeng-token');
|
|
|
|
expect(requestToken, 'umeng-token');
|
|
expect(result.accessToken, 'access-token');
|
|
expect(result.user.phone, '13800138000');
|
|
});
|
|
}
|