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