| 1 | import 'package:cake_wallet/generated/i18n.dart'; |
| 2 | import 'package:cake_wallet/src/screens/seed/seed_verification/seed_verification_page.dart'; |
| 3 | import 'package:flutter_test/flutter_test.dart'; |
| 4 | |
| 5 | import '../components/common_test_cases.dart'; |
| 6 | |
| 7 | class SeedVerificationPageRobot { |
| 8 | SeedVerificationPageRobot(this.tester) : commonTestCases = CommonTestCases(tester); |
| 9 | |
| 10 | final WidgetTester tester; |
| 11 | final CommonTestCases commonTestCases; |
| 12 | |
| 13 | Future<void> isSeedVerificationPage() async { |
| 14 | await commonTestCases.isSpecificPage<SeedVerificationPage>(); |
| 15 | await commonTestCases.takeScreenshots('seed_verification_page'); |
| 16 | } |
| 17 | |
| 18 | void hasTitle() { |
| 19 | commonTestCases.hasText(S.current.verify_seed); |
| 20 | } |
| 21 | |
| 22 | Future<void> verifyWalletSeeds() async { |
| 23 | final seedVerificationPage = |
| 24 | tester.widget<SeedVerificationPage>(find.byType(SeedVerificationPage)); |
| 25 | |
| 26 | final walletSeedViewModel = seedVerificationPage.walletSeedViewModel; |
| 27 | |
| 28 | while (!walletSeedViewModel.isVerificationComplete && |
| 29 | walletSeedViewModel.verificationWordCount != 0) { |
| 30 | final currentCorrectWord = walletSeedViewModel.currentCorrectWord; |
| 31 | |
| 32 | commonTestCases.hasTextAtLestOnce(currentCorrectWord); |
| 33 | |
| 34 | await commonTestCases.tapItemByKey( |
| 35 | 'seed_verification_option_${currentCorrectWord}_button_key', |
| 36 | ); |
| 37 | |
| 38 | await commonTestCases.defaultSleepTime(seconds: 1); |
| 39 | } |
| 40 | |
| 41 | await commonTestCases.tapItemByKey('wallet_seed_page_open_wallet_button_key'); |
| 42 | |
| 43 | await commonTestCases.defaultSleepTime(); |
| 44 | } |
| 45 | } |