Skip to content

Commit 67c10c9

Browse files
kligarskikkafar
authored andcommitted
finish Test432
1 parent da90f08 commit 67c10c9

3 files changed

Lines changed: 76 additions & 12 deletions

File tree

FabricExample/e2e/examplesTests/tests.e2e.ts

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,66 @@ describe('Test432', () => {
99
await waitFor(element(by.id('root-screen-tests-Test432')))
1010
.toBeVisible()
1111
.whileElement(by.id('root-screen-examples-scrollview'))
12-
.scroll(100, 'down', NaN, 0.85);
12+
.scroll(600, 'down', NaN, 0.85);
1313

1414
await expect(element(by.id('root-screen-tests-Test432'))).toBeVisible();
1515
await element(by.id('root-screen-tests-Test432')).tap();
1616
});
1717

18+
it('home-square should be fully visible', async () => {
19+
await expect(element(by.id('home-square'))).toBeVisible(100);
20+
});
21+
22+
it('squares from details screen should be fully visible', async () => {
23+
await element(by.id('go-to-details')).tap();
24+
await expect(element(by.id('details-red-square'))).toBeVisible(100);
25+
26+
await element(by.id('details-toggle-subviews')).tap();
27+
// On Android, we need to wait for some elements (e.g. at first, this square is only 25% visible)
28+
waitFor(element(by.id('details-green-square'))).toBeVisible(100);
29+
30+
await element(by.id('details-toggle-subviews')).tap();
31+
await expect(element(by.id('details-red-square'))).toBeVisible(100);
32+
33+
if (device.getPlatform() === 'ios') {
34+
await element(by.id('BackButton')).tap();
35+
} else {
36+
await device.pressBack();
37+
}
38+
39+
await expect(element(by.id('home-square'))).toBeVisible(100);
40+
});
41+
42+
it('squares from info screen should be fully visible', async () => {
43+
await element(by.id('go-to-info')).tap();
44+
await expect(element(by.id('info-green-square-1'))).toBeVisible(100);
45+
46+
await element(by.id('info-toggle-subviews')).tap();
47+
waitFor(element(by.id('info-green-square-1'))).toBeVisible(100);
48+
waitFor(element(by.id('info-green-square-2'))).toBeVisible(100);
49+
waitFor(element(by.id('info-red-square'))).toBeVisible(100);
1850

19-
// home home-square
20-
// details details-red-square | click | details-green-square | click | details-red-square | back
21-
// info info-green-square-1 | click | info-red-square info-green-square-1 info-green-square-2 | click | info-green-square-1 | back
22-
// settings settings-square
23-
// za kazdym powrotem do home sprawdzic czarny square
51+
await element(by.id('info-toggle-subviews')).tap();
52+
waitFor(element(by.id('info-green-square-1'))).toBeVisible(100);
2453

54+
if (device.getPlatform() === 'ios') {
55+
await element(by.id('BackButton')).tap();
56+
} else {
57+
await device.pressBack();
58+
}
2559

60+
await expect(element(by.id('home-square'))).toBeVisible(100);
61+
});
62+
63+
it('squares from settings screen should be fully visible', async () => {
64+
await element(by.id('show-settings')).tap();
65+
await expect(element(by.id('settings-square'))).toBeVisible(100);
2666

67+
if (device.getPlatform() === 'ios') {
68+
await element(by.id('settings-text')).swipe('down', 'fast');
69+
} else {
70+
await device.pressBack();
71+
}
72+
await expect(element(by.id('home-square'))).toBeVisible(100);
73+
});
2774
});

apps/src/tests/Test432.tsx

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,17 @@ const HomeScreen = ({ navigation }: StackScreenProps<'Home'>) => {
2626
<Button
2727
title={'Go to details'}
2828
onPress={() => navigation.navigate('Details')}
29+
testID="go-to-details"
2930
/>
3031
<Button
3132
title={'Go to info'}
3233
onPress={() => navigation.navigate('Info')}
34+
testID="go-to-info"
3335
/>
3436
<Button
3537
title={'Show settings'}
3638
onPress={() => navigation.navigate('Settings')}
39+
testID="show-settings"
3740
/>
3841
</View>
3942
);
@@ -45,23 +48,34 @@ const DetailsScreen = ({ navigation }: StackScreenProps<'Details'>) => {
4548
navigation.setOptions({
4649
headerBackVisible: !x,
4750
headerRight: () =>
48-
x ? <Square size={20} color="green" testID="details-green-square" /> : <Square size={10} testID="details-red-square" />,
51+
x ? (
52+
<Square size={20} color="green" testID="details-green-square" />
53+
) : (
54+
<Square size={10} testID="details-red-square" />
55+
),
4956
});
5057
}, [navigation, x]);
5158

52-
return <Button title="Toggle subviews" onPress={() => setX(prev => !prev)} />;
59+
return <Button title="Toggle subviews" onPress={() => setX(prev => !prev)} testID='details-toggle-subviews' />;
5360
};
5461

5562
const SettingsScreen = () => {
56-
return <Text>Settings</Text>;
63+
return <Text testID='settings-text'>Settings</Text>;
5764
};
5865

5966
const InfoScreen = ({ navigation }: StackScreenProps<'Info'>) => {
6067
const [hasLeftItem, setHasLeftItem] = useState(false);
6168

6269
const square1 = (props: { tintColor?: string }) => (
6370
<View style={{ gap: 8, flexDirection: 'row' }}>
64-
{hasLeftItem && <Square {...props} color="green" size={20} testID="info-green-square-2" />}
71+
{hasLeftItem && (
72+
<Square
73+
{...props}
74+
color="green"
75+
size={20}
76+
testID="info-green-square-2"
77+
/>
78+
)}
6579
<Square {...props} color="green" size={20} testID="info-green-square-1" />
6680
</View>
6781
);
@@ -82,6 +96,7 @@ const InfoScreen = ({ navigation }: StackScreenProps<'Info'>) => {
8296
<Button
8397
title="Toggle subviews"
8498
onPress={() => setHasLeftItem(prev => !prev)}
99+
testID='info-toggle-subviews'
85100
/>
86101
);
87102
};
@@ -95,7 +110,9 @@ const StackNavigator = () => {
95110
name="Home"
96111
component={HomeScreen}
97112
options={{
98-
headerRight: () => <Square size={20} color="black" testID="home-square" />,
113+
headerRight: () => (
114+
<Square size={20} color="black" testID="home-square" />
115+
),
99116
}}
100117
/>
101118
<Stack.Screen name="Details" component={DetailsScreen} />

apps/src/tests/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export { default as Test111 } from './Test111'; // [E2E skipped]: can't chec
55
export { default as Test263 } from './Test263'; // [E2E skipped]: example differs from PR, even if changed the problem still occurs
66
export { default as Test349 } from './Test349'; // [E2E skipped]: can't check autofill easily, wrong prop name
77
export { default as Test364 } from './Test364'; // [E2E skipped]: tabBarVisible prop doesn't exist anymore, suggested solution is to change navigator hierarchy (proposed in PR and in react-navigation docs)
8-
export { default as Test432 } from './Test432';
8+
export { default as Test432 } from './Test432'; // [E2E created]
99
export { default as Test528 } from './Test528';
1010
export { default as Test550 } from './Test550';
1111
export { default as Test556 } from './Test556';

0 commit comments

Comments
 (0)