From ea14185628e3a5c489a59ec72ffbeb7143647ce4 Mon Sep 17 00:00:00 2001 From: Josep M Sobrepere Date: Thu, 15 Oct 2020 01:23:54 +0200 Subject: [PATCH] test(core): missing test for connectFactoryObservable --- .../bind/connectFactoryObservable.test.tsx | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/core/src/bind/connectFactoryObservable.test.tsx b/packages/core/src/bind/connectFactoryObservable.test.tsx index 6122c15c..48cc24a8 100644 --- a/packages/core/src/bind/connectFactoryObservable.test.tsx +++ b/packages/core/src/bind/connectFactoryObservable.test.tsx @@ -402,6 +402,30 @@ describe("connectFactoryObservable", () => { expect(errorCallback).not.toHaveBeenCalled() }) + + it("does not resubscribe to an observable that emits synchronously and that does not have a top-level subscription after a re-render", () => { + let nTopSubscriptions = 0 + + const [useNTopSubscriptions] = bind((id: number) => + defer(() => { + return of(++nTopSubscriptions + id) + }), + ) + + const { result, rerender, unmount } = renderHook(() => + useNTopSubscriptions(0), + ) + + expect(result.current).toBe(2) + + actHook(() => { + rerender() + }) + expect(result.current).toBe(2) + expect(nTopSubscriptions).toBe(2) + + unmount() + }) }) describe("observable", () => {