UNPKG

@applicaster/zapp-react-native-ui-components

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

80 lines (56 loc) 1.99 kB
import { MasterCellAsyncRenderManager } from "../MasterCellAsyncRenderManager"; describe("MasterCellAsyncRenderManager", () => { it("run callback for 1 async element", () => { // setup const callback = jest.fn(); const manager = new MasterCellAsyncRenderManager(callback); // run manager.start(); // verify expect(callback).not.toBeCalled(); manager.emitAsyncElementRegistrate(); expect(callback).not.toBeCalled(); manager.emitAsyncElementLayout(); expect(callback).toBeCalled(); }); it("run callback for 2 async element", () => { // setup const callback = jest.fn(); const manager = new MasterCellAsyncRenderManager(callback); // run manager.start(); // verify expect(callback).not.toBeCalled(); manager.emitAsyncElementRegistrate(); manager.emitAsyncElementRegistrate(); expect(callback).not.toBeCalled(); manager.emitAsyncElementLayout(); manager.emitAsyncElementLayout(); expect(callback).toBeCalled(); }); it("run callback when cell_layout happens(zero async elements)", () => { // setup const callback = jest.fn(); const manager = new MasterCellAsyncRenderManager(callback); // run manager.start(); expect(callback).not.toBeCalled(); // verify manager.onCellLayout(); expect(callback).toBeCalled(); }); it("should return decrementAsyncElementRegistrationCount, call decrementAsyncElementRegistrationCount should decrement count", () => { // setup const callback = jest.fn(); const manager = new MasterCellAsyncRenderManager(callback); // run manager.start(); // verify expect(callback).not.toBeCalled(); const unsubscribe = manager.emitAsyncElementRegistrate(); expect(manager.asyncElementRegistrationCount).toBe(1); expect(unsubscribe).toBe(manager.decrementAsyncElementRegistrationCount); unsubscribe(); expect(manager.asyncElementRegistrationCount).toBe(0); }); });