const Utils = require('./Utils'); const testIDs = require('../playground/src/testIDs'); const { elementByLabel, elementById } = Utils; describe('complex layout', () => { beforeEach(async () => { await device.relaunchApp(); }); test('shows external component in stack in modal', async () => { await elementById(testIDs.COMPLEX_LAYOUT_BUTTON).tap(); await elementById(testIDs.EXTERNAL_COMPONENT_IN_STACK).tap(); await expect(elementByLabel('External component in stack')).toBeVisible(); }); test('shows external component in deep stack in modal', async () => { await elementById(testIDs.COMPLEX_LAYOUT_BUTTON).tap(); await elementById(testIDs.EXTERNAL_COMPONENT_IN_DEEP_STACK).tap(); await expect(elementByLabel('External component in deep stack')).toBeVisible(); }); test('merge options correctly in SideMenu inside BottomTabs layout', async () => { await elementById(testIDs.COMPLEX_LAYOUT_BUTTON).tap(); await elementById(testIDs.SIDE_MENU_LAYOUT_INSIDE_BOTTOM_TAB).tap(); await elementById(testIDs.SECOND_TAB_BAR_BUTTON).tap(); await elementById(testIDs.OPEN_SIDE_MENU).tap(); await expect(elementByLabel('This is a left side menu screen')).toBeVisible(); await elementById(testIDs.HIDE_LEFT_SIDE_MENU_BUTTON).tap(); await expect(elementByLabel('This is a left side menu screen')).toBeNotVisible(); }); });