2

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());
                      },
                    );
                  },
                );
              }),
            ),
          ],
        ),```

0 Answers0