Skip to content

Commit 0d09c74

Browse files
authored
Drawer - testID (#905)
* Passing the testID to the appropriate Drawer's subcomponent; Adding testIDs to demo screen * testID to badge * changing data
1 parent 13c7d4c commit 0d09c74

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

demo/src/screens/componentScreens/DrawerScreen.tsx

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,20 @@ const ITEMS = {
2424
read: {
2525
icon: require('../../assets/icons/mail.png'),
2626
text: 'Read',
27-
background: Colors.green30
27+
background: Colors.green30,
28+
testID: "left_item_read"
2829
},
2930
archive: {
3031
icon: require('../../assets/icons/archive.png'),
3132
text: 'Archive',
32-
background: Colors.blue30
33+
background: Colors.blue30,
34+
testID: "right_item_archive"
3335
},
3436
delete: {
3537
icon: require('../../assets/icons/delete.png'),
3638
text: 'Delete',
37-
background: Colors.red30
39+
background: Colors.red30,
40+
testID: "right_item_delete"
3841
}
3942
};
4043

@@ -131,18 +134,21 @@ class DrawerScreen extends Component {
131134
label="Open left"
132135
style={{margin: 3}}
133136
size={'xSmall'}
137+
testID="open_left_btn"
134138
/>
135139
<Button
136140
onPress={this.openLeftDrawerFull}
137141
label="Full left swipe"
138142
style={{margin: 3}}
139143
size={'xSmall'}
144+
testID="swipe_left_btn"
140145
/>
141146
<Button
142147
onPress={this.toggleLeftDrawer}
143148
label="Left toggle"
144149
style={{margin: 3}}
145150
size={'xSmall'}
151+
testID="toggle_left_btn"
146152
/>
147153
</View>
148154

@@ -152,6 +158,7 @@ class DrawerScreen extends Component {
152158
label="Close"
153159
style={{margin: 3}}
154160
size={'xSmall'}
161+
testID="close_btn"
155162
/>
156163
</View>
157164

@@ -161,12 +168,14 @@ class DrawerScreen extends Component {
161168
label="Open right"
162169
style={{margin: 3}}
163170
size={'xSmall'}
171+
testID="open_right_btn"
164172
/>
165173
<Button
166174
onPress={this.openRightDrawerFull}
167175
label="Full right swipe"
168176
style={{margin: 3}}
169177
size={'xSmall'}
178+
testID="swipe_right_btn"
170179
/>
171180
</View>
172181
</View>
@@ -175,6 +184,8 @@ class DrawerScreen extends Component {
175184
}
176185

177186
renderListItem() {
187+
const data = conversations[2];
188+
178189
return (
179190
<View
180191
bg-grey80
@@ -183,13 +194,14 @@ class DrawerScreen extends Component {
183194
row
184195
centerV
185196
style={{borderBottomWidth: 1, borderColor: Colors.grey60}}
197+
testID="drawer_item"
186198
>
187-
{this.state.unread && <Badge size={'pimpleSmall'} backgroundColor={Colors.red30} containerStyle={{marginRight: 8}}/>}
188-
<Avatar source={{uri: conversations[0].thumbnail}}/>
199+
{this.state.unread && <Badge testID="drawer_item_badge" size={'pimpleSmall'} backgroundColor={Colors.red30} containerStyle={{marginRight: 8}}/>}
200+
<Avatar source={{uri: data.thumbnail}}/>
189201
<View marginL-20>
190-
<Text text70R={!this.state.unread} text70BO={this.state.unread}>{conversations[0].name}</Text>
202+
<Text text70R={!this.state.unread} text70BO={this.state.unread}>{data.name}</Text>
191203
<Text text80 marginT-2>
192-
{conversations[0].text}
204+
{data.text}
193205
</Text>
194206
</View>
195207
</View>
@@ -218,14 +230,16 @@ class DrawerScreen extends Component {
218230
fullSwipeLeft,
219231
onWillFullSwipeLeft: this.deleteItem,
220232
onToggleSwipeLeft: this.toggleReadState,
221-
leftToggleHapticTrigger: this.triggerLeftToggleHaptic
233+
leftToggleHapticTrigger: this.triggerLeftToggleHaptic,
234+
testID: 'drawer'
222235
};
223236
if (showRightItems) {
224237
drawerProps.rightItems = [{...ITEMS.delete, onPress: this.deleteItem}, ITEMS.archive];
225238
}
226239

227240
if (showLeftItem) {
228241
drawerProps.leftItem = {
242+
...ITEMS.read,
229243
icon: this.state.unread ? require('../../assets/icons/mail.png') : require('../../assets/icons/refresh.png'),
230244
text: !this.state.unread ? 'Unread' : 'Read',
231245
background: this.state.unread ? Colors.green30 : Colors.orange30,
@@ -245,6 +259,7 @@ class DrawerScreen extends Component {
245259
iconSource={Assets.icons.demo.refresh}
246260
onPress={this.showItem}
247261
disabled={!hideItem}
262+
testID="refresh_btn"
248263
/>
249264
</View>
250265
{!hideItem && (

src/components/drawer/Swipeable.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,8 @@ export default class Swipeable extends Component<PropType, StateType> {
426426
leftActionsContainerStyle,
427427
rightActionsContainerStyle,
428428
containerStyle,
429-
childrenContainerStyle
429+
childrenContainerStyle,
430+
testID
430431
} = this.props;
431432

432433
const left = renderLeftActions && (
@@ -468,6 +469,7 @@ export default class Swipeable extends Component<PropType, StateType> {
468469
{right}
469470
<TapGestureHandler onHandlerStateChange={this._onTapHandlerStateChange}>
470471
<Animated.View
472+
testID={testID}
471473
style={[
472474
{transform: [{translateX: this._transX}]},
473475
childrenContainerStyle

0 commit comments

Comments
 (0)