Skip to content

FirebaseError when using fakeAsync #3615

Open
@rgant

Description

@rgant

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions