Merge "Hack to wait for both suggestion/category to load"

This commit is contained in:
Fan Zhang
2017-12-05 17:38:42 +00:00
committed by Android (Google) Code Review
4 changed files with 47 additions and 9 deletions

View File

@@ -18,9 +18,7 @@ package com.android.settings.dashboard.suggestions;
import static android.arch.lifecycle.Lifecycle.Event.ON_START;
import static android.arch.lifecycle.Lifecycle.Event.ON_STOP;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -37,9 +35,9 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@@ -49,19 +47,18 @@ import org.robolectric.annotation.Config;
})
public class SuggestionControllerMixinTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@Mock
private SuggestionControllerMixin.SuggestionControllerHost mHost;
private Context mContext;
private Lifecycle mLifecycle;
private SuggestionControllerMixin mMixin;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
mContext = RuntimeEnvironment.application;
FakeFeatureFactory.setupForTest();
mLifecycle = new Lifecycle(() -> mLifecycle);
when(mContext.getApplicationContext()).thenReturn(mContext);
}
@After
@@ -111,4 +108,17 @@ public class SuggestionControllerMixinTest {
verify(mHost).getLoaderManager();
}
@Test
public void doneLoadingg_shouldSetSuggestionLoaded() {
mMixin = new SuggestionControllerMixin(mContext, mHost, mLifecycle);
mMixin.onLoadFinished(mock(SuggestionLoader.class), null);
assertThat(mMixin.isSuggestionLoaded()).isTrue();
mMixin.onLoaderReset(mock(SuggestionLoader.class));
assertThat(mMixin.isSuggestionLoaded()).isFalse();
}
}