Skip to content

Commit 3b1a736

Browse files
committed
Fix flaky test
1 parent 406a1dd commit 3b1a736

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

packages/react-router-dom/__tests__/data-browser-router-test.tsx

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4612,21 +4612,20 @@ function testDomRouter(
46124612
});
46134613

46144614
it("show all fetchers via useFetchers and cleans up fetchers on unmount", async () => {
4615-
let dfd1 = createDeferred();
4616-
let dfd2 = createDeferred();
4615+
let navDfd = createDeferred();
4616+
let fetchDfd1 = createDeferred();
4617+
let fetchDfd2 = createDeferred();
46174618
let router = createTestRouter(
46184619
createRoutesFromElements(
46194620
<Route path="/" element={<Parent />}>
4620-
<Route
4621-
path="/1"
4622-
loader={async () => await dfd1.promise}
4623-
element={<Comp1 />}
4624-
/>
4621+
<Route path="/1" element={<Comp1 />} />
46254622
<Route
46264623
path="/2"
4627-
loader={async () => await dfd2.promise}
4624+
loader={() => navDfd.promise}
46284625
element={<Comp2 />}
46294626
/>
4627+
<Route path="/fetch-1" loader={() => fetchDfd1.promise} />
4628+
<Route path="/fetch-2" loader={() => fetchDfd2.promise} />
46304629
</Route>
46314630
),
46324631
{
@@ -4658,7 +4657,7 @@ function testDomRouter(
46584657
1{fetcher.state}
46594658
{fetcher.data || "null"}
46604659
</p>
4661-
<button onClick={() => fetcher.load("/1")}>load</button>
4660+
<button onClick={() => fetcher.load("/fetch-1")}>load</button>
46624661
</>
46634662
);
46644663
}
@@ -4671,7 +4670,7 @@ function testDomRouter(
46714670
2{fetcher.state}
46724671
{fetcher.data || "null"}
46734672
</p>
4674-
<button onClick={() => fetcher.load("/2")}>load</button>
4673+
<button onClick={() => fetcher.load("/fetch-2")}>load</button>
46754674
</>
46764675
);
46774676
}
@@ -4718,7 +4717,7 @@ function testDomRouter(
47184717
`);
47194718

47204719
// Resolve Comp1 fetcher - UI updates
4721-
dfd1.resolve("data 1");
4720+
fetchDfd1.resolve("data 1");
47224721
await waitFor(() => screen.getByText(/data 1/));
47234722
expect(getHtml(container.querySelector("#output")!))
47244723
.toMatchInlineSnapshot(`
@@ -4761,7 +4760,7 @@ function testDomRouter(
47614760
`);
47624761

47634762
// Resolve Comp2 loader and complete navigation
4764-
dfd2.resolve("data 2");
4763+
navDfd.resolve("nav data");
47654764
await waitFor(() => screen.getByText(/2.*idle/));
47664765
expect(getHtml(container.querySelector("#output")!))
47674766
.toMatchInlineSnapshot(`
@@ -4782,8 +4781,7 @@ function testDomRouter(
47824781
</div>"
47834782
`);
47844783

4785-
// Activate Comp2 fetcher, which now officially kicks out Comp1's
4786-
// fetcher from useFetchers and reflects Comp2's fetcher
4784+
// Activate Comp2 fetcher
47874785
fireEvent.click(screen.getByText("load"));
47884786
expect(getHtml(container.querySelector("#output")!))
47894787
.toMatchInlineSnapshot(`
@@ -4805,7 +4803,8 @@ function testDomRouter(
48054803
`);
48064804

48074805
// Comp2 loader resolves with the same data, useFetchers reflects idle-done
4808-
await waitFor(() => screen.getByText(/2.*idle/));
4806+
fetchDfd2.resolve("data 2");
4807+
await waitFor(() => screen.getByText(/data 2/));
48094808
expect(getHtml(container.querySelector("#output")!))
48104809
.toMatchInlineSnapshot(`
48114810
"<div

0 commit comments

Comments
 (0)