Add button to remove saved search query
TODO: move all saved query related logic into its own manager instead of leaving them in SearchFragment. Change-Id: I9635140eb507331246f9035a23138421cfa4b50a Fix: 27391895 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -36,10 +36,11 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class SavedQueryRecorderTest {
|
||||
public class SavedQueryRecorderAndRemoverTest {
|
||||
|
||||
private Context mContext;
|
||||
private SavedQueryRecorder mRecorder;
|
||||
private SavedQueryRemover mRemover;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -52,16 +53,25 @@ public class SavedQueryRecorderTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canSaveQueryToDb() {
|
||||
public void canSaveAndRemoveQuery() {
|
||||
final String query = "test";
|
||||
mRecorder = new SavedQueryRecorder(mContext, query);
|
||||
mRemover = new SavedQueryRemover(mContext, query);
|
||||
|
||||
// Record a new query and load all queries from DB
|
||||
mRecorder.loadInBackground();
|
||||
|
||||
final SavedQueryLoader loader = new SavedQueryLoader(mContext);
|
||||
List<? extends SearchResult> results = loader.loadInBackground();
|
||||
|
||||
// Should contain the newly recorded query
|
||||
assertThat(results.size()).isEqualTo(1);
|
||||
assertThat(results.get(0).title).isEqualTo(query);
|
||||
|
||||
// Remove the query and load all queries from DB
|
||||
mRemover.loadInBackground();
|
||||
results = loader.loadInBackground();
|
||||
|
||||
// Saved query list should be empty because it's removed.
|
||||
assertThat(results).isEmpty();
|
||||
}
|
||||
}
|
@@ -45,6 +45,8 @@ public class SavedQueryViewHolderTest {
|
||||
private Context mContext;
|
||||
private SavedQueryViewHolder mHolder;
|
||||
private View mView;
|
||||
private View mTitleView;
|
||||
private View mRemoveButton;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -52,6 +54,8 @@ public class SavedQueryViewHolderTest {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mView = LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.search_saved_query_item, null);
|
||||
mTitleView = mView.findViewById(android.R.id.title);
|
||||
mRemoveButton = mView.findViewById(android.R.id.icon);
|
||||
mHolder = new SavedQueryViewHolder(mView);
|
||||
}
|
||||
|
||||
@@ -60,8 +64,10 @@ public class SavedQueryViewHolderTest {
|
||||
final SearchResult result = mock(SearchResult.class);
|
||||
mHolder.onBind(mSearchFragment, result);
|
||||
|
||||
mView.performClick();
|
||||
mTitleView.performClick();
|
||||
mRemoveButton.performClick();
|
||||
|
||||
verify(mSearchFragment).onSavedQueryClicked(any(CharSequence.class));
|
||||
verify(mSearchFragment).onRemoveSavedQueryClicked(any(CharSequence.class));
|
||||
}
|
||||
}
|
||||
|
@@ -276,7 +276,6 @@ public class SearchFragmentTest {
|
||||
|
||||
@Test
|
||||
public void onLoadFinished_ShowsFeedback() {
|
||||
|
||||
when(mFeatureFactory.searchFeatureProvider
|
||||
.getDatabaseSearchLoader(any(Context.class), anyString()))
|
||||
.thenReturn(new MockDBLoader(RuntimeEnvironment.application));
|
||||
|
Reference in New Issue
Block a user