jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/399541 )

Change subject: Unit tests for reading lists
......................................................................


Unit tests for reading lists

- Created instrumented tests for dbHelper

Bug: T183169
Change-Id: I75307babfe4914ac6bbe840963d0fca94dcf13f6
---
A 
app/src/test/java/org/wikipedia/readinglist/database/ReadingListDbHelperTest.java
1 file changed, 208 insertions(+), 0 deletions(-)

Approvals:
  Dbrant: Looks good to me, approved
  jenkins-bot: Verified



diff --git 
a/app/src/test/java/org/wikipedia/readinglist/database/ReadingListDbHelperTest.java
 
b/app/src/test/java/org/wikipedia/readinglist/database/ReadingListDbHelperTest.java
new file mode 100644
index 0000000..102a521
--- /dev/null
+++ 
b/app/src/test/java/org/wikipedia/readinglist/database/ReadingListDbHelperTest.java
@@ -0,0 +1,208 @@
+package org.wikipedia.readinglist.database;
+
+import junit.framework.Assert;
+
+import org.junit.After;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.wikipedia.WikipediaApp;
+import org.wikipedia.page.PageTitle;
+import org.wikipedia.test.TestRunner;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(TestRunner.class)
+public class ReadingListDbHelperTest {
+    private ReadingListDbHelper readingListDbHelper = 
ReadingListDbHelper.instance();
+
+    @Test
+    public void testGetAllListsForFullList() {
+        List<ReadingList> lists = readingListDbHelper.getAllLists();
+        int initialSize = lists.size();
+        ReadingList list = readingListDbHelper.createList("Test", "TestDesc");
+        Assert.assertEquals(initialSize + 1, 
readingListDbHelper.getAllLists().size());
+        readingListDbHelper.deleteList(list);
+        Assert.assertEquals(initialSize, 
readingListDbHelper.getAllLists().size());
+    }
+
+    @Test
+    public void testGetAllListsWithoutContentsForSize() {
+        List<ReadingList> lists = 
readingListDbHelper.getAllListsWithoutContents();
+        boolean isEmpty = true;
+        for (ReadingList list : lists) {
+            if (list.pages().size() > 0) {
+                isEmpty = false;
+            }
+        }
+        Assert.assertTrue(isEmpty);
+    }
+
+    @Test
+    public void testCreateListForNewList() {
+        List<ReadingList> lists = readingListDbHelper.getAllLists();
+        int initialSize = lists.size();
+        ReadingList list = readingListDbHelper.createList("Test1", "TestDesc");
+        Assert.assertEquals(initialSize + 1, 
readingListDbHelper.getAllLists().size());
+        readingListDbHelper.deleteList(list);
+    }
+
+    @Test
+    public void testUpdateListForFieldUpdate() {
+        ReadingList list = readingListDbHelper.createList("Test2", "TestDesc");
+        list.title("testTitle");
+        readingListDbHelper.updateList(list, false);
+        List<ReadingList> lists = readingListDbHelper.getAllLists();
+        Assert.assertTrue(hasTitle(lists, "testTitle"));
+        Assert.assertFalse(hasTitle(lists, "Test2"));
+        readingListDbHelper.deleteList(list);
+    }
+
+    @Test
+    public void testDeleteListForDeletion() {
+        List<ReadingList> lists = readingListDbHelper.getAllLists();
+        int initialSize = lists.size();
+        ReadingList list = readingListDbHelper.createList("Test3", "TestDesc");
+        readingListDbHelper.deleteList(list);
+        Assert.assertEquals(initialSize, 
readingListDbHelper.getAllLists().size());
+        Assert.assertFalse(hasTitle(lists, "Test3"));
+    }
+
+    @Test
+    public void testAddPageToListForPageAddition() {
+        PageTitle page = new PageTitle("1", 
WikipediaApp.getInstance().getWikiSite());
+        ReadingList list = readingListDbHelper.createList("Test4", "TestDesc");
+        ReadingList list2 = readingListDbHelper.createList("Test5", 
"TestDesc");
+        readingListDbHelper.addPageToList(list, page, false);
+        readingListDbHelper.addPageToList(list2, page, false);
+        List<ReadingListPage> pages = new ArrayList<>();
+        pages.add(new ReadingListPage(page));
+        List<ReadingList> lists = 
readingListDbHelper.getListsFromPageOccurrences(pages);
+        readingListDbHelper.deleteList(list);
+        readingListDbHelper.deleteList(list2);
+        readingListDbHelper.markPagesForDeletion(list, pages);
+        readingListDbHelper.markPagesForDeletion(list2, pages);
+        Assert.assertFalse(lists.contains(list));
+    }
+
+    public void testGetAllPagesToBeSavedForRetrievingPages() {
+        PageTitle page = new PageTitle("1", 
WikipediaApp.getInstance().getWikiSite());
+        ReadingListPage readingListPage = new ReadingListPage(page);
+        readingListPage.status(ReadingListPage.STATUS_QUEUE_FOR_SAVE);
+        List<ReadingListPage> pagesListToBeAdded = new ArrayList<>();
+        pagesListToBeAdded.add(readingListPage);
+        ReadingList list = readingListDbHelper.createList("Test6", "TestDesc");
+        readingListDbHelper.addPagesToList(list, pagesListToBeAdded, false);
+        List<ReadingListPage> pagesList = 
readingListDbHelper.getAllPagesToBeSaved();
+        readingListDbHelper.deleteList(list);
+        List<ReadingListPage> pages = new ArrayList<>();
+        pages.add(readingListPage);
+        readingListDbHelper.markPagesForDeletion(list, pages);
+        Assert.assertTrue(pagesList.size() != 0);
+    }
+
+    @Test
+    public void testGetAllPagesToBeDeletedForRetrievingPages() {
+        PageTitle page = new PageTitle("2", 
WikipediaApp.getInstance().getWikiSite());
+        ReadingListPage readingListPage = new ReadingListPage(page);
+        readingListPage.status(ReadingListPage.STATUS_QUEUE_FOR_DELETE);
+        List<ReadingListPage> pagesListToBeAdded = new ArrayList<>();
+        pagesListToBeAdded.add(readingListPage);
+        ReadingList list = readingListDbHelper.createList("Test7", "TestDesc");
+        readingListDbHelper.addPagesToList(list, pagesListToBeAdded, false);
+        List<ReadingListPage> pagesList = 
readingListDbHelper.getAllPagesToBeDeleted();
+        readingListDbHelper.deleteList(list);
+        readingListDbHelper.markPagesForDeletion(list, pagesListToBeAdded);
+        Assert.assertTrue(pagesList.size() != 0);
+    }
+
+    @Test
+    public void testAddIfNotExistsForRetrievingPages() {
+        ReadingList list = readingListDbHelper.createList("Test8", "TestDesc");
+        PageTitle page = new PageTitle("1", 
WikipediaApp.getInstance().getWikiSite());
+        PageTitle page2 = new PageTitle("2", 
WikipediaApp.getInstance().getWikiSite());
+        PageTitle page3 = new PageTitle("3", 
WikipediaApp.getInstance().getWikiSite());
+        readingListDbHelper.addPageToList(list, page, false);
+        List<PageTitle> pages = new ArrayList<>();
+        pages.add(page);
+        pages.add(page2);
+        pages.add(page3);
+        int numAdded = readingListDbHelper.addPagesToListIfNotExist(list, 
pages);
+        readingListDbHelper.deleteList(list);
+        List<ReadingListPage> readingListPages = new ArrayList<>();
+        for (PageTitle page1 : pages) {
+            readingListPages.add(new ReadingListPage(page1));
+        }
+        readingListDbHelper.markPagesForDeletion(list, readingListPages);
+        Assert.assertTrue(numAdded == 2);
+    }
+
+    @Test
+    public void testFindPageForRetrievingPages() {
+        ReadingList list = readingListDbHelper.createList("Test8", "TestDesc");
+        PageTitle page = new PageTitle("1", 
WikipediaApp.getInstance().getWikiSite());
+        PageTitle page2 = new PageTitle("2", 
WikipediaApp.getInstance().getWikiSite());
+        PageTitle page3 = new PageTitle("3", 
WikipediaApp.getInstance().getWikiSite());
+        readingListDbHelper.addPageToList(list, page, false);
+        readingListDbHelper.addPageToList(list, page2, false);
+        readingListDbHelper.addPageToList(list, page3, false);
+        boolean exists = readingListDbHelper.pageExistsInList(list, page);
+        readingListDbHelper.deleteList(list);
+        List<ReadingListPage> pages = new ArrayList<>();
+        pages.add(new ReadingListPage(page));
+        pages.add(new ReadingListPage(page2));
+        pages.add(new ReadingListPage(page3));
+        readingListDbHelper.markPagesForDeletion(list, pages);
+        Assert.assertTrue(exists);
+    }
+
+    @Test
+    public void testFindPageForRetrievingPage() {
+        ReadingList list = readingListDbHelper.createList("Test9", "TestDesc");
+        ReadingList list2 = readingListDbHelper.createList("Test10", 
"TestDesc");
+        PageTitle page = new PageTitle("1", 
WikipediaApp.getInstance().getWikiSite());
+        PageTitle page2 = new PageTitle("2", 
WikipediaApp.getInstance().getWikiSite());
+        readingListDbHelper.addPageToList(list, page, false);
+        readingListDbHelper.addPageToList(list2, page2, false);
+        ReadingListPage readingListPage = 
readingListDbHelper.findPageInAnyList(page);
+        readingListDbHelper.deleteList(list);
+        readingListDbHelper.deleteList(list2);
+        List<ReadingListPage> pages = new ArrayList<>();
+        pages.add(new ReadingListPage(page));
+        readingListDbHelper.markPagesForDeletion(list, pages);
+        pages.clear();
+        pages.add(new ReadingListPage(page2));
+        readingListDbHelper.markPagesForDeletion(list2, pages);
+        Assert.assertTrue(readingListPage != null);
+    }
+
+    @Test
+    public void testGetAllPageOccurrencesForRetrievingPages() {
+        ReadingList list = readingListDbHelper.createList("Test11", 
"TestDesc");
+        ReadingList list2 = readingListDbHelper.createList("Test12", 
"TestDesc");
+        PageTitle page = new PageTitle("6", 
WikipediaApp.getInstance().getWikiSite());
+        readingListDbHelper.addPageToList(list, page, false);
+        readingListDbHelper.addPageToList(list2, page, false);
+        int numOfPages = 
readingListDbHelper.getAllPageOccurrences(page).size();
+        readingListDbHelper.deleteList(list);
+        readingListDbHelper.deleteList(list2);
+        List<ReadingListPage> pages = new ArrayList<>();
+        pages.add(new ReadingListPage(page));
+        readingListDbHelper.markPagesForDeletion(list, pages);
+        readingListDbHelper.markPagesForDeletion(list2, pages);
+        Assert.assertTrue(numOfPages != 0);
+    }
+
+    public boolean hasTitle(List<ReadingList> lists, String title) {
+        List<String> titles = new ArrayList<>();
+        for (ReadingList readingList : lists) {
+            titles.add(readingList.title());
+        }
+        return titles.contains(title);
+    }
+
+    @After
+    public void cleanUp() {
+        readingListDbHelper.purgeDeletedPages();
+    }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/399541
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I75307babfe4914ac6bbe840963d0fca94dcf13f6
Gerrit-PatchSet: 8
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Sharvaniharan <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Cooltey <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to