diff --git a/packages/camera/camera_android_camerax/CHANGELOG.md b/packages/camera/camera_android_camerax/CHANGELOG.md index 50fdf586c5e7..06f41a68a146 100644 --- a/packages/camera/camera_android_camerax/CHANGELOG.md +++ b/packages/camera/camera_android_camerax/CHANGELOG.md @@ -10,3 +10,4 @@ * Changes instance manager to allow the separate creation of identical objects. * Adds Preview and Surface classes, along with other methods needed to implement camera preview. * Adds implementation of availableCameras() +* Adds integration test to plugin. diff --git a/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart b/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart index 2b82b4bda5e4..b05d14a9cc79 100644 --- a/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart +++ b/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart @@ -2,11 +2,27 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:camera_android_camerax/camera_android_camerax.dart'; +import 'package:camera_platform_interface/camera_platform_interface.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - testWidgets('placeholder test', (WidgetTester tester) async {}); + setUpAll(() async { + CameraPlatform.instance = AndroidCameraCameraX(); + }); + + testWidgets('availableCameras only supports valid back or front cameras', + (WidgetTester tester) async { + final List availableCameras = + await CameraPlatform.instance.availableCameras(); + + for (final CameraDescription cameraDescription in availableCameras) { + expect( + cameraDescription.lensDirection, isNot(CameraLensDirection.external)); + expect(cameraDescription.sensorOrientation, anyOf(0, 90, 180, 270)); + } + }); } diff --git a/packages/camera/camera_android_camerax/pubspec.yaml b/packages/camera/camera_android_camerax/pubspec.yaml index 7f81ecbd4f71..45d5a2c66abd 100644 --- a/packages/camera/camera_android_camerax/pubspec.yaml +++ b/packages/camera/camera_android_camerax/pubspec.yaml @@ -21,6 +21,8 @@ dependencies: camera_platform_interface: ^2.2.0 flutter: sdk: flutter + integration_test: + sdk: flutter stream_transform: ^2.1.0 dev_dependencies: