diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml index 32db6de..f16dcb8 100644 --- a/.github/workflows/pr_check.yml +++ b/.github/workflows/pr_check.yml @@ -63,7 +63,3 @@ jobs: bash ./.github/scripts/stub_iap.sh flutter pub get flutter analyze lib --fatal-infos - - run-integration-tests: - uses: ./.github/workflows/run_integration_tests.yml - secrets: inherit \ No newline at end of file diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml index 749db6c..ba4d6fb 100644 --- a/.github/workflows/run_integration_tests.yml +++ b/.github/workflows/run_integration_tests.yml @@ -49,7 +49,7 @@ jobs: - name: Run tests run: | flutter drive \ - --target=integration_test/e2e_test.dart \ + --target=integration_test/run_all_tests.dart \ --driver=test_driver/integration_driver.dart \ --flavor=dev \ --no-dds \ diff --git a/integration_test/README.md b/integration_test/README.md new file mode 100644 index 0000000..ebc3158 --- /dev/null +++ b/integration_test/README.md @@ -0,0 +1,18 @@ +# M3 Lightmeter integration tests + +### List of executed tests: + +- [Purchases test](integration_test/purchases_test.dart) +- [Metering screen layout test](integration_test/metering_screen_layout_test.dart) +- [e2e](integration_test/e2e_test.dart) + +### Run all tests + +```console +flutter drive \ + --target=integration_test/run_all_tests.dart \ + --driver=test_driver/integration_driver.dart \ + --flavor=dev \ + --no-dds \ + --dart-define cameraStubImage=assets/camera_stub_image.jpg +``` diff --git a/integration_test/e2e_test.dart b/integration_test/e2e_test.dart index 19cd316..39306a4 100644 --- a/integration_test/e2e_test.dart +++ b/integration_test/e2e_test.dart @@ -2,7 +2,6 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:integration_test/integration_test.dart'; import 'package:lightmeter/data/models/ev_source_type.dart'; import 'package:lightmeter/data/models/metering_screen_layout_config.dart'; import 'package:lightmeter/data/shared_prefs_service.dart'; @@ -18,15 +17,15 @@ import 'package:lightmeter/screens/settings/components/shared/dialog_filter/widg import 'package:lightmeter/screens/settings/components/shared/dialog_range_picker/widget_dialog_picker_range.dart'; import 'package:lightmeter/screens/settings/screen_settings.dart'; import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart'; +import 'package:meta/meta.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../integration_test/utils/widget_tester_actions.dart'; import 'mocks/paid_features_mock.dart'; import 'utils/expectations.dart'; -void main() { - IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - +@isTest +void testE2E(String description) { setUp(() { SharedPreferences.setMockInitialValues({ /// Metering values @@ -42,7 +41,7 @@ void main() { }); testWidgets( - 'e2e', + description, (tester) async { await tester.pumpApplication(equipmentProfiles: [], films: []); diff --git a/integration_test/run_all_tests.dart b/integration_test/run_all_tests.dart index 68f6efe..112e60e 100644 --- a/integration_test/run_all_tests.dart +++ b/integration_test/run_all_tests.dart @@ -1,5 +1,6 @@ import 'package:integration_test/integration_test.dart'; +import 'e2e_test.dart'; import 'metering_screen_layout_test.dart'; import 'purchases_test.dart'; @@ -8,4 +9,5 @@ void main() { testPurchases('Purchase & refund premium features'); testToggleLayoutFeatures('Toggle metering screen layout features'); + testE2E('e2e'); }