Browse Source

added orientation failing test

Daniel Zlotin 7 years ago
parent
commit
e7e3f73d55

+ 22
- 7
playground/android/app/src/androidTest/java/com/reactnativenavigation/playground/ApplicationLifecycleTest.java View File

56
         rule.launchActivity(null);
56
         rule.launchActivity(null);
57
         assertThat(rule.getActivity().getContentView()).isNotNull().isInstanceOf(NavigationSplashView.class);
57
         assertThat(rule.getActivity().getContentView()).isNotNull().isInstanceOf(NavigationSplashView.class);
58
         acceptOverlayPermissionIfNeeded();
58
         acceptOverlayPermissionIfNeeded();
59
-        assertWelcomeShown();
59
+        assertMainShown();
60
     }
60
     }
61
 
61
 
62
     @Test
62
     @Test
63
     public void _2_relaunchFromBackground() throws Exception {
63
     public void _2_relaunchFromBackground() throws Exception {
64
         rule.launchActivity(null);
64
         rule.launchActivity(null);
65
-        assertWelcomeShown();
65
+        acceptOverlayPermissionIfNeeded();
66
+        assertMainShown();
66
 
67
 
67
         uiDevice().pressHome();
68
         uiDevice().pressHome();
68
         uiDevice().pressRecentApps();
69
         uiDevice().pressRecentApps();
69
         uiDevice().findObject(new UiSelector().text("Playground")).click();
70
         uiDevice().findObject(new UiSelector().text("Playground")).click();
70
         uiDevice().waitForIdle();
71
         uiDevice().waitForIdle();
71
 
72
 
72
-        assertWelcomeShown();
73
+        assertMainShown();
73
     }
74
     }
74
 
75
 
75
     @Test
76
     @Test
76
     public void _3_relaunchAfterClose() throws Exception {
77
     public void _3_relaunchAfterClose() throws Exception {
77
         rule.launchActivity(null);
78
         rule.launchActivity(null);
78
-        assertWelcomeShown();
79
+        acceptOverlayPermissionIfNeeded();
80
+        assertMainShown();
79
 
81
 
80
         uiDevice().pressBack();
82
         uiDevice().pressBack();
81
         uiDevice().waitForIdle();
83
         uiDevice().waitForIdle();
83
         rule.launchActivity(null);
85
         rule.launchActivity(null);
84
         uiDevice().waitForIdle();
86
         uiDevice().waitForIdle();
85
 
87
 
86
-        assertWelcomeShown();
88
+        assertMainShown();
89
+    }
90
+
91
+    @Test
92
+    public void _4_deviceOrientationDoesNotDestroyActivity() throws Exception {
93
+        MainActivity mainActivity = rule.launchActivity(null);
94
+        acceptOverlayPermissionIfNeeded();
95
+        assertMainShown();
96
+
97
+        uiDevice().setOrientationRight();
98
+        uiDevice().waitForIdle();
99
+
100
+        Thread.sleep(5000);
101
+        assertMainShown();
102
+        assertThat(rule.getActivity()).isSameAs(mainActivity);
87
     }
103
     }
88
 
104
 
89
-    private void assertWelcomeShown() {
105
+    private void assertMainShown() {
90
         onView(withText("React Native Navigation!")).check(matches(isDisplayed()));
106
         onView(withText("React Native Navigation!")).check(matches(isDisplayed()));
91
         uiDevice().waitForIdle();
107
         uiDevice().waitForIdle();
92
     }
108
     }
105
         uiDevice().pressBack();
121
         uiDevice().pressBack();
106
         uiDevice().pressBack();
122
         uiDevice().pressBack();
107
     }
123
     }
108
-
109
 }
124
 }