41 lines
1.5 KiB
Dart
41 lines
1.5 KiB
Dart
// 功能描述:提现页面真实校验、二次确认和状态语义测试;版本:1.0.0。
|
||
import 'package:flutter/material.dart';
|
||
import 'package:flutter_test/flutter_test.dart';
|
||
import 'package:user_app/ui/core/app_theme.dart';
|
||
import 'package:user_app/ui/features/wallet/withdrawal_page.dart';
|
||
|
||
import '../support/a1_fixture.dart';
|
||
|
||
void main() {
|
||
testWidgets('提现展示真实可提余额并在二次确认后提交', (tester) async {
|
||
final repo = A1FixtureRepository();
|
||
await tester.pumpWidget(
|
||
MaterialApp(
|
||
theme: AppTheme.light(),
|
||
home: WithdrawalPage(repository: repo),
|
||
),
|
||
);
|
||
await tester.pumpAndSettle();
|
||
expect(find.text('¥568.00'), findsOneWidget);
|
||
await tester.enterText(find.byKey(const Key('withdrawal-amount')), '50');
|
||
await tester.scrollUntilVisible(
|
||
find.text('支付密码验证'),
|
||
260,
|
||
scrollable: find.byType(Scrollable).first,
|
||
);
|
||
await tester.enterText(find.byKey(const Key('withdrawal-password')), '123456');
|
||
await tester.scrollUntilVisible(
|
||
find.text('提交提现申请'),
|
||
260,
|
||
scrollable: find.byType(Scrollable).first,
|
||
);
|
||
await tester.tap(find.text('提交提现申请'));
|
||
await tester.pumpAndSettle();
|
||
expect(find.text('确认提现申请'), findsOneWidget);
|
||
await tester.tap(find.text('确认提交'));
|
||
await tester.pumpAndSettle();
|
||
expect(repo.withdrawalCalls, 1);
|
||
expect(find.textContaining('提现申请已提交'), findsOneWidget);
|
||
});
|
||
}
|