Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

FirebaseError when using fakeAsync

未關閉
#3,615 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 3 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
35/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
angular, firebase, typescript

研究方向

從提供的 recover-email 程式碼及其 fakeAsync 測試開始,然後檢查 localhost 模擬器執行時 recoverEmail$ 如何到達 Firebase Auth checkActionCode。使用 tick(600) 和 flush(); 重現此失敗;完成表示測試在 fakeAsync 下成功完成,且沒有出現 auth/network-request-failed。

由索引模型根據 Issue 內容生成。

描述

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

主要語言
TypeScript
星號
7.8k
分支
2.2k
平均合併
3 天 2 小時
30 天內合併 PR
13

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

angular/angularfire 的其他 Issue

查看 angular/angularfire 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。