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);
|
|||
|
|
});
|
|||
|
|
}
|