Line data Source code
1 : import 'dart:async';
2 :
3 : import 'package:firebase_core/firebase_core.dart';
4 : import 'package:redfire/types.dart';
5 :
6 : import '../../firebase/mocks/firebase_test_doubles.mocks.dart';
7 :
8 : /// A fake wrapper that by default returns a [Future<FirebaseAppMock>] when
9 : /// [FirebaseWrapperFake.init] is called or, if a completer was passed in,
10 : /// returns the [Future] of the completer.
11 : class FakeFirebaseWrapper implements FirebaseWrapper {
12 : final Completer<FirebaseApp>? _completer;
13 :
14 0 : FakeFirebaseWrapper({Completer<FirebaseApp>? completer})
15 : : _completer = completer;
16 :
17 0 : @override
18 : Future<FirebaseApp> init(FirebaseOptions? options) {
19 0 : return (_completer != null)
20 0 : ? _completer!.future
21 0 : : Future.value(MockFirebaseApp());
22 : }
23 : }
|