feat(client/invite): 邀请页真实化(邀请区+战绩+TG 任务卡)+ 六语 l10n
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:pangolin_vpn/l10n/strings_en.dart';
|
||||
import 'package:pangolin_vpn/screens/invite_page.dart';
|
||||
import 'package:pangolin_vpn/services/invite_api.dart';
|
||||
import 'package:pangolin_vpn/state/invite_provider.dart';
|
||||
|
||||
import '../helpers/harness.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('邀请页显示真实码 + 战绩 + TG 任务卡', (tester) async {
|
||||
const info = InviteInfo(code: 'ABCD2345', link: 'https://x/i/ABCD2345',
|
||||
invited: 3, converted: 1, earnedDays: 16, tgEnabled: true, tgJoined: false, channel: '@pangolin_app');
|
||||
await tester.binding.setSurfaceSize(const Size(400, 1200));
|
||||
addTearDown(() => tester.binding.setSurfaceSize(null));
|
||||
await tester.pumpWidget(wrapThemed(
|
||||
InviteScreen(t: StringsEn()),
|
||||
overrides: [inviteProvider.overrideWith(() => _FakeNotifier(info))],
|
||||
));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text('ABCD2345'), findsOneWidget);
|
||||
expect(find.text('Join channel'), findsOneWidget); // TG 任务卡
|
||||
});
|
||||
}
|
||||
|
||||
class _FakeNotifier extends InviteNotifier {
|
||||
_FakeNotifier(this._v);
|
||||
final InviteInfo _v;
|
||||
@override
|
||||
Future<InviteInfo?> build() async => _v;
|
||||
}
|
||||
Reference in New Issue
Block a user