UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

55 lines (45 loc) 1.94 kB
import { getPlayerActionButtons } from "../getPlayerActionButtons"; import { selectActionButtons } from "../../conf/player/selectors"; jest.mock("../../conf/player/selectors", () => ({ selectActionButtons: jest.fn(), })); describe("getPlayerActionButtons", () => { afterEach(() => { jest.clearAllMocks(); }); it("returns an empty array if selectActionButtons returns undefined", () => { (selectActionButtons as jest.Mock).mockReturnValue(undefined); const result = getPlayerActionButtons({}); expect(result).toEqual([]); }); it("returns an empty array if selectActionButtons returns null", () => { (selectActionButtons as jest.Mock).mockReturnValue(null); const result = getPlayerActionButtons({}); expect(result).toEqual([]); }); it("returns an empty array if selectActionButtons returns empty string", () => { (selectActionButtons as jest.Mock).mockReturnValue(""); const result = getPlayerActionButtons({}); expect(result).toEqual([]); }); it("returns the first two trimmed action buttons", () => { (selectActionButtons as jest.Mock).mockReturnValue(" play , pause , stop "); const result = getPlayerActionButtons({}); expect(result).toEqual(["play", "pause"]); }); it("returns only one button if only one is present", () => { (selectActionButtons as jest.Mock).mockReturnValue(" play "); const result = getPlayerActionButtons({}); expect(result).toEqual(["play"]); }); it("trims whitespace from button names", () => { (selectActionButtons as jest.Mock).mockReturnValue(" play , pause "); const result = getPlayerActionButtons({}); expect(result).toEqual(["play", "pause"]); }); it("returns an empty array if selectActionButtons returns only commas", () => { (selectActionButtons as jest.Mock).mockReturnValue(" , , "); const result = getPlayerActionButtons({}); expect(result).toEqual(["", ""]); }); });