From b6a00cedad4eb4d8dd3172d275c693835d80cbf8 Mon Sep 17 00:00:00 2001 From: GCyganek Date: Sun, 10 May 2026 16:48:33 +0200 Subject: [PATCH] [No QA] Add tests for useShouldDisplayButtonsInSeparateLine --- ...ShouldDisplayButtonsInSeparateLine.test.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/unit/hooks/useShouldDisplayButtonsInSeparateLine.test.ts diff --git a/tests/unit/hooks/useShouldDisplayButtonsInSeparateLine.test.ts b/tests/unit/hooks/useShouldDisplayButtonsInSeparateLine.test.ts new file mode 100644 index 000000000000..9419e2cd285c --- /dev/null +++ b/tests/unit/hooks/useShouldDisplayButtonsInSeparateLine.test.ts @@ -0,0 +1,31 @@ +import {renderHook} from '@testing-library/react-native'; +import useShouldDisplayButtonsInSeparateLine from '@hooks/useShouldDisplayButtonsInSeparateLine'; + +const mockResponsiveLayout = jest.fn<{shouldUseNarrowLayout: boolean; isInLandscapeMode: boolean}, []>(); +jest.mock('@hooks/useResponsiveLayout', () => () => mockResponsiveLayout()); + +describe('useShouldDisplayButtonsInSeparateLine', () => { + it('should return true on narrow layout in portrait mode', () => { + mockResponsiveLayout.mockReturnValue({shouldUseNarrowLayout: true, isInLandscapeMode: false}); + const {result} = renderHook(() => useShouldDisplayButtonsInSeparateLine()); + expect(result.current).toBe(true); + }); + + it('should return false on narrow layout in landscape mode', () => { + mockResponsiveLayout.mockReturnValue({shouldUseNarrowLayout: true, isInLandscapeMode: true}); + const {result} = renderHook(() => useShouldDisplayButtonsInSeparateLine()); + expect(result.current).toBe(false); + }); + + it('should return false on wide layout in portrait mode', () => { + mockResponsiveLayout.mockReturnValue({shouldUseNarrowLayout: false, isInLandscapeMode: false}); + const {result} = renderHook(() => useShouldDisplayButtonsInSeparateLine()); + expect(result.current).toBe(false); + }); + + it('should return false on wide layout in landscape mode', () => { + mockResponsiveLayout.mockReturnValue({shouldUseNarrowLayout: false, isInLandscapeMode: true}); + const {result} = renderHook(() => useShouldDisplayButtonsInSeparateLine()); + expect(result.current).toBe(false); + }); +});