1 package host.exp.exponent
2 
3 import androidx.test.InstrumentationRegistry
4 import androidx.test.espresso.IdlingPolicies
5 import androidx.test.uiautomator.UiDevice
6 import host.exp.exponent.kernel.KernelConfig
7 import host.exp.exponent.utils.TestNativeModuleServer
8 import java.util.concurrent.TimeUnit
9 
10 const val LAUNCH_TIMEOUT = 5000
11 
12 open class BaseTestClass {
13   companion object {
14     @JvmStatic protected lateinit var uiDevice: UiDevice
15 
beforeClassnull16     fun beforeClass() {
17       KernelConfig.IS_TEST = true
18       KernelConfig.FORCE_NO_KERNEL_DEBUG_MODE = true
19       KernelConfig.HIDE_ONBOARDING = true
20 
21       uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
22       TestNativeModuleServer.instance.uiDevice = uiDevice
23 
24       // Increase Espresso timeout
25       IdlingPolicies.setMasterPolicyTimeout(3, TimeUnit.MINUTES)
26       IdlingPolicies.setIdlingResourceTimeout(3, TimeUnit.MINUTES)
27     }
28   }
29 }
30