diff --git a/integration_test/desktop/env_manager_test.dart b/integration_test/desktop/env_manager_test.dart index b68d168c..cdd748a2 100644 --- a/integration_test/desktop/env_manager_test.dart +++ b/integration_test/desktop/env_manager_test.dart @@ -11,7 +11,11 @@ import 'package:apidash/screens/home_page/editor_pane/url_card.dart'; import '../../test/extensions/widget_tester_extensions.dart'; import '../test_helper.dart'; -void main() async { +Future main() async { + await runDesktopEnvIntegrationTest(); +} + +Future runDesktopEnvIntegrationTest() async { const environmentName = "test-env-name"; const envVarName = "test-env-var"; const envVarValue = "8700000"; diff --git a/integration_test/desktop/his_request_test.dart b/integration_test/desktop/his_request_test.dart index 41e739ea..b47fe6e7 100644 --- a/integration_test/desktop/his_request_test.dart +++ b/integration_test/desktop/his_request_test.dart @@ -8,7 +8,11 @@ import 'package:apidash/widgets/widgets.dart'; import '../../test/extensions/widget_tester_extensions.dart'; import '../test_helper.dart'; -void main() async { +Future main() async { + await runDesktopHisIntegrationTest(); +} + +Future runDesktopHisIntegrationTest() async { await ApidashTestHelper.initialize( size: Size(kExpandedWindowWidth, kMinWindowSize.height)); apidashWidgetTest("Testing History of Requests in desktop end-to-end", diff --git a/integration_test/desktop/req_editor_test.dart b/integration_test/desktop/req_editor_test.dart index 146732da..abdb24cf 100644 --- a/integration_test/desktop/req_editor_test.dart +++ b/integration_test/desktop/req_editor_test.dart @@ -7,7 +7,11 @@ import 'package:apidash/widgets/widgets.dart'; import '../../test/extensions/widget_tester_extensions.dart'; import '../test_helper.dart'; -void main() async { +Future main() async { + await runDesktopReqIntegrationTest(); +} + +Future runDesktopReqIntegrationTest() async { const reqName = "test-req-name"; const testEndpoint = "https://api.apidash.dev/humanize/social"; const paramKey = "num"; diff --git a/integration_test/mobile/env_manager_test.dart b/integration_test/mobile/env_manager_test.dart index 12d99d4b..d6544331 100644 --- a/integration_test/mobile/env_manager_test.dart +++ b/integration_test/mobile/env_manager_test.dart @@ -11,7 +11,11 @@ import 'package:apidash/screens/home_page/editor_pane/url_card.dart'; import '../../test/extensions/widget_tester_extensions.dart'; import '../test_helper.dart'; -void main() async { +Future main() async { + await runMobileEnvIntegrationTest(); +} + +Future runMobileEnvIntegrationTest() async { const environmentName = "test-env-name"; const envVarName = "test-env-var"; const envVarValue = "8700000"; @@ -73,13 +77,26 @@ void main() async { addTearDown(gesture.removePointer); await tester.pump(); - /// Check if environment variable is shown on hover - await gesture.moveTo(tester.getCenter(find.descendant( - of: find.byType(URLTextField), - matching: find.text('{{$envVarName}}')))); - await tester.pumpAndSettle(); - expect(find.text(envVarValue), findsOneWidget); - await gesture.moveBy(const Offset(0, 100)); + /// Check if environment variable is shown + if (kIsMobile) { + // TODO: Unable to get Popover to show on mobile + // await tester.tapAt(tester.getCenter(find.descendant( + // of: find.byType(URLTextField), + // matching: find.text('{{$envVarName}}')))); + // await tester.pumpAndSettle(); + // expect(find.text(envVarValue), findsOneWidget); + // await tester.tapAt(tester.getCenter(find.descendant( + // of: find.byType(URLTextField), + // matching: find.byType(WidgetSpan))) + + // const Offset(0, 100)); + } else { + await gesture.moveTo(tester.getCenter(find.descendant( + of: find.byType(URLTextField), + matching: find.text('{{$envVarName}}')))); + await tester.pumpAndSettle(); + expect(find.text(envVarValue), findsOneWidget); + await gesture.moveBy(const Offset(0, 100)); + } await Future.delayed(const Duration(milliseconds: 500)); await helper.navigateToSettings(scaffoldKey: kHomeScaffoldKey); @@ -111,12 +128,21 @@ void main() async { await helper.navigateToRequestEditor(scaffoldKey: kEnvScaffoldKey); await Future.delayed(const Duration(milliseconds: 200)); - /// Check if environment variable is now shown on hover - await gesture.moveTo(tester.getCenter(find.descendant( - of: find.byType(URLTextField), - matching: find.text('{{$envVarName}}')))); - await tester.pumpAndSettle(); - expect(find.text(unknown), findsNWidgets(2)); + /// Check if environment variable is now shown as unknown + if (kIsMobile) { + // TODO: Unable to get Popover to show on mobile + // await tester.tapAt(tester.getCenter(find.descendant( + // of: find.byType(URLTextField), + // matching: find.text('{{$envVarName}}')))); + // await tester.pumpAndSettle(); + // expect(find.text(unknown), findsNWidgets(2)); + } else { + await gesture.moveTo(tester.getCenter(find.descendant( + of: find.byType(URLTextField), + matching: find.text('{{$envVarName}}')))); + await tester.pumpAndSettle(); + expect(find.text(unknown), findsNWidgets(2)); + } await Future.delayed(const Duration(milliseconds: 500)); }); diff --git a/integration_test/mobile/his_request_test.dart b/integration_test/mobile/his_request_test.dart index 7de01ec9..c2544bc0 100644 --- a/integration_test/mobile/his_request_test.dart +++ b/integration_test/mobile/his_request_test.dart @@ -8,7 +8,11 @@ import 'package:apidash/screens/history/history_widgets/history_widgets.dart'; import '../../test/extensions/widget_tester_extensions.dart'; import '../test_helper.dart'; -void main() async { +Future main() async { + await runMobileHisIntegrationTest(); +} + +Future runMobileHisIntegrationTest() async { await ApidashTestHelper.initialize( size: Size(kCompactWindowWidth, kMinWindowSize.height)); apidashWidgetTest("Testing History of Requests in mobile end-to-end", diff --git a/integration_test/mobile/req_editor_test.dart b/integration_test/mobile/req_editor_test.dart index 032c1818..a407db3e 100644 --- a/integration_test/mobile/req_editor_test.dart +++ b/integration_test/mobile/req_editor_test.dart @@ -7,7 +7,11 @@ import 'package:apidash/widgets/widgets.dart'; import '../../test/extensions/widget_tester_extensions.dart'; import '../test_helper.dart'; -void main() async { +Future main() async { + await runMobileReqIntegrationTest(); +} + +Future runMobileReqIntegrationTest() async { const reqName = "test-req-name"; const testEndpoint = "https://api.apidash.dev/humanize/social"; const paramKey = "num"; diff --git a/integration_test/runner.dart b/integration_test/runner.dart new file mode 100644 index 00000000..a2b88c0d --- /dev/null +++ b/integration_test/runner.dart @@ -0,0 +1,22 @@ +import 'dart:io'; + +import 'desktop/env_manager_test.dart'; +import 'desktop/his_request_test.dart'; +import 'desktop/req_editor_test.dart'; +import 'mobile/env_manager_test.dart'; +import 'mobile/his_request_test.dart'; +import 'mobile/req_editor_test.dart'; + +Future main() async { + if (Platform.isLinux || Platform.isWindows || Platform.isMacOS) { + await runDesktopReqIntegrationTest(); + await runDesktopEnvIntegrationTest(); + await runDesktopHisIntegrationTest(); + } else if (Platform.isAndroid || Platform.isIOS) { + await runMobileReqIntegrationTest(); + await runMobileEnvIntegrationTest(); + await runMobileHisIntegrationTest(); + } else { + throw Exception("Unsupported Platform"); + } +}