From a9d609200dd163adf73e7bcb544cfdd05659d1e9 Mon Sep 17 00:00:00 2001 From: Oleg Novosad Date: Mon, 11 Jul 2022 12:27:27 +0300 Subject: [PATCH 1/4] Fixed setting up mocks with the new firebase_core_platform_interface version --- CHANGELOG.md | 2 ++ lib/src/set_up_mocks.dart | 26 +------------------------ pubspec.lock | 41 +++++++++++++++++++++++---------------- pubspec.yaml | 8 ++++---- 4 files changed, 31 insertions(+), 46 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 667900e..66b1cc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +## 0.3.3 +* Fixed setting up mocks with the new firebase_core_platform_interface version ## 0.3.2 * fix and test MockFirebaseDatabase.instance.ref() ## 0.3.1 diff --git a/lib/src/set_up_mocks.dart b/lib/src/set_up_mocks.dart index 812627d..796c24a 100644 --- a/lib/src/set_up_mocks.dart +++ b/lib/src/set_up_mocks.dart @@ -6,29 +6,5 @@ void setupFirebaseMocks() { TestWidgetsFlutterBinding.ensureInitialized(); // ignore: invalid_use_of_visible_for_testing_member - MethodChannelFirebase.channel.setMockMethodCallHandler((call) async { - if (call.method == 'Firebase#initializeCore') { - return [ - { - 'name': defaultFirebaseAppName, - 'options': { - 'apiKey': '123', - 'appId': '123', - 'messagingSenderId': '123', - 'projectId': '123', - }, - 'pluginConstants': {}, - } - ]; - } - - if (call.method == 'Firebase#initializeApp') { - return { - 'name': call.arguments['appName'], - 'options': call.arguments['options'], - 'pluginConstants': {}, - }; - } - return null; - }); + setupFirebaseCoreMocks(); } diff --git a/pubspec.lock b/pubspec.lock index 50923b3..8b5d111 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -28,7 +28,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.1" + version: "2.8.2" boolean_selector: dependency: transitive description: @@ -63,7 +63,7 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.2.0" charcode: dependency: transitive description: @@ -98,7 +98,7 @@ packages: name: collection url: "https://pub.dartlang.org" source: hosted - version: "1.15.0" + version: "1.16.0" convert: dependency: transitive description: @@ -126,7 +126,7 @@ packages: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.0" file: dependency: transitive description: @@ -147,35 +147,35 @@ packages: name: firebase_core_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "4.2.2" + version: "4.4.3" firebase_core_web: dependency: transitive description: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted - version: "1.5.2" + version: "1.6.6" firebase_database: dependency: "direct main" description: name: firebase_database url: "https://pub.dartlang.org" source: hosted - version: "9.0.3" + version: "9.0.18" firebase_database_platform_interface: dependency: transitive description: name: firebase_database_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "0.2.0+2" + version: "0.2.1+10" firebase_database_web: dependency: transitive description: name: firebase_database_web url: "https://pub.dartlang.org" source: hosted - version: "0.2.0+2" + version: "0.2.0+17" fixnum: dependency: transitive description: @@ -218,7 +218,7 @@ packages: name: js url: "https://pub.dartlang.org" source: hosted - version: "0.6.3" + version: "0.6.4" lints: dependency: transitive description: @@ -239,7 +239,14 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.10" + version: "0.12.11" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.4" meta: dependency: transitive description: @@ -253,7 +260,7 @@ packages: name: mockito url: "https://pub.dartlang.org" source: hosted - version: "5.0.16" + version: "5.2.0" package_config: dependency: transitive description: @@ -267,7 +274,7 @@ packages: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" plugin_platform_interface: dependency: transitive description: @@ -300,7 +307,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" stack_trace: dependency: transitive description: @@ -335,7 +342,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.2" + version: "0.4.9" typed_data: dependency: transitive description: @@ -349,7 +356,7 @@ packages: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.2" watcher: dependency: transitive description: @@ -365,5 +372,5 @@ packages: source: hosted version: "3.1.0" sdks: - dart: ">=2.14.0 <3.0.0" + dart: ">=2.17.0-0 <3.0.0" flutter: ">=1.20.0" diff --git a/pubspec.yaml b/pubspec.yaml index 8835bdc..99639c4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: firebase_database_mocks description: Fakes to write unit tests for FirebaseDatabase (real-time database). -version: 0.3.2 +version: 0.3.3 repository: https://github.com/sitatec/firebase_database_mocks.git homepage: https://github.com/sitatec/firebase_database_mocks.git @@ -14,9 +14,9 @@ environment: dependencies: flutter: sdk: flutter - firebase_database: ^9.0.3 + firebase_database: ^9.0.18 flutter_lints: ^1.0.4 - mockito: ^5.0.16 - firebase_core_platform_interface: ^4.2.2 + mockito: ^5.2.0 + firebase_core_platform_interface: ^4.4.3 flutter_test: sdk: flutter From c37c14472e13a006f420edefd49f279e4efa6d8f Mon Sep 17 00:00:00 2001 From: Oleg Novosad Date: Wed, 20 Jul 2022 17:00:42 +0300 Subject: [PATCH 2/4] Updated per code review. Fixed some lint issues. --- CHANGELOG.md | 2 + pubspec.lock | 61 ++++++++++++-------------- pubspec.yaml | 9 ++-- test/mock_database_reference_test.dart | 3 +- 4 files changed, 36 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66b1cc0..f18665f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ## 0.3.3 * Fixed setting up mocks with the new firebase_core_platform_interface version +* Updated dependencies +* Fix some lint issues ## 0.3.2 * fix and test MockFirebaseDatabase.instance.ref() ## 0.3.1 diff --git a/pubspec.lock b/pubspec.lock index 8b5d111..f1afa3c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,21 +7,21 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "31.0.0" + version: "41.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "2.8.0" + version: "4.2.0" args: dependency: transitive description: name: args url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.3.1" async: dependency: transitive description: @@ -42,7 +42,7 @@ packages: name: build url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.3.0" built_collection: dependency: transitive description: @@ -56,7 +56,7 @@ packages: name: built_value url: "https://pub.dartlang.org" source: hosted - version: "8.1.3" + version: "8.4.0" characters: dependency: transitive description: @@ -71,13 +71,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.3.1" - cli_util: - dependency: transitive - description: - name: cli_util - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.5" clock: dependency: transitive description: @@ -105,21 +98,21 @@ packages: name: convert url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.0.2" crypto: dependency: transitive description: name: crypto url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.0.2" dart_style: dependency: transitive description: name: dart_style url: "https://pub.dartlang.org" source: hosted - version: "2.2.0" + version: "2.2.3" fake_async: dependency: transitive description: @@ -140,7 +133,7 @@ packages: name: firebase_core url: "https://pub.dartlang.org" source: hosted - version: "1.10.5" + version: "1.19.2" firebase_core_platform_interface: dependency: "direct main" description: @@ -154,49 +147,49 @@ packages: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted - version: "1.6.6" + version: "1.7.0" firebase_database: dependency: "direct main" description: name: firebase_database url: "https://pub.dartlang.org" source: hosted - version: "9.0.18" + version: "9.0.19" firebase_database_platform_interface: dependency: transitive description: name: firebase_database_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "0.2.1+10" + version: "0.2.1+11" firebase_database_web: dependency: transitive description: name: firebase_database_web url: "https://pub.dartlang.org" source: hosted - version: "0.2.0+17" + version: "0.2.1" fixnum: dependency: transitive description: name: fixnum url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.0.1" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" flutter_lints: - dependency: "direct main" + dependency: "direct dev" description: name: flutter_lints url: "https://pub.dartlang.org" source: hosted - version: "1.0.4" + version: "2.0.1" flutter_test: - dependency: "direct main" + dependency: "direct dev" description: flutter source: sdk version: "0.0.0" @@ -211,7 +204,7 @@ packages: name: glob url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.0" js: dependency: transitive description: @@ -225,7 +218,7 @@ packages: name: lints url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "2.0.0" logging: dependency: transitive description: @@ -255,7 +248,7 @@ packages: source: hosted version: "1.7.0" mockito: - dependency: "direct main" + dependency: "direct dev" description: name: mockito url: "https://pub.dartlang.org" @@ -267,7 +260,7 @@ packages: name: package_config url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.0" path: dependency: transitive description: @@ -281,14 +274,14 @@ packages: name: plugin_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.2" pub_semver: dependency: transitive description: name: pub_semver url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.1" sky_engine: dependency: transitive description: flutter @@ -300,7 +293,7 @@ packages: name: source_gen url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.2" source_span: dependency: transitive description: @@ -349,7 +342,7 @@ packages: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" vector_math: dependency: transitive description: @@ -370,7 +363,7 @@ packages: name: yaml url: "https://pub.dartlang.org" source: hosted - version: "3.1.0" + version: "3.1.1" sdks: - dart: ">=2.17.0-0 <3.0.0" + dart: ">=2.17.0 <3.0.0" flutter: ">=1.20.0" diff --git a/pubspec.yaml b/pubspec.yaml index 99639c4..a2e7dfd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,9 +14,12 @@ environment: dependencies: flutter: sdk: flutter - firebase_database: ^9.0.18 - flutter_lints: ^1.0.4 - mockito: ^5.2.0 + firebase_database: ^9.0.19 firebase_core_platform_interface: ^4.4.3 + +dev_dependencies: flutter_test: sdk: flutter + + flutter_lints: ^2.0.1 + mockito: ^5.2.0 diff --git a/test/mock_database_reference_test.dart b/test/mock_database_reference_test.dart index 504e8e1..e43057f 100644 --- a/test/mock_database_reference_test.dart +++ b/test/mock_database_reference_test.dart @@ -1,6 +1,5 @@ import 'package:firebase_database_mocks/firebase_database_mocks.dart'; import 'package:firebase_database_mocks/src/mock_database_reference.dart'; -import 'package:firebase_database_mocks/src/set_up_mocks.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { @@ -19,7 +18,7 @@ void main() { }); test("Should get reference using the deprecated reference() method", () { expect( - MockFirebaseDatabase.instance.reference().child("deprecated").path, + MockFirebaseDatabase.instance.ref().child("deprecated").path, MockDatabaseReference().child("deprecated").path, ); }); From 62cd4dd4a6c6b11768c320b75f80b146d632f886 Mon Sep 17 00:00:00 2001 From: Oleg Novosad Date: Sun, 24 Jul 2022 11:34:53 +0300 Subject: [PATCH 3/4] Updated main.yaml - Use the latest stable flutter - Changed `runs-on` from `macos-latest` to `ubuntu-latest` to minimize actions time spent as macos minute is treated as 10 ubuntu minutes --- .github/workflows/main.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e0a7d37..73e4b9d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,7 +18,7 @@ jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on - runs-on: macos-latest + runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: @@ -30,7 +30,9 @@ jobs: # Runs a single command using the runners shell - name: Install Flutter - uses: subosito/flutter-action@v1 + uses: subosito/flutter-action@v2 + with: + channel: 'stable' - name: Install dependencies run: flutter pub get From e5982df05415ff31c22109a0472076dba915fde7 Mon Sep 17 00:00:00 2001 From: Oleg Novosad Date: Sun, 24 Jul 2022 15:45:44 +0300 Subject: [PATCH 4/4] Updated per PR comment from @sitatec --- test/mock_database_reference_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/mock_database_reference_test.dart b/test/mock_database_reference_test.dart index e43057f..fe369aa 100644 --- a/test/mock_database_reference_test.dart +++ b/test/mock_database_reference_test.dart @@ -18,7 +18,7 @@ void main() { }); test("Should get reference using the deprecated reference() method", () { expect( - MockFirebaseDatabase.instance.ref().child("deprecated").path, + MockFirebaseDatabase.instance.reference().child("deprecated").path, MockDatabaseReference().child("deprecated").path, ); });