import { TabNavigation } from './TabNavigation' describe('TabNavigation Component', () => { describe('Component Export', () => { it('should be defined', () => { expect(TabNavigation).toBeDefined() }) it('should be a function component', () => { expect(typeof TabNavigation).toBe('function') }) }) describe('Props Interface', () => { it('should accept tabs prop as string array', () => { const props = { tabs: ['Tab1', 'Tab2', 'Tab3'] } expect(Array.isArray(props.tabs)).toBe(true) expect(props.tabs.length).toBe(3) }) it('should accept activeIndex prop', () => { const props = { activeIndex: 1 } expect(props.activeIndex).toBe(1) }) it('should accept onTabPress callback', () => { const onTabPress = jest.fn() expect(typeof onTabPress).toBe('function') }) it('should accept showArrow optional prop', () => { const props = { showArrow: true } expect(props.showArrow).toBe(true) }) it('should accept onArrowPress callback', () => { const onArrowPress = jest.fn() expect(typeof onArrowPress).toBe('function') }) it('should accept isSticky optional prop', () => { const props = { isSticky: true } expect(props.isSticky).toBe(true) }) it('should accept wrapperStyle optional prop', () => { const props = { wrapperStyle: { marginTop: 10 } } expect(props.wrapperStyle).toEqual({ marginTop: 10 }) }) it('should accept onLayout callback', () => { const onLayout = jest.fn() expect(typeof onLayout).toBe('function') }) }) describe('Default Values', () => { it('should have default showArrow value of false', () => { const defaultShowArrow = false expect(defaultShowArrow).toBe(false) }) it('should have default isSticky value of false', () => { const defaultIsSticky = false expect(defaultIsSticky).toBe(false) }) }) })