UNPKG

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

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

110 lines (89 loc) 2.66 kB
import { parseTime, getAutoplaySettings } from "../utils"; describe("parseTime", () => { it("should return the parsed time in seconds", () => { expect(parseTime("01:30")).toBe(90); expect(parseTime("00:45")).toBe(45); expect(parseTime("10:00")).toBe(600); }); it("should throw error for invalid time formats", () => { const error = "Invalid time format"; expect(() => parseTime("")).toThrow(error); expect(() => parseTime("abc")).toThrow(error); expect(() => parseTime("12")).toThrow(error); expect(() => parseTime(":12")).toThrow(error); expect(() => parseTime("00:60")).toThrow(error); expect(() => parseTime("-10:00")).toThrow(error); }); }); describe("getAutoplaySettings", () => { it("should return the autoplay settings with parsed start and end times", () => { const item = { extensions: { autoplay_settings: { start_time: "01:30", end_time: "02:00", }, }, }; const { start, end } = getAutoplaySettings(item); expect(start).toBe(90); expect(end).toBe(120); }); it("should return null for missing start or end times", () => { const item = { extensions: { autoplay_settings: { start_time: "01:30", }, }, }; const { start, end } = getAutoplaySettings(item); expect(start).toBe(90); expect(end).toBeNull(); }); it("should return null for invalid start or end times", () => { const item = { extensions: { autoplay_settings: { start_time: "abc", end_time: "def", }, }, }; const { start, end } = getAutoplaySettings(item); expect(start).toBeNull(); expect(end).toBeNull(); }); it("should return null end time if start time greater than end time", () => { const item = { extensions: { autoplay_settings: { start_time: "02:00", end_time: "01:30", }, }, }; const { start, end } = getAutoplaySettings(item); expect(start).toBe(120); expect(end).toBeNull(); }); it("should return null end time if start time equal to end time", () => { const item = { extensions: { autoplay_settings: { start_time: "00:30", end_time: "00:30", }, }, }; const { start, end } = getAutoplaySettings(item); expect(start).toBe(30); expect(end).toBeNull(); }); it("should return null for missing autoplay settings", () => { const item = {}; const result = getAutoplaySettings(item); expect(result.start).toBeNull(); expect(result.end).toBeNull(); }); });