UNPKG

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

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

188 lines (159 loc) 3.75 kB
import { insertButtonsBetweenLabelContainers } from ".."; describe("insertButtonsBetweenLabels - depthlevel 1", () => { const buttons = "buttons"; const labels1 = [ { name: "label_1" }, { name: "label_2" }, { name: "label_3" }, ]; const labels2 = [ { name: "label_4" }, { name: "label_5" }, { name: "label_6" }, ]; const labels = [ { elements: [{ elements: labels1 }], }, { elements: [{ elements: labels2 }], }, ]; it("put buttons on top", () => { const configuration = { tv_buttons_container_position: "on_top", }; const result = insertButtonsBetweenLabelContainers( configuration, buttons, labels ); expect(result).toEqual([ { elements: [buttons, { elements: labels1 }], }, { elements: [{ elements: labels2 }], }, ]); }); it("put buttons on bottom", () => { const configuration = { tv_buttons_container_position: "unknown_position", }; const result = insertButtonsBetweenLabelContainers( configuration, buttons, labels ); expect(result).toEqual([ { elements: [{ elements: labels1 }], }, { elements: [{ elements: labels2 }, buttons], }, ]); }); it("put underneath label_1", () => { const configuration = { tv_buttons_container_position: "label_1", }; const result = insertButtonsBetweenLabelContainers( configuration, buttons, labels ); expect(result).toEqual([ { elements: [{ elements: [labels1[0], buttons, labels1[1], labels1[2]] }], }, { elements: [{ elements: labels2 }], }, ]); }); it("put underneath label_2", () => { const configuration = { tv_buttons_container_position: "label_2", }; const result = insertButtonsBetweenLabelContainers( configuration, buttons, labels ); expect(result).toEqual([ { elements: [{ elements: [labels1[0], labels1[1], buttons, labels1[2]] }], }, { elements: [{ elements: labels2 }], }, ]); }); it("put underneath label_3", () => { const configuration = { tv_buttons_container_position: "label_3", }; const result = insertButtonsBetweenLabelContainers( configuration, buttons, labels ); expect(result).toEqual([ { elements: [{ elements: [labels1[0], labels1[1], labels1[2], buttons] }], }, { elements: [{ elements: labels2 }], }, ]); }); it("put underneath label_4", () => { const configuration = { tv_buttons_container_position: "label_4", }; const result = insertButtonsBetweenLabelContainers( configuration, buttons, labels ); expect(result).toEqual([ { elements: [{ elements: labels1 }], }, { elements: [{ elements: [labels2[0], buttons, labels2[1], labels2[2]] }], }, ]); }); it("put underneath all", () => { const configuration = { tv_buttons_container_position: "label_X", }; const result = insertButtonsBetweenLabelContainers( configuration, buttons, labels ); expect(result).toEqual([ { elements: [{ elements: labels1 }], }, { elements: [{ elements: labels2 }, buttons], }, ]); }); it("put nothing if buttons are nil", () => { const configuration = { tv_buttons_container_position: "label_X", }; const result = insertButtonsBetweenLabelContainers( configuration, null, labels ); expect(result).toEqual(labels); }); });