Search in sources :

Example 6 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class ProviderTest method testSaveBook.

/**
 * Saving book to repo.
 */
@Test
public void testSaveBook() throws IOException {
    shelfTestUtils.setupBook("book-1", "* Note 1\n** Note 2");
    shelfTestUtils.setupRepo("mock://repo");
    long now = System.currentTimeMillis();
    Book savedBook = shelf.saveBookToRepo("mock://repo", "book-1.org", shelf.getBook(1), BookName.Format.ORG);
    VersionedRook vrook = savedBook.getLastSyncedToRook();
    assertEquals("book-1", BookName.getInstance(context, vrook).getName());
    assertEquals("mock://repo", vrook.getRepoUri().toString());
    assertEquals("mock://repo/book-1.org", vrook.getUri().toString());
    assertTrue(vrook.getMtime() >= now);
    Book book = shelf.getBook(1);
    vrook = book.getLastSyncedToRook();
    assertEquals("book-1", BookName.getInstance(context, vrook).getName());
    assertEquals("mock://repo", vrook.getRepoUri().toString());
    assertEquals("mock://repo/book-1.org", vrook.getUri().toString());
    assertTrue(vrook.getMtime() >= now);
}
Also used : VersionedRook(com.orgzly.android.repos.VersionedRook) Book(com.orgzly.android.Book) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 7 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class DirectoryRepoTest method testRenameBook.

// TODO: Do the same for dropbox repo
@Test
public void testRenameBook() throws IOException {
    Book book;
    shelfTestUtils.setupRepo(repoUriString);
    shelfTestUtils.setupBook("booky", "");
    shelf.sync();
    book = shelf.getBook("booky");
    assertEquals(repoUriString, book.getLinkRepo().toString());
    assertEquals(repoUriString, book.getLastSyncedToRook().getRepoUri().toString());
    assertEquals(repoUriString + "/booky.org", book.getLastSyncedToRook().getUri().toString());
    shelf.renameBook(book, "booky-renamed");
    book = shelf.getBook("booky-renamed");
    assertEquals(repoUriString, book.getLinkRepo().toString());
    assertEquals(repoUriString, book.getLastSyncedToRook().getRepoUri().toString());
    assertEquals(repoUriString + "/booky-renamed.org", book.getLastSyncedToRook().getUri().toString());
}
Also used : Book(com.orgzly.android.Book) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 8 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class ShelfTest method testLoadRook.

@Test
public void testLoadRook() throws IOException {
    shelfTestUtils.setupRepo("mock://repo-a");
    shelfTestUtils.setupRook("mock://repo-a", "mock://repo-a/remote-book-1.org", "", "0abcdef", 1400067156000L);
    shelfTestUtils.setupRook("mock://repo-a", "mock://repo-a/remote-book-2.org", "", "1abcdef", 1300067156000L);
    shelfTestUtils.setupRook("mock://repo-a", "mock://repo-a/remote-book-3.org", "", "2abcdef", 1200067156000L);
    VersionedRook vrook = shelf.getBooksFromAllRepos(null).get(0);
    shelf.loadBookFromRepo(vrook);
    assertEquals(1, shelf.getBooks().size());
    Book book = shelf.getBooks().get(0);
    assertEquals("remote-book-1", book.getName());
    assertEquals("/remote-book-1.org", book.getLastSyncedToRook().getUri().getPath());
    assertEquals("remote-book-1", BookName.getInstance(context, book.getLastSyncedToRook()).getName());
    assertEquals("0abcdef", book.getLastSyncedToRook().getRevision());
    assertEquals(1400067156000L, book.getLastSyncedToRook().getMtime());
}
Also used : Book(com.orgzly.android.Book) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 9 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class SyncTest method testMockFileRename.

@Test
public void testMockFileRename() throws IOException {
    List<VersionedRook> vrooks;
    Repo repo = shelfTestUtils.setupRepo("mock://repo-a");
    Book book = shelfTestUtils.setupBook("Booky", "1 2 3");
    shelf.sync();
    vrooks = repo.getBooks();
    assertEquals(1, vrooks.size());
    assertEquals("Booky", BookName.getInstance(context, vrooks.get(0)).getName());
    long mtime = vrooks.get(0).getMtime();
    String rev = vrooks.get(0).getRevision();
    // Rename local notebook
    shelf.renameBook(book, "BookyRenamed");
    // Rename rook
    repo.renameBook(Uri.parse("mock://repo-a/Booky.org"), "BookyRenamed");
    vrooks = repo.getBooks();
    assertEquals(1, vrooks.size());
    assertEquals("BookyRenamed", BookName.getInstance(context, vrooks.get(0)).getName());
    assertEquals("mock://repo-a/BookyRenamed.org", vrooks.get(0).getUri().toString());
    assertTrue(mtime < vrooks.get(0).getMtime());
    assertNotSame(rev, vrooks.get(0).getRevision());
}
Also used : Book(com.orgzly.android.Book) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 10 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class SyncTest method testRenameSyncedBookWithDifferentLink.

@Test
public void testRenameSyncedBookWithDifferentLink() throws IOException {
    Book book;
    Repo repoA = shelfTestUtils.setupRepo("mock://repo-a");
    Repo repoB = shelfTestUtils.setupRepo("mock://repo-b");
    book = shelfTestUtils.setupBook("Booky", "1 2 3");
    shelf.setLink(book, "mock://repo-a");
    shelf.sync();
    book = BooksClient.getAll(context).get(0);
    assertEquals(1, repoA.getBooks().size());
    assertEquals(0, repoB.getBooks().size());
    assertEquals("mock://repo-a", book.getLinkRepo().toString());
    assertEquals("mock://repo-a", book.getLastSyncedToRook().getRepoUri().toString());
    assertEquals("mock://repo-a/Booky.org", book.getLastSyncedToRook().getUri().toString());
    shelf.setLink(book, "mock://repo-b");
    book = BooksClient.getAll(context).get(0);
    shelf.renameBook(book, "BookyRenamed");
    book = BooksClient.getAll(context).get(0);
    assertEquals("Booky", book.getName());
    assertEquals(BookSyncStatus.ROOK_AND_VROOK_HAVE_DIFFERENT_REPOS, book.getSyncStatus());
    assertEquals("mock://repo-b", book.getLinkRepo().toString());
    assertEquals("mock://repo-a/Booky.org", book.getLastSyncedToRook().getUri().toString());
}
Also used : Book(com.orgzly.android.Book) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Aggregations

Book (com.orgzly.android.Book)60 OrgzlyTest (com.orgzly.android.OrgzlyTest)47 Test (org.junit.Test)47 Note (com.orgzly.android.Note)21 NotePosition (com.orgzly.android.NotePosition)11 IOException (java.io.IOException)8 Shelf (com.orgzly.android.Shelf)6 Uri (android.net.Uri)5 Context (android.content.Context)4 Intent (android.content.Intent)4 TypedArray (android.content.res.TypedArray)4 NavigationView (android.support.design.widget.NavigationView)4 SearchView (android.support.v7.widget.SearchView)4 MenuItem (android.view.MenuItem)4 View (android.view.View)4 TextView (android.widget.TextView)4 Query (com.orgzly.android.query.Query)4 File (java.io.File)4 Activity (android.app.Activity)3 AlertDialog (android.app.AlertDialog)3