diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6878d53 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +# Files and directories created by pub +.dart_tool/ +.packages +# Remove the following pattern if you wish to check in your lock file +pubspec.lock + +# Conventional directory for build outputs +build/ + +# Directory created by dartdoc +doc/api/ + +.flutter-plugins diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..687440b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +## 1.0.0 + +- Initial version, created by Stagehand diff --git a/README.md b/README.md new file mode 100644 index 0000000..aa61eb0 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +A library for Dart developers. + +Created from templates made available by Stagehand under a BSD-style +[license](https://github.com/dart-lang/stagehand/blob/master/LICENSE). + +## Usage + +A simple usage example: + +```dart +import 'package:google_sign_in_mocks/google_sign_in_mocks.dart'; + +main() { + final googleSignIn = MockGoogleSignIn(); + final signinAccount = await googleSignIn.signIn(); + final signinAuthentication = await signinAccount.authentication; +} +``` + +## Features and bugs + +Please file feature requests and bugs at the [issue tracker][tracker]. + +[tracker]: http://example.com/issues/replaceme diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..a686c1b --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,14 @@ +# Defines a default set of lint rules enforced for +# projects at Google. For details and rationale, +# see https://github.com/dart-lang/pedantic#enabled-lints. +include: package:pedantic/analysis_options.yaml + +# For lint rules and documentation, see http://dart-lang.github.io/linter/lints. +# Uncomment to specify additional rules. +# linter: +# rules: +# - camel_case_types + +analyzer: +# exclude: +# - path/to/excluded/files/** diff --git a/lib/google_sign_in_mocks.dart b/lib/google_sign_in_mocks.dart new file mode 100644 index 0000000..1ef6bf5 --- /dev/null +++ b/lib/google_sign_in_mocks.dart @@ -0,0 +1,8 @@ +/// Support for doing something awesome. +/// +/// More dartdocs go here. +library google_sign_in_mocks; + +export 'src/google_sign_in_mocks_base.dart'; + +// TODO: Export any libraries intended for clients of this package. diff --git a/lib/src/google_sign_in_mocks_base.dart b/lib/src/google_sign_in_mocks_base.dart new file mode 100644 index 0000000..ea7ad27 --- /dev/null +++ b/lib/src/google_sign_in_mocks_base.dart @@ -0,0 +1,18 @@ +import 'package:google_sign_in/google_sign_in.dart'; +import 'package:mockito/mockito.dart'; + +class MockGoogleSignIn extends Mock implements GoogleSignIn { + @override + Future signIn() { + return Future.value(MockGoogleSignInAccount()); + } +} + +class MockGoogleSignInAccount extends Mock implements GoogleSignInAccount { + @override + Future get authentication => + Future.value(MockGoogleSignInAuthentication()); +} + +class MockGoogleSignInAuthentication extends Mock + implements GoogleSignInAuthentication {} diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..6c9082c --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,20 @@ +name: google_sign_in_mocks +description: A starting point for Dart libraries or applications. +# version: 1.0.0 +# homepage: https://www.example.com +# author: Anh Tuan Nguyen + +environment: + sdk: '>=2.2.0 <3.0.0' + +dependencies: + flutter: + sdk: flutter + google_sign_in: ^4.0.11 + mockito: ^4.1.0 + +dev_dependencies: + flutter_test: + sdk: flutter + pedantic: ^1.0.0 + test: ^1.0.0 diff --git a/test/google_sign_in_mocks_test.dart b/test/google_sign_in_mocks_test.dart new file mode 100644 index 0000000..31dd45d --- /dev/null +++ b/test/google_sign_in_mocks_test.dart @@ -0,0 +1,11 @@ +import 'package:google_sign_in_mocks/google_sign_in_mocks.dart'; +import 'package:test/test.dart'; + +void main() { + test('Basic test', () async { + final googleSignIn = MockGoogleSignIn(); + final signinAccount = await googleSignIn.signIn(); + final signinAuthentication = await signinAccount.authentication; + expect(signinAuthentication, isNotNull); + }); +}