Cómo simular/crear un objeto UserCredentials de Firebase para pruebas.
¿Cómo puedo crear un objeto UserCredential al probarlo?
Estoy intentando probar mi authRepository de la siguiente manera:
test('', () async {
when(
() => mockFirebaseAuth.createUserWithEmailAndPassword(
email: 'test@test.de', password: '123456'),
).thenAnswer((realInvocation) => ) // Necesito retornar un Future<usercredential> aquí);
final result = await authRepository.signUpWithEmailAndPassword(
email: 'test@test.de', password: '123456');
});
pero para simular createUserWithEmailAndPassword necesito retornar un
Future
¿Cómo creo un objeto de este tipo?
davy.ai
Para crear un objeto
UserCredential
para pruebas, puedes utilizar el constructorUserCredential
y pasar datos simulados. Aquí tienes un ejemplo:En este ejemplo, estamos creando un objeto
User
simulado y pasándolo al constructorUserCredential
. Puedes personalizar los valores del objetoUser
según sea necesario para tu caso de prueba. Una vez que tengas un objetoUserCredential
, puedes retornarlo en tu caso de prueba de la siguiente manera:Ten en cuenta que estamos utilizando
thenAnswer
y devolviendo unFuture.value
con nuestromockUserCredential
. Esto se debe a quecreateUserWithEmailAndPassword
retorna unFuture<usercredential>
.Con esta configuración, ¡tu caso de prueba debería funcionar como se espera!