package com.hitherejoe.watchtower.injection.module;
import android.content.Context;
import com.hitherejoe.watchtower.data.local.PreferencesHelper;
import com.hitherejoe.watchtower.data.remote.WatchTowerService;
import com.hitherejoe.watchtower.injection.scope.PerDataManager;
import dagger.Module;
import dagger.Provides;
import rx.Scheduler;
import rx.schedulers.Schedulers;
import static org.mockito.Mockito.mock;
/**
* Provides dependencies for an app running on a testing environment
* This allows injecting mocks if necessary
*/
@Module
public class DataManagerTestModule {
private final Context mContext;
public DataManagerTestModule(Context context) {
mContext = context;
}
@Provides
@PerDataManager
PreferencesHelper providePreferencesHelper() {
return new PreferencesHelper(mContext);
}
@Provides
@PerDataManager
WatchTowerService provideWatchTowerService() {
return mock(WatchTowerService.class);
}
@Provides
@PerDataManager
Scheduler provideSubscribeScheduler() {
return Schedulers.immediate();
}
}