dev
dart 46 lines 1.75 KB
Raw
1 import 'package:cake_wallet/generated/i18n.dart';
2 import 'package:cake_wallet/src/screens/exchange_trade/exchange_confirm_page.dart';
3 import 'package:flutter/services.dart';
4 import 'package:flutter_test/flutter_test.dart';
5
6 import '../components/common_test_cases.dart';
7
8 class ExchangeConfirmPageRobot {
9 ExchangeConfirmPageRobot(this.tester) : commonTestCases = CommonTestCases(tester);
10
11 final WidgetTester tester;
12 late CommonTestCases commonTestCases;
13
14 Future<void> isExchangeConfirmPage() async {
15 await commonTestCases.isSpecificPage<ExchangeConfirmPage>();
16 await commonTestCases.takeScreenshots('exchange_confirm_page');
17 }
18
19 void confirmComponentsOfTradeDisplayProperly() {
20 final ExchangeConfirmPage exchangeConfirmPage = tester.widget(find.byType(ExchangeConfirmPage));
21 final trade = exchangeConfirmPage.trade;
22
23 commonTestCases.hasText(trade.id);
24 commonTestCases.hasText('${trade.provider.title} ${S.current.trade_id}');
25
26 commonTestCases.hasValueKey('exchange_confirm_page_saved_id_button_key');
27 commonTestCases.hasValueKey('exchange_confirm_page_copy_to_clipboard_button_key');
28 }
29
30 Future<void> confirmCopyTradeIdToClipBoardWorksProperly() async {
31 final ExchangeConfirmPage exchangeConfirmPage = tester.widget(find.byType(ExchangeConfirmPage));
32 final trade = exchangeConfirmPage.trade;
33
34 await commonTestCases.tapItemByKey('exchange_confirm_page_copy_to_clipboard_button_key');
35
36 ClipboardData? clipboardData = await Clipboard.getData('text/plain');
37
38 expect(clipboardData?.text, trade.id);
39 }
40
41 Future<void> onSavedTradeIdButtonPressed() async {
42 await tester.pumpAndSettle();
43 await commonTestCases.defaultSleepTime();
44 await commonTestCases.tapItemByKey('exchange_confirm_page_saved_id_button_key');
45 }
46 }