about summary refs log tree commit diff
path: root/__tests__/view/lib/useOnMainScroll.test.tsx
diff options
context:
space:
mode:
Diffstat (limited to '__tests__/view/lib/useOnMainScroll.test.tsx')
-rw-r--r--__tests__/view/lib/useOnMainScroll.test.tsx49
1 files changed, 49 insertions, 0 deletions
diff --git a/__tests__/view/lib/useOnMainScroll.test.tsx b/__tests__/view/lib/useOnMainScroll.test.tsx
new file mode 100644
index 000000000..9a31e79e8
--- /dev/null
+++ b/__tests__/view/lib/useOnMainScroll.test.tsx
@@ -0,0 +1,49 @@
+import React from 'react'
+import {fireEvent, render} from '../../../jest/test-utils'
+import {Home} from '../../../src/view/screens/Home'
+import {mockedRootStore, mockedShellStore} from '../../../__mocks__/state-mock'
+
+describe('useOnMainScroll', () => {
+  const mockedProps = {
+    navIdx: [0, 0] as [number, number],
+    params: {},
+    visible: true,
+  }
+
+  it('toggles minimalShellMode to true', () => {
+    jest.useFakeTimers()
+    const {getByTestId} = render(<Home {...mockedProps} />)
+
+    fireEvent.scroll(getByTestId('homeFeed'), {
+      nativeEvent: {
+        contentOffset: {y: 20},
+        contentSize: {height: 100},
+        layoutMeasurement: {height: 50},
+      },
+    })
+
+    expect(mockedRootStore.shell.setMinimalShellMode).toHaveBeenCalledWith(true)
+  })
+
+  it('toggles minimalShellMode to false', () => {
+    jest.useFakeTimers()
+    const {getByTestId} = render(<Home {...mockedProps} />, {
+      ...mockedRootStore,
+      shell: {
+        ...mockedShellStore,
+        minimalShellMode: true,
+      },
+    })
+
+    fireEvent.scroll(getByTestId('homeFeed'), {
+      nativeEvent: {
+        contentOffset: {y: 0},
+        contentSize: {height: 100},
+        layoutMeasurement: {height: 50},
+      },
+    })
+    expect(mockedRootStore.shell.setMinimalShellMode).toHaveBeenCalledWith(
+      false,
+    )
+  })
+})