Files
platforms/apps/user_app/test/ui/wallet_page_test.dart

52 lines
2.0 KiB
Dart
Raw Normal View History

// 功能描述钱包隐私开关、真实空错状态、账单筛选和详情版本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/wallet_page.dart';
import 'package:user_app/ui/features/wallet/wallet_bills_page.dart';
import '../support/a1_fixture.dart';
void main() {
testWidgets('金额隐藏覆盖余额与最近账单,账单失败可独立重试', (tester) async {
final repo = A1FixtureRepository()..fail = true;
await tester.pumpWidget(
MaterialApp(
theme: AppTheme.light(),
home: WalletPage(repository: repo),
),
);
await tester.pumpAndSettle();
expect(find.text('¥568.00'), findsOneWidget);
await tester.tap(find.byTooltip('隐藏金额'));
await tester.pumpAndSettle();
expect(find.text('¥568.00'), findsNothing);
await tester.scrollUntilVisible(
find.text('账单加载失败,点击重试'),
250,
scrollable: find.byType(Scrollable).first,
);
await tester.pumpAndSettle();
repo.fail = false;
await tester.tap(find.text('账单加载失败,点击重试'));
await tester.pumpAndSettle();
expect(find.text('-¥228.00'), findsNothing);
expect(find.text('气瓶订单'), findsOneWidget);
});
testWidgets('账单筛选只显示对应方向并能查看记账详情', (tester) async {
await tester.pumpWidget(
MaterialApp(
theme: AppTheme.light(),
home: WalletBillsPage(repository: A1FixtureRepository()),
),
);
await tester.pumpAndSettle();
await tester.tap(find.text('收入'));
await tester.pumpAndSettle();
expect(find.text('气瓶订单'), findsNothing);
expect(find.text('+¥59.00'), findsOneWidget);
await tester.tap(find.text('退款入账'));
await tester.pumpAndSettle();
expect(find.text('记账后余额¥568.00'), findsOneWidget);
});
}