[firebase_analytics] Initial integration test (#1492)
Initial integration test for firebase_analytics
diff --git a/packages/firebase_analytics/CHANGELOG.md b/packages/firebase_analytics/CHANGELOG.md
index cc9ad66..a2942b6 100644
--- a/packages/firebase_analytics/CHANGELOG.md
+++ b/packages/firebase_analytics/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.1+3
+
+* Added an initial integration test.
+
## 2.1.1+2
* Fixed errors in code sample for `FirebaseAnalyticsObserver`.
diff --git a/packages/firebase_analytics/example/pubspec.yaml b/packages/firebase_analytics/example/pubspec.yaml
index 2139deb..299dabe 100755
--- a/packages/firebase_analytics/example/pubspec.yaml
+++ b/packages/firebase_analytics/example/pubspec.yaml
@@ -8,6 +8,13 @@
path: ../
firebase_core: ^0.3.0
+dev_dependencies:
+ flutter_test:
+ sdk: flutter
+ flutter_driver:
+ sdk: flutter
+ test: any
+
# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec
diff --git a/packages/firebase_analytics/example/test_driver/firebase_analytics.dart b/packages/firebase_analytics/example/test_driver/firebase_analytics.dart
new file mode 100644
index 0000000..40f9942
--- /dev/null
+++ b/packages/firebase_analytics/example/test_driver/firebase_analytics.dart
@@ -0,0 +1,38 @@
+// Copyright 2019, the Chromium project authors. Please see the AUTHORS file
+// for details. 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:async';
+import 'dart:io';
+import 'package:flutter_driver/driver_extension.dart';
+import 'package:flutter_test/flutter_test.dart';
+import 'package:firebase_analytics/firebase_analytics.dart';
+
+void main() {
+ final Completer<String> completer = Completer<String>();
+ enableFlutterDriverExtension(handler: (_) => completer.future);
+ tearDownAll(() => completer.complete(null));
+
+ group('$FirebaseAnalytics', () {
+ FirebaseAnalytics analytics;
+
+ setUp(() {
+ analytics = FirebaseAnalytics();
+ });
+
+ test('Android-only functionality', () async {
+ if (Platform.isIOS) {
+ expect(analytics.android, isNull);
+ }
+ if (Platform.isAndroid) {
+ await analytics.android.setMinimumSessionDuration(9000);
+ }
+ });
+
+ test('logging', () async {
+ expect(analytics.setAnalyticsCollectionEnabled(true), completes);
+ expect(analytics.setCurrentScreen(screenName: 'testing'), completes);
+ expect(analytics.logEvent(name: 'testing'), completes);
+ });
+ });
+}
diff --git a/packages/firebase_analytics/example/test_driver/firebase_analytics_test.dart b/packages/firebase_analytics/example/test_driver/firebase_analytics_test.dart
new file mode 100644
index 0000000..db46258
--- /dev/null
+++ b/packages/firebase_analytics/example/test_driver/firebase_analytics_test.dart
@@ -0,0 +1,11 @@
+// Copyright 2019, the Chromium project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:flutter_driver/flutter_driver.dart';
+
+Future<void> main() async {
+ final FlutterDriver driver = await FlutterDriver.connect();
+ await driver.requestData(null, timeout: const Duration(minutes: 1));
+ driver.close();
+}
diff --git a/packages/firebase_analytics/pubspec.yaml b/packages/firebase_analytics/pubspec.yaml
index c3e2b25..843ecf7 100755
--- a/packages/firebase_analytics/pubspec.yaml
+++ b/packages/firebase_analytics/pubspec.yaml
@@ -3,7 +3,7 @@
solution that provides insight on app usage and user engagement on Android and iOS.
author: Flutter Team <flutter-dev@googlegroups.com>
homepage: https://github.com/flutter/plugins/tree/master/packages/firebase_analytics
-version: 2.1.1+2
+version: 2.1.1+3
flutter:
plugin:
@@ -22,6 +22,8 @@
flutter_test:
sdk: flutter
firebase_core: ^0.3.0
+ flutter_driver:
+ sdk: flutter
environment:
sdk: ">=2.0.0-dev.28.0 <3.0.0"