@@ -3,89 +3,105 @@ import TestIDs from '../playground/src/testIDs';
33
44const { elementByLabel, elementById, expectImagesToBeEqual} = Utils ;
55
6- describe . each ( [ 'aboveContent' , 'pushContent' ] ) ( 'SideMenu' , ( openMode ) => {
7- beforeEach ( async ( ) => {
8- await device . launchApp ( { newInstance : true } ) ;
9- await elementById ( TestIDs . SIDE_MENU_BTN ) . tap ( ) ;
10-
11- if ( openMode === 'aboveContent' ) {
12- await elementById ( TestIDs . TOGGLE_SIDE_MENU_OPEN_MODE_BTN ) . tap ( ) ;
13- }
14- } ) ;
15-
16- describe ( `Open mode '${ openMode } '` , ( ) => {
17- it ( 'close SideMenu and push to stack with static id' , async ( ) => {
18- await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
19- await elementById ( TestIDs . LEFT_SIDE_MENU_PUSH_BTN ) . tap ( ) ;
20- await elementById ( TestIDs . CLOSE_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
21- await expect ( elementById ( TestIDs . PUSHED_SCREEN_HEADER ) ) . toBeVisible ( ) ;
22- await elementById ( TestIDs . POP_BTN ) . tap ( ) ;
23- await expect ( elementById ( TestIDs . CENTER_SCREEN_HEADER ) ) . toBeVisible ( ) ;
6+ describe ( 'SideMenu' , ( ) => {
7+ beforeEach ( async ( ) => {
8+ await device . launchApp ( { newInstance : true } ) ;
9+ await elementById ( TestIDs . SIDE_MENU_BTN ) . tap ( ) ;
2410 } ) ;
2511
26- it ( 'Push to stack with static id and close SideMenu with screen options' , async ( ) => {
27- await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
28- await elementById ( TestIDs . LEFT_SIDE_MENU_PUSH_AND_CLOSE_BTN ) . tap ( ) ;
29- await expect ( elementById ( TestIDs . PUSHED_SCREEN_HEADER ) ) . toBeVisible ( ) ;
30- await elementById ( TestIDs . POP_BTN ) . tap ( ) ;
31- await expect ( elementById ( TestIDs . CENTER_SCREEN_HEADER ) ) . toBeVisible ( ) ;
32- } ) ;
12+ describe . each ( [ 'aboveContent' , 'pushContent' ] ) ( 'Open mode %s' , ( openMode ) => {
13+ beforeEach ( async ( ) => {
14+ if ( openMode === 'pushContent' ) {
15+ await elementById ( TestIDs . TOGGLE_SIDE_MENU_OPEN_MODE_BTN ) . tap ( ) ;
16+ }
17+ } ) ;
3318
34- it ( 'side menu visibility - left' , async ( ) => {
35- await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
36- await elementById ( TestIDs . CLOSE_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
37- await expect ( elementById ( TestIDs . CLOSE_LEFT_SIDE_MENU_BTN ) ) . toBeNotVisible ( ) ;
38- } ) ;
19+ it ( 'close SideMenu and push to stack with static id' , async ( ) => {
20+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
21+ await elementById ( TestIDs . LEFT_SIDE_MENU_PUSH_BTN ) . tap ( ) ;
22+ await elementById ( TestIDs . CLOSE_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
23+ await expect ( elementById ( TestIDs . PUSHED_SCREEN_HEADER ) ) . toBeVisible ( ) ;
24+ await elementById ( TestIDs . POP_BTN ) . tap ( ) ;
25+ await expect ( elementById ( TestIDs . CENTER_SCREEN_HEADER ) ) . toBeVisible ( ) ;
26+ } ) ;
3927
40- it ( 'side menu visibility - right' , async ( ) => {
41- await elementById ( TestIDs . OPEN_RIGHT_SIDE_MENU_BTN ) . tap ( ) ;
42- await elementById ( TestIDs . CLOSE_RIGHT_SIDE_MENU_BTN ) . tap ( ) ;
43- await expect ( elementById ( TestIDs . CLOSE_RIGHT_SIDE_MENU_BTN ) ) . toBeNotVisible ( ) ;
44- } ) ;
28+ it ( 'Push to stack with static id and close SideMenu with screen options' , async ( ) => {
29+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
30+ await elementById ( TestIDs . LEFT_SIDE_MENU_PUSH_AND_CLOSE_BTN ) . tap ( ) ;
31+ await expect ( elementById ( TestIDs . PUSHED_SCREEN_HEADER ) ) . toBeVisible ( ) ;
32+ await elementById ( TestIDs . POP_BTN ) . tap ( ) ;
33+ await expect ( elementById ( TestIDs . CENTER_SCREEN_HEADER ) ) . toBeVisible ( ) ;
34+ } ) ;
4535
46- it . e2e ( 'should rotate ', async ( ) => {
47- await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
48- await device . setOrientation ( 'landscape' ) ;
49- await expect ( elementById ( TestIDs . LEFT_SIDE_MENU_PUSH_BTN ) ) . toBeVisible ( ) ;
50- } ) ;
36+ it ( 'side menu visibility - left ', async ( ) => {
37+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
38+ await elementById ( TestIDs . CLOSE_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
39+ await expect ( elementById ( TestIDs . CLOSE_LEFT_SIDE_MENU_BTN ) ) . toBeNotVisible ( ) ;
40+ } ) ;
5141
52- it . e2e ( ':ios: rotation should update drawer height' , async ( ) => {
53- await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
54- await expect ( elementByLabel ( 'left drawer height: 869' ) ) . toBeVisible ( ) ;
55- await device . setOrientation ( 'landscape' ) ;
56- await expect ( elementByLabel ( 'left drawer height: 428' ) ) . toBeVisible ( ) ;
57- await device . setOrientation ( 'portrait' ) ;
58- await expect ( elementByLabel ( 'left drawer height: 869' ) ) . toBeVisible ( ) ;
59- } ) ;
42+ it ( 'side menu visibility - right' , async ( ) => {
43+ await elementById ( TestIDs . OPEN_RIGHT_SIDE_MENU_BTN ) . tap ( ) ;
44+ await elementById ( TestIDs . CLOSE_RIGHT_SIDE_MENU_BTN ) . tap ( ) ;
45+ await expect ( elementById ( TestIDs . CLOSE_RIGHT_SIDE_MENU_BTN ) ) . toBeNotVisible ( ) ;
46+ } ) ;
6047
61- it . e2e ( 'should set left drawer width ' , async ( ) => {
62- await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
63- await expect ( elementById ( TestIDs . SIDE_MENU_LEFT_DRAWER_HEIGHT_TEXT ) ) . toBeVisible ( ) ;
64- await expect ( elementByLabel ( 'left drawer width: 250' ) ) . toBeVisible ( ) ;
65- } ) ;
48+ it . e2e ( 'should rotate ' , async ( ) => {
49+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
50+ await device . setOrientation ( 'landscape' ) ;
51+ await expect ( elementById ( TestIDs . LEFT_SIDE_MENU_PUSH_BTN ) ) . toBeVisible ( ) ;
52+ } ) ;
6653
67- it . e2e ( 'should change left drawer width' , async ( ) => {
68- await elementById ( TestIDs . CHANGE_LEFT_SIDE_MENU_WIDTH_BTN ) . tap ( ) ;
69- await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
70- await expect ( elementByLabel ( 'left drawer width: 50' ) ) . toBeVisible ( ) ;
71- } ) ;
54+ it . e2e ( ':ios: rotation should update drawer height' , async ( ) => {
55+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
56+ await expect ( elementByLabel ( 'left drawer height: 869' ) ) . toBeVisible ( ) ;
57+ await device . setOrientation ( 'landscape' ) ;
58+ await expect ( elementByLabel ( 'left drawer height: 428' ) ) . toBeVisible ( ) ;
59+ await device . setOrientation ( 'portrait' ) ;
60+ await expect ( elementByLabel ( 'left drawer height: 869' ) ) . toBeVisible ( ) ;
61+ } ) ;
7262
73- it . e2e ( 'should set right drawer width' , async ( ) => {
74- await elementById ( TestIDs . OPEN_RIGHT_SIDE_MENU_BTN ) . tap ( ) ;
75- await expect ( elementByLabel ( 'right drawer width: 250' ) ) . toBeVisible ( ) ;
76- } ) ;
63+ it . e2e ( 'should set left drawer width' , async ( ) => {
64+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
65+ await expect ( elementById ( TestIDs . SIDE_MENU_LEFT_DRAWER_HEIGHT_TEXT ) ) . toBeVisible ( ) ;
66+ await expect ( elementByLabel ( 'left drawer width: 250' ) ) . toBeVisible ( ) ;
67+ } ) ;
68+
69+ it . e2e ( 'should change left drawer width' , async ( ) => {
70+ await elementById ( TestIDs . CHANGE_LEFT_SIDE_MENU_WIDTH_BTN ) . tap ( ) ;
71+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
72+ await expect ( elementByLabel ( 'left drawer width: 50' ) ) . toBeVisible ( ) ;
73+ } ) ;
74+
75+ it . e2e ( 'should set right drawer width' , async ( ) => {
76+ await elementById ( TestIDs . OPEN_RIGHT_SIDE_MENU_BTN ) . tap ( ) ;
77+ await expect ( elementByLabel ( 'right drawer width: 250' ) ) . toBeVisible ( ) ;
78+ } ) ;
7779
78- it . e2e ( 'should change right drawer width' , async ( ) => {
79- await elementById ( TestIDs . CHANGE_RIGHT_SIDE_MENU_WIDTH_BTN ) . tap ( ) ;
80- await elementById ( TestIDs . OPEN_RIGHT_SIDE_MENU_BTN ) . tap ( ) ;
81- await expect ( elementByLabel ( 'right drawer width: 50' ) ) . toBeVisible ( ) ;
80+ it . e2e ( 'should change right drawer width' , async ( ) => {
81+ await elementById ( TestIDs . CHANGE_RIGHT_SIDE_MENU_WIDTH_BTN ) . tap ( ) ;
82+ await elementById ( TestIDs . OPEN_RIGHT_SIDE_MENU_BTN ) . tap ( ) ;
83+ await expect ( elementByLabel ( 'right drawer width: 50' ) ) . toBeVisible ( ) ;
84+ } ) ;
85+
86+ it . e2e ( ':ios: should render side menu correctly' , async ( ) => {
87+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
88+ const snapshottedImagePath = `./e2e/assets/side_menu.${ openMode } .png` ;
89+ const actual =
90+ await elementById ( 'SideMenuContainer' ) . takeScreenshot ( `side_menu_${ openMode } ` ) ;
91+ expectImagesToBeEqual ( actual , snapshottedImagePath ) ;
92+ } ) ;
8293 } ) ;
8394
84- it . e2e ( ':ios: should render side menu correctly' , async ( ) => {
85- await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
86- const snapshottedImagePath = `./e2e/assets/side_menu.${ openMode } .png` ;
87- const actual = await elementById ( 'SideMenuContainer' ) . takeScreenshot ( `side_menu_${ openMode } ` ) ;
88- expectImagesToBeEqual ( actual , snapshottedImagePath ) ;
95+ it . e2e ( ':ios: should open as push-content by default' , async ( ) => {
96+ await elementById ( TestIDs . TOGGLE_SIDE_MENU_OPEN_MODE_BTN ) . tap ( ) ; // aboveContent --> pushContent
97+ await elementById ( TestIDs . TOGGLE_SIDE_MENU_OPEN_MODE_BTN ) . tap ( ) ; // pushContent --> undefined
98+ await expect ( elementByLabel ( 'Open mode: undefined' ) ) . toBeVisible ( ) ;
99+
100+ await elementById ( TestIDs . OPEN_LEFT_SIDE_MENU_BTN ) . tap ( ) ;
101+
102+ const snapshottedImagePath = `./e2e/assets/side_menu.undefined.png` ;
103+ const actual =
104+ await elementById ( 'SideMenuContainer' ) . takeScreenshot ( `side_menu_undefined` ) ;
105+ expectImagesToBeEqual ( actual , snapshottedImagePath ) ;
89106 } ) ;
90- } ) ;
91107} ) ;
0 commit comments