Преглед на файлове

Fix Android unit tests after merging BottomTabs fix

BottomTabs are all mounted when created, selecting a tab only changes visibility
Guy Carmeli преди 6 години
родител
ревизия
a23db66243
променени са 1 файла, в които са добавени 17 реда и са изтрити 4 реда
  1. 17
    4
      lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/BottomTabsControllerTest.java

+ 17
- 4
lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/BottomTabsControllerTest.java Целия файл

2
 
2
 
3
 import android.app.Activity;
3
 import android.app.Activity;
4
 import android.support.annotation.NonNull;
4
 import android.support.annotation.NonNull;
5
+import android.view.View;
5
 import android.view.ViewGroup;
6
 import android.view.ViewGroup;
6
 import android.widget.RelativeLayout;
7
 import android.widget.RelativeLayout;
7
 
8
 
103
     }
104
     }
104
 
105
 
105
     @Test
106
     @Test
106
-    public void setTabs_AddAllViews() {
107
+    public void setTabs_allChildViewsAreAttachedToHierarchy() {
107
         uut.onViewAppeared();
108
         uut.onViewAppeared();
108
-        assertThat(uut.getView().getChildCount()).isEqualTo(2);
109
-        assertThat(((ViewController) ((List) uut.getChildControllers()).get(0)).getView().getParent()).isNotNull();
109
+        assertThat(uut.getView().getChildCount()).isEqualTo(6);
110
+        for (ViewController child : uut.getChildControllers()) {
111
+            assertThat(child.getView().getParent()).isNotNull();
112
+        }
113
+    }
114
+
115
+    @Test
116
+    public void setTabs_firstChildIsVisibleOtherAreGone() {
117
+        uut.onViewAppeared();
118
+        for (int i = 0; i < uut.getChildControllers().size(); i++) {
119
+            assertThat(uut.getView().getChildAt(i).getVisibility()).isEqualTo(i == 0 ? View.VISIBLE : View.GONE);
120
+        }
110
     }
121
     }
111
 
122
 
112
     @Test
123
     @Test
113
     public void onTabSelected() {
124
     public void onTabSelected() {
114
         assertThat(uut.getSelectedIndex()).isZero();
125
         assertThat(uut.getSelectedIndex()).isZero();
126
+        assertThat(((ViewController) ((List) uut.getChildControllers()).get(0)).getView().getVisibility()).isEqualTo(View.VISIBLE);
115
 
127
 
116
         uut.onTabSelected(3, false);
128
         uut.onTabSelected(3, false);
117
 
129
 
118
         assertThat(uut.getSelectedIndex()).isEqualTo(3);
130
         assertThat(uut.getSelectedIndex()).isEqualTo(3);
119
-        assertThat(((ViewController) ((List) uut.getChildControllers()).get(0)).getView().getParent()).isNull();
131
+        assertThat(((ViewController) ((List) uut.getChildControllers()).get(0)).getView().getVisibility()).isEqualTo(View.GONE);
132
+        assertThat(((ViewController) ((List) uut.getChildControllers()).get(3)).getView().getVisibility()).isEqualTo(View.VISIBLE);
120
         verify(eventEmitter, times(1)).emitBottomTabSelected(0, 3);
133
         verify(eventEmitter, times(1)).emitBottomTabSelected(0, 3);
121
     }
134
     }
122
 
135