use of com.quran.labs.androidquran.dao.Tag in project quran_android by quran.
the class TagBookmarkPresenterTest method setupTest.
@Before
public void setupTest() {
MockitoAnnotations.initMocks(TagBookmarkPresenterTest.this);
List<Tag> tags = new ArrayList<>();
tags.add(new Tag(1, "Test"));
when(bookmarkModel.tagsObservable()).thenReturn(Observable.empty());
when(bookmarkModel.getTagsObservable()).thenReturn(Single.just(tags));
when(bookmarkModel.getBookmarkTagIds(Matchers.any())).thenReturn(Maybe.empty());
}
use of com.quran.labs.androidquran.dao.Tag in project quran_android by quran.
the class BookmarkModelTest method testUpdateTag.
@Test
public void testUpdateTag() {
when(bookmarksAdapter.updateTag(anyLong(), anyString())).thenReturn(true);
Tag tag = new Tag(1, "First Tag");
TestObserver<Void> testObserver = new TestObserver<>();
model.updateTag(tag).subscribe(testObserver);
testObserver.awaitTerminalEvent();
testObserver.assertNoErrors();
testObserver.assertComplete();
verify(bookmarksAdapter, times(1)).updateTag(tag.getId(), tag.getName());
}
use of com.quran.labs.androidquran.dao.Tag in project quran_android by quran.
the class BookmarksDBAdapter method importBookmarks.
public boolean importBookmarks(BookmarkData data) {
boolean result = true;
mDb.beginTransaction();
try {
mDb.delete(BookmarksTable.TABLE_NAME, null, null);
mDb.delete(BookmarkTagTable.TABLE_NAME, null, null);
mDb.delete(TagsTable.TABLE_NAME, null, null);
ContentValues values = new ContentValues();
List<Tag> tags = data.getTags();
int tagSize = tags.size();
Timber.d("importing %d tags...", tagSize);
for (int i = 0; i < tagSize; i++) {
Tag tag = tags.get(i);
values.clear();
values.put(TagsTable.NAME, tag.getName());
values.put(TagsTable.ID, tag.getId());
mDb.insert(TagsTable.TABLE_NAME, null, values);
}
List<Bookmark> bookmarks = data.getBookmarks();
int bookmarkSize = bookmarks.size();
Timber.d("importing %d bookmarks...", bookmarkSize);
for (int i = 0; i < bookmarkSize; i++) {
Bookmark bookmark = bookmarks.get(i);
values.clear();
values.put(BookmarksTable.ID, bookmark.id);
values.put(BookmarksTable.SURA, bookmark.sura);
values.put(BookmarksTable.AYAH, bookmark.ayah);
values.put(BookmarksTable.PAGE, bookmark.page);
values.put(BookmarksTable.ADDED_DATE, bookmark.timestamp);
mDb.insert(BookmarksTable.TABLE_NAME, null, values);
List<Long> tagIds = bookmark.tags;
for (int t = 0; t < tagIds.size(); t++) {
values.clear();
values.put(BookmarkTagTable.BOOKMARK_ID, bookmark.id);
values.put(BookmarkTagTable.TAG_ID, tagIds.get(t));
mDb.insert(BookmarkTagTable.TABLE_NAME, null, values);
}
}
Timber.d("import successful!");
mDb.setTransactionSuccessful();
} catch (Exception e) {
Timber.e(e, "Failed to import data");
result = false;
} finally {
mDb.endTransaction();
}
return result;
}
Aggregations