I am getting this error in widget testing.
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_facebook_auth/flutter_facebook_auth.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:islandconnect/src/blocs/facebooksignin/facebooksignin_bloc.dart';
import 'package:islandconnect/src/blocs/googlesignin/googlesignin_bloc.dart';
import 'package:islandconnect/src/repository/facebookauth_repo/facebook_repositiory.dart';
import 'package:islandconnect/src/repository/facebookauth_repo/faecbook_signin.dart';
import 'package:islandconnect/src/repository/googleauth_repo/authentication_repository.dart';
import 'package:islandconnect/src/repository/googleauth_repo/providers/firebase_auth_provider.dart';
import 'package:islandconnect/src/repository/googleauth_repo/providers/google_sign_in.dart';
import 'package:islandconnect/src/screens/auth/signin_screen.dart';
void main() {
testWidgets('WIDGET-TEST : sign-in test', (tester) async {
await tester.pumpWidget(TestSignInWidget());
expect(find.byType(Scaffold), findsOneWidget);
});
}
class TestSignInWidget extends StatefulWidget {
const TestSignInWidget({Key? key}) : super(key: key);
@override
_TestSignInWidgetState createState() => _TestSignInWidgetState();
}
class _TestSignInWidgetState extends State<TestSignInWidget> {
@override
void initState() {
initFirebase();
super.initState();
}
initFirebase() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
}
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider(
create: (context) => GooglesigninBloc(
AuthenticationRepository(
FirebaseAuthenticationProvider(FirebaseAuth.instance),
GoogleSignInProvider(GoogleSignIn()),
),
),
),
BlocProvider(
create: (context) => FacebooksigninBloc(
FacebookAuthenticationRepository(
FirebaseAuthenticationProvider(FirebaseAuth.instance),
FacebookSignInProvider(FacebookAuth.instance),
),
),
),
],
child: MaterialApp(
home: SignInScreen(),
),
);
}
}
** EXCEPTION CAUGHT BY WIDGETS LIBRARY The following FirebaseException was thrown building Builder: [core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()
The relevant error-causing widget was: Builder**
It shows me an error for this code.
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Builder(builder: (context) {
return BlocConsumer<GooglesigninBloc, GooglesigninState>(
listener: (context, state) async {
if (state is GooglesigninSuccess) {
await UserPreference.setGoogleLogin(true);
await UserPreference.setUserLogin(true);
Utils.NavigatePushReplacement(
context, BottomNavigationScreen());
} else if (state is GooglesigninFailed) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(state.message),
),
);
}
},
buildWhen: (current, next) {
if (next is GooglesigninSuccess) {
return false;
}
return true;
},
builder: (context, state) {
if (state is GooglesigninInitial ||
state is GooglesigninFailed) {
return GoogleFacebookButton(
imagePath: StringsConst.googleLogo,
width: width,
height: height,
text: "Google",
onTap: () {
BlocProvider.of<GooglesigninBloc>(context)
.add(GoogleAuthenticationStarted());
},
);
} else if (state is GooglesigninLoading) {
return GoogleFacebookButton(
imagePath: StringsConst.googleLogo,
width: width,
height: height,
text: "Google",
onTap: () {},
isloading: true,
);
}
return GoogleFacebookButton(
imagePath: StringsConst.googleLogo,
text: "Google",
width: width,
height: height,
onTap: () {
BlocProvider.of<GooglesigninBloc>(context)
.add(GoogleAuthenticationStarted());
},
);
},
);
}),
),
SizedBox(width: width * 0.02),
Expanded(
child: Builder(builder: (context) {
return BlocConsumer<FacebooksigninBloc, FacebooksigninState>(
listener: (context, state) async {
if (state is FacebooksigninSuccess) {
await UserPreference.setFacebookLogin(true);
await UserPreference.setUserLogin(true);
Utils.NavigatePushReplacement(
context, BottomNavigationScreen());
} else if (state is FacebooksigninFailed) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(state.message),
),
);
}
},
buildWhen: (current, next) {
if (next is FacebooksigninSuccess) {
return false;
}
return true;
},
builder: (context, state) {
if (state is FacebooksigninInitial ||
state is FacebooksigninFailed) {
return GoogleFacebookButton(
width: width,
height: height,
imagePath: StringsConst.facebookLogo,
text: "Facebook",
onTap: () {
BlocProvider.of<FacebooksigninBloc>(context)
.add(FacebookAuthenticationStarted());
},
);
} else if (state is FacebooksigninLoading) {
return GoogleFacebookButton(
onTap: () {},
width: width,
height: height,
imagePath: StringsConst.facebookLogo,
text: "Facebook",
isloading: true,
);
}
return GoogleFacebookButton(
width: width,
height: height,
imagePath: StringsConst.facebookLogo,
text: "Facebook",
onTap: () {
BlocProvider.of<FacebooksigninBloc>(context)
.add(FacebookAuthenticationStarted());
},
);
},
);
}),
),
],
),```