angular/angularfire

FirebaseError when using fakeAsync

rgant opened this issue · 1 comments

I'm seeing Firebase: Error (auth/network-request-failed) when using fakeAsync, but success without using it. (While using the emulator on localhost during test runs.)

it('should recover email fakeAsync', fakeAsync((): void => {
  console.log('START');
  service.recoverEmail$(testOobCode).subscribe({
    error: fail,
    next: (data: RecoverEmailResults): void => {
      expect(data).withContext('RecoverEmailResults').toEqual({
        passwordResetSent: true,
        restoredEmail: testOriginalEmail,
        successful: true,
      });
    },
  });

  tick(600);
  flush(); // Makes the promises actually settle within the test lifetime.
  console.log('END');
}));

recoverEmail$ is calling checkActionCode (and applyActionCode, but it doesn't get there) from Firebase. (@angular/fire/auth wrappers, current 19.0.0 version). Best I can tell firebase just uses browser fetch, but I cannot find any reports of problems with fakeAsync and fetch (possibly due to the commonness of the word fetch in code discussions).

Full code is here: https://github.com/rgant/brainfry/tree/main/src/app/identity/recover-email

This issue does not seem to follow the issue template. Make sure you provide all the required information.