package treehou.se.habit;
import android.app.Application;
import android.content.Context;
import android.support.annotation.NonNull;
import android.test.RenamingDelegatingContext;
import io.realm.Realm;
import treehou.se.habit.data.TestAndroidModule;
public class TestUtil {
public static DaggerActivityTestRule<MainActivity> TestRule() {
Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
realm.deleteAll();
realm.commitTransaction();
return new DaggerActivityTestRule<>(MainActivity.class, new DaggerActivityTestRule.OnBeforeActivityLaunchedListener<MainActivity>() {
@Override
public void beforeActivityLaunched(@NonNull Application application, @NonNull MainActivity activity) {
((HabitApplication) application).setTestComponent(createComponent(application));
Context renamedContext = new RenamingDelegatingContext(application, "Testus");
DatabaseUtil.init(renamedContext);
}
});
}
protected static HabitApplication.ApplicationComponent createComponent(Context context){
HabitApplication.ApplicationComponent component = DaggerHabitApplication_ApplicationComponent.builder()
.androidModule(new TestAndroidModule(context))
.build();
return component;
}
}