diff --git a/packages/firebase_messaging/CHANGELOG.md b/packages/firebase_messaging/CHANGELOG.md index 206ce3796ffa..3bdb90a57bc2 100644 --- a/packages/firebase_messaging/CHANGELOG.md +++ b/packages/firebase_messaging/CHANGELOG.md @@ -1,3 +1,7 @@ +## 5.0.6 + +* Additional integration tests. + ## 5.0.5 * On Android, fix crash when calling `deleteInstanceID` with latest Flutter engine. diff --git a/packages/firebase_messaging/example/pubspec.yaml b/packages/firebase_messaging/example/pubspec.yaml index b6f5dda32bbb..95b80ed7be0d 100644 --- a/packages/firebase_messaging/example/pubspec.yaml +++ b/packages/firebase_messaging/example/pubspec.yaml @@ -8,47 +8,12 @@ dependencies: path: ../ firebase_core: ^0.4.0 -# For information on the generic Dart part of this file, see the -# following page: https://www.dartlang.org/tools/pub/pubspec +dev_dependencies: + flutter_test: + sdk: flutter + flutter_driver: + sdk: flutter + test: any -# The following section is specific to Flutter. flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the Icons class. uses-material-design: true - - # To add assets to your application, add an assets section here, in - # this "flutter" section, as in: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # To add assets from package dependencies, first ensure the asset - # is in the lib/ directory of the dependency. Then, - # refer to the asset with a path prefixed with - # `packages/PACKAGE_NAME/`. Note: the `lib/` is implied, do not - # include `lib/` in the asset path. - # - # Here is an example: - # - # assets: - # - packages/PACKAGE_NAME/path/to/asset - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 diff --git a/packages/firebase_messaging/example/test_driver/firebase_messaging.dart b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart new file mode 100644 index 000000000000..67965b164bbb --- /dev/null +++ b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart @@ -0,0 +1,34 @@ +import 'dart:async'; +import 'package:flutter_driver/driver_extension.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:firebase_messaging/firebase_messaging.dart'; + +void main() { + final Completer completer = Completer(); + enableFlutterDriverExtension(handler: (_) => completer.future); + tearDownAll(() => completer.complete(null)); + + group('$FirebaseMessaging', () { + final FirebaseMessaging firebaseMessaging = FirebaseMessaging(); + + test('autoInitEnabled', () async { + await firebaseMessaging.setAutoInitEnabled(false); + expect(await firebaseMessaging.autoInitEnabled(), false); + await firebaseMessaging.setAutoInitEnabled(true); + expect(await firebaseMessaging.autoInitEnabled(), true); + }); + + test('subscribeToTopic', () async { + firebaseMessaging.subscribeToTopic('foo'); + }); + + test('unsubscribeFromTopic', () async { + firebaseMessaging.unsubscribeFromTopic('foo'); + }); + + test('deleteInstanceID', () async { + final bool result = await firebaseMessaging.deleteInstanceID(); + expect(result, isTrue); + }); + }); +} diff --git a/packages/firebase_messaging/example/test_driver/firebase_messaging_test.dart b/packages/firebase_messaging/example/test_driver/firebase_messaging_test.dart new file mode 100644 index 000000000000..38fe6c447e05 --- /dev/null +++ b/packages/firebase_messaging/example/test_driver/firebase_messaging_test.dart @@ -0,0 +1,7 @@ +import 'package:flutter_driver/flutter_driver.dart'; + +Future main() async { + final FlutterDriver driver = await FlutterDriver.connect(); + await driver.requestData(null, timeout: const Duration(minutes: 1)); + driver.close(); +} diff --git a/packages/firebase_messaging/pubspec.yaml b/packages/firebase_messaging/pubspec.yaml index f7fdb5b7223a..526de83602fb 100644 --- a/packages/firebase_messaging/pubspec.yaml +++ b/packages/firebase_messaging/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for Firebase Cloud Messaging, a cross-platform messaging solution that lets you reliably deliver messages on Android and iOS. author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/firebase_messaging -version: 5.0.5 +version: 5.0.6 flutter: plugin: @@ -23,6 +23,8 @@ dev_dependencies: flutter_test: sdk: flutter firebase_core: ^0.4.0 + flutter_driver: + sdk: flutter environment: sdk: ">=2.0.0-dev.28.0 <3.0.0"