Skip to content

Commit 1686a5d

Browse files
committed
Added an unsubscribe() test
1 parent c739413 commit 1686a5d

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

test/BranchSubscriber.test.js

+27
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,30 @@ test('does not return a cached result when none available', done => {
189189
// --- Code under test ---
190190
subscriber.subscribe()
191191
})
192+
193+
test('can unsubscribe after subscribe() is called', () => {
194+
// set up subscriber
195+
const subscriber = new BranchSubscriber({
196+
onOpenStart: jest.fn(({uri}) => {}),
197+
onOpenComplete: jest.fn(({params, error, uri}) => {}),
198+
})
199+
200+
// subscription in effect (set by calling subscribe())
201+
subscriber._subscribed = true
202+
203+
// mock removeListener call to native event emitter
204+
subscriber._nativeEventEmitter.removeListener = jest.fn((eventType, listener) => {})
205+
206+
// --- Code under test ---
207+
subscriber.unsubscribe()
208+
209+
// --- Check results ---
210+
211+
expect(subscriber._nativeEventEmitter.removeListener.mock.calls.length).toBe(3)
212+
const mockArgs = subscriber._nativeEventEmitter.removeListener.mock.calls.map(call => call[0]).sort()
213+
expect(mockArgs).toEqual([
214+
RNBranch.INIT_SESSION_ERROR,
215+
RNBranch.INIT_SESSION_START,
216+
RNBranch.INIT_SESSION_SUCCESS,
217+
])
218+
})

0 commit comments

Comments
 (0)