Skip to content

Commit ea14185

Browse files
committed
test(core): missing test for connectFactoryObservable
1 parent ce05cf3 commit ea14185

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

packages/core/src/bind/connectFactoryObservable.test.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,30 @@ describe("connectFactoryObservable", () => {
402402

403403
expect(errorCallback).not.toHaveBeenCalled()
404404
})
405+
406+
it("does not resubscribe to an observable that emits synchronously and that does not have a top-level subscription after a re-render", () => {
407+
let nTopSubscriptions = 0
408+
409+
const [useNTopSubscriptions] = bind((id: number) =>
410+
defer(() => {
411+
return of(++nTopSubscriptions + id)
412+
}),
413+
)
414+
415+
const { result, rerender, unmount } = renderHook(() =>
416+
useNTopSubscriptions(0),
417+
)
418+
419+
expect(result.current).toBe(2)
420+
421+
actHook(() => {
422+
rerender()
423+
})
424+
expect(result.current).toBe(2)
425+
expect(nTopSubscriptions).toBe(2)
426+
427+
unmount()
428+
})
405429
})
406430

407431
describe("observable", () => {

0 commit comments

Comments
 (0)