@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
text/typescript
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);
});
});