@planningcenter/chat-react-native 4.4.1-qa-staging.23 → 4.4.1-qa-staging.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,15 @@ const mockSearchEnabled = jest.fn()
21
21
  const mockCanBrowseArchived = jest.fn()
22
22
  const mockGroupsByGraphId: Record<string, { name: string }> = {}
23
23
 
24
+ jest.mock('react-native', () => {
25
+ const actual = jest.requireActual('react-native')
26
+ return Object.defineProperty(actual, 'useWindowDimensions', {
27
+ value: jest.fn(() => ({ fontScale: 1 })),
28
+ configurable: true,
29
+ })
30
+ })
31
+ const mockUseWindowDimensions = jest.requireMock('react-native').useWindowDimensions
32
+
24
33
  jest.mock('@react-navigation/native', () => ({
25
34
  ...jest.requireActual('@react-navigation/native'),
26
35
  useNavigation: () => ({ setParams: mockSetParams, navigate: mockNavigate }),
@@ -121,10 +130,31 @@ describe('FilterDropdownListHeaderComponent', () => {
121
130
  mockSetParams.mockClear()
122
131
  mockSearchEnabled.mockReturnValue(true)
123
132
  mockCanBrowseArchived.mockReturnValue(false)
133
+ mockUseWindowDimensions.mockReturnValue({ fontScale: 1 })
124
134
  setCapabilities({ groups: true, teams: true })
125
135
  setRouteParams({})
126
136
  })
127
137
 
138
+ it('keeps the dropdown and actions on one line below the header font cap', () => {
139
+ mockUseWindowDimensions.mockReturnValue({ fontScale: 1.15 })
140
+
141
+ render(<FilterDropdownListHeaderComponent />)
142
+
143
+ expect(screen.getByTestId('conversations-filter-heading-row')).toHaveStyle({
144
+ flexDirection: 'row',
145
+ })
146
+ })
147
+
148
+ it('stacks the actions under the dropdown once header text stops scaling', () => {
149
+ mockUseWindowDimensions.mockReturnValue({ fontScale: 1.2 })
150
+
151
+ render(<FilterDropdownListHeaderComponent />)
152
+
153
+ expect(screen.getByTestId('conversations-filter-heading-row')).toHaveStyle({
154
+ flexDirection: 'column',
155
+ })
156
+ })
157
+
128
158
  it('offers every filter the person can use, then More filters', () => {
129
159
  render(<FilterDropdownListHeaderComponent />)
130
160
 
@@ -194,7 +194,7 @@ export const FilterDropdownListHeaderComponent = () => {
194
194
 
195
195
  return (
196
196
  <View style={styles.listHeader}>
197
- <View style={styles.headingRow}>
197
+ <View style={styles.headingRow} testID="conversations-filter-heading-row">
198
198
  <View style={styles.titleContainer}>
199
199
  <FilterDropdown
200
200
  options={options}
@@ -252,7 +252,7 @@ export const FilterDropdownListHeaderComponent = () => {
252
252
 
253
253
  const useStyles = () => {
254
254
  const theme = useTheme()
255
- const atFontScaleBreakpoint = useAtFontScaleBreakpoint()
255
+ const atFontScaleBreakpoint = useAtFontScaleBreakpoint(MAX_FONT_SIZE_MULTIPLIER_LANDMARK)
256
256
 
257
257
  return StyleSheet.create({
258
258
  listHeader: {