@applicaster/zapp-react-native-ui-components
Version:
Applicaster Zapp React Native ui components for the Quick Brick App
82 lines (62 loc) • 1.99 kB
text/typescript
const { LiveImageManager } = require("../LiveImageManager");
describe("LiveImageManager", () => {
it("should subscribe to LiveImageManager events", () => {
const sampleListener = {
id: "1",
listener: {},
};
LiveImageManager.instance.addListener(sampleListener);
expect(LiveImageManager.instance.listeners["1"]).toEqual(
sampleListener.listener
);
});
it("should unsubscribe from LiveImageManager events with unsubscribe callback", () => {
const sampleListener = {
id: "1",
listener: {},
};
const unsubscribe = LiveImageManager.instance.addListener(sampleListener);
expect(LiveImageManager.instance.listeners["1"]).toEqual(
sampleListener.listener
);
unsubscribe();
expect(LiveImageManager.instance.listeners["1"]).not.toBeDefined();
});
it("should unsubscribe from LiveImageManager events with removeListener", () => {
const sampleListener = {
id: "1",
listener: {},
};
LiveImageManager.instance.addListener(sampleListener);
expect(LiveImageManager.instance.listeners["1"]).toEqual(
sampleListener.listener
);
LiveImageManager.instance.removeListener("1");
expect(LiveImageManager.instance.listeners["1"]).not.toBeDefined();
});
it("should invoke subscription on LiveImageManager events with invokeListenersUpdate", () => {
const mockOnEnd1 = jest.fn();
const mockOnEnd2 = jest.fn();
LiveImageManager.instance.addListener({
id: "1",
listener: {
onEnd: mockOnEnd1,
},
});
LiveImageManager.instance.addListener({
id: "2",
listener: {
onEnd: mockOnEnd2,
},
});
const eventBody = {
playerId: "000",
};
LiveImageManager.instance.invokeListenersUpdate({
callbackName: "onEnd",
event: eventBody,
});
expect(mockOnEnd1).toHaveBeenCalledWith(eventBody);
expect(mockOnEnd2).toHaveBeenCalledWith(eventBody);
});
});