package com.hitherejoe.androidtvboilerplate.data;
import com.hitherejoe.androidtvboilerplate.data.local.PreferencesHelper;
import com.hitherejoe.androidtvboilerplate.data.model.Cat;
import com.hitherejoe.androidtvboilerplate.data.remote.AndroidTvBoilerplateService;
import com.hitherejoe.androidtvboilerplate.test.common.TestDataFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import java.util.List;
import rx.observers.TestSubscriber;
@RunWith(MockitoJUnitRunner.class)
public class DataManagerTest {
@Mock AndroidTvBoilerplateService mMockAndroidTvBoilerplateService;
@Mock PreferencesHelper mMockPreferencesHelper;
private DataManager mDataManager;
@Before
public void setUp() {
mDataManager = new DataManager(mMockPreferencesHelper, mMockAndroidTvBoilerplateService);
}
@Test
public void getCatsCompletesAndEmitsCats() throws Exception {
List<Cat> mockCats = TestDataFactory.makeCats(10);
TestSubscriber<List<Cat>> result = new TestSubscriber<>();
mDataManager.getCats(mockCats).subscribe(result);
result.assertNoErrors();
result.assertValue(mockCats);
}
}