52 lines
2.0 KiB
Dart
52 lines
2.0 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/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);
|
||
});
|
||
}
|