From c0877f61df0a983accdf112817b47caed283913a Mon Sep 17 00:00:00 2001 From: Miguel Beltran Date: Fri, 30 Oct 2020 13:40:20 +0100 Subject: [PATCH 1/3] refactor(all): move e2e tests to example/test_driver and update docs --- CONTRIBUTING.md | 14 ++++++++------ .../{test => example/test_driver}/battery_e2e.dart | 0 packages/battery_plus/test/battery_test.dart | 1 + .../test_driver/{test => }/connectivity_e2e.dart | 0 .../{test => }/connectivity_e2e_test.dart | 0 .../test_driver/{test => }/sensors_e2e_test.dart | 0 .../test_driver/{test => }/share_e2e_test.dart | 0 7 files changed, 9 insertions(+), 6 deletions(-) rename packages/battery_plus/{test => example/test_driver}/battery_e2e.dart (100%) rename packages/connectivity_plus/example/test_driver/{test => }/connectivity_e2e.dart (100%) rename packages/connectivity_plus/example/test_driver/{test => }/connectivity_e2e_test.dart (100%) rename packages/sensors_plus/example/test_driver/{test => }/sensors_e2e_test.dart (100%) rename packages/share_plus/example/test_driver/{test => }/share_e2e_test.dart (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5ea960b74a..44707c2c92 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,7 +56,7 @@ To run an example, run the `flutter run` command from the `example` directory of directory. For example, for `sensors_plus` example: ```bash -cd packages/sensors_plus/sensors_plus/example +cd packages/sensors_plus/example flutter run ``` @@ -75,25 +75,27 @@ interact with 3rd party services, and mock where possible. To run unit tests for with the following commands: ```bash -cd packages/sensors_plus/sensors_plus_platform_interface +cd packages/sensors_plus flutter test ``` ### End-to-end (e2e) tests -E2e tests are those which directly communicate with Flutter, whose results cannot be mocked. These tests run directly from -an example application. To run e2e tests, run the `flutter drive` command from the plugins main `example` directory, targeting the +E2e tests are those which directly communicate with Flutter, whose results cannot be mocked. **These tests run directly from +an example application.** + +To run e2e tests, run the `flutter drive` command from the plugins main `example` directory, targeting the entry e2e test file. ```bash -cd packages/sensors_plus/sensors_plus/example +cd packages/sensors_plus/example flutter drive --target=./test_driver/sensors_plus_e2e.dart ``` To run tests against web environments, run the command as a release build: ```bash -cd packages/sensors_plus/sensors_plus/example +cd packages/sensors_plus/example flutter drive --target=./test_driver/sensors_plus_e2e.dart --release -d chrome ``` diff --git a/packages/battery_plus/test/battery_e2e.dart b/packages/battery_plus/example/test_driver/battery_e2e.dart similarity index 100% rename from packages/battery_plus/test/battery_e2e.dart rename to packages/battery_plus/example/test_driver/battery_e2e.dart diff --git a/packages/battery_plus/test/battery_test.dart b/packages/battery_plus/test/battery_test.dart index c58f47819a..2dc7e15a33 100644 --- a/packages/battery_plus/test/battery_test.dart +++ b/packages/battery_plus/test/battery_test.dart @@ -43,6 +43,7 @@ void main() { tearDown(() { controller.close(); }); + test('receive values', () async { final StreamQueue queue = StreamQueue(battery.onBatteryStateChanged); diff --git a/packages/connectivity_plus/example/test_driver/test/connectivity_e2e.dart b/packages/connectivity_plus/example/test_driver/connectivity_e2e.dart similarity index 100% rename from packages/connectivity_plus/example/test_driver/test/connectivity_e2e.dart rename to packages/connectivity_plus/example/test_driver/connectivity_e2e.dart diff --git a/packages/connectivity_plus/example/test_driver/test/connectivity_e2e_test.dart b/packages/connectivity_plus/example/test_driver/connectivity_e2e_test.dart similarity index 100% rename from packages/connectivity_plus/example/test_driver/test/connectivity_e2e_test.dart rename to packages/connectivity_plus/example/test_driver/connectivity_e2e_test.dart diff --git a/packages/sensors_plus/example/test_driver/test/sensors_e2e_test.dart b/packages/sensors_plus/example/test_driver/sensors_e2e_test.dart similarity index 100% rename from packages/sensors_plus/example/test_driver/test/sensors_e2e_test.dart rename to packages/sensors_plus/example/test_driver/sensors_e2e_test.dart diff --git a/packages/share_plus/example/test_driver/test/share_e2e_test.dart b/packages/share_plus/example/test_driver/share_e2e_test.dart similarity index 100% rename from packages/share_plus/example/test_driver/test/share_e2e_test.dart rename to packages/share_plus/example/test_driver/share_e2e_test.dart From bcd8d5c1ef63365e875d609d37f5c5187c2ae1f5 Mon Sep 17 00:00:00 2001 From: Miguel Beltran Date: Mon, 2 Nov 2020 09:54:39 +0100 Subject: [PATCH 2/3] fixes --- .../test/connectivity_e2e.dart | 41 ------------------- .../test_driver}/sensors_e2e.dart | 0 .../test_driver/share_e2e.dart} | 0 3 files changed, 41 deletions(-) delete mode 100644 packages/connectivity_plus/test/connectivity_e2e.dart rename packages/sensors_plus/{test => example/test_driver}/sensors_e2e.dart (100%) rename packages/share_plus/{test/share_test.dart => example/test_driver/share_e2e.dart} (100%) diff --git a/packages/connectivity_plus/test/connectivity_e2e.dart b/packages/connectivity_plus/test/connectivity_e2e.dart deleted file mode 100644 index a5839fcd0f..0000000000 --- a/packages/connectivity_plus/test/connectivity_e2e.dart +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:io'; -import 'package:integration_test/integration_test.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:connectivity_plus/connectivity_plus.dart'; - -void main() { - IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - - group('Connectivity test driver', () { - Connectivity _connectivity; - - setUpAll(() async { - _connectivity = Connectivity(); - }); - - testWidgets('test connectivity result', (WidgetTester tester) async { - final ConnectivityResult result = await _connectivity.checkConnectivity(); - expect(result, isNotNull); - switch (result) { - case ConnectivityResult.wifi: - expect(_connectivity.getWifiName(), completes); - expect(_connectivity.getWifiBSSID(), completes); - expect((await _connectivity.getWifiIP()), isNotNull); - break; - default: - break; - } - }); - - testWidgets('test location methods, iOS only', (WidgetTester tester) async { - if (Platform.isIOS) { - expect((await _connectivity.getLocationServiceAuthorization()), - LocationAuthorizationStatus.notDetermined); - } - }); - }); -} diff --git a/packages/sensors_plus/test/sensors_e2e.dart b/packages/sensors_plus/example/test_driver/sensors_e2e.dart similarity index 100% rename from packages/sensors_plus/test/sensors_e2e.dart rename to packages/sensors_plus/example/test_driver/sensors_e2e.dart diff --git a/packages/share_plus/test/share_test.dart b/packages/share_plus/example/test_driver/share_e2e.dart similarity index 100% rename from packages/share_plus/test/share_test.dart rename to packages/share_plus/example/test_driver/share_e2e.dart From 6e810d4639c44a1e236fe73613bc6d4857087972 Mon Sep 17 00:00:00 2001 From: Miguel Beltran Date: Mon, 2 Nov 2020 10:05:10 +0100 Subject: [PATCH 3/3] add missing file --- .../example/test_driver/battery_e2e_test.dart | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 packages/battery_plus/example/test_driver/battery_e2e_test.dart diff --git a/packages/battery_plus/example/test_driver/battery_e2e_test.dart b/packages/battery_plus/example/test_driver/battery_e2e_test.dart new file mode 100644 index 0000000000..c0cbdcab2f --- /dev/null +++ b/packages/battery_plus/example/test_driver/battery_e2e_test.dart @@ -0,0 +1,16 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:convert'; +import 'dart:io'; +import 'package:flutter_driver/flutter_driver.dart'; + +Future main() async { + final FlutterDriver driver = await FlutterDriver.connect(); + final String data = + await driver.requestData(null, timeout: const Duration(minutes: 1)); + await driver.close(); + final Map result = jsonDecode(data); + exit(result['result'] == 'true' ? 0 : 1); +}