UNPKG

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

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

89 lines (68 loc) 2.26 kB
import { findParent } from "../ZappPipesEntryContext"; describe("findParent", () => { it("returns null when calling from a root screen", () => { const route = "/river/A1234"; const result = findParent({}, route); expect(result).toEqual(null); }); it("returns the parent of a connected screen", () => { const route = "/river/A1234/river/B5678"; const homeRiverEntry = { data: { id: "entry_id_1" }, route: "/river/A1234", id: "A1234", }; const context = { "/river/A1234": homeRiverEntry, }; const result = findParent(context, route); expect(result).toEqual(homeRiverEntry); }); it("returns the correct parent when the previous screen is a screen picker", () => { const route = "/river/A1234/river/B5678/yarn"; const homeRiverEntry = { data: { id: "entry_id_1" }, route: "/river/A1234", id: "A1234", }; const pickerEntry = { data: { id: "picker_entry_1", parent: homeRiverEntry.data }, route: "/river/A1234/river/B5678", id: "B5678", parentId: homeRiverEntry.id, }; const pickerContainerEntry = { data: { id: "picker_container_entry_1", parent: pickerEntry.data }, route: "/river/A1234/river/B5678/picker/ABC", id: "picker_ABC", parentId: pickerEntry.id, }; const context = { [homeRiverEntry.route]: homeRiverEntry, [pickerEntry.route]: pickerEntry, [pickerContainerEntry.route]: pickerContainerEntry, }; const result = findParent(context, route, true); expect(result).toEqual(pickerContainerEntry); }); it("returns the correct parent when coming back from a previous screen", () => { const route = "/river/A1234/river/B5678"; const homeRiverEntry = { data: { id: "show_1" }, route: "/river/A1234", id: "A1234", }; const show = { data: { id: "episode_1", parent: homeRiverEntry.data }, route: "/river/A1234/river/B5678", id: "B5678", parentId: homeRiverEntry.id, }; const context = { [homeRiverEntry.route]: homeRiverEntry, [show.route]: show, }; const result = findParent(context, route, false); expect(result).toEqual(homeRiverEntry); }); });