Search in sources :

Example 1 with VOID

use of it.niedermann.owncloud.notes.shared.model.DBStatus.VOID in project nextcloud-notes by stefan-niedermann.

the class NotesDaoTest method getRemoteIds.

@Test
public void getRemoteIds() {
    final var secondAccount = setupSecondAccount();
    db.getNoteDao().addNote(new Note(1, 4711L, Calendar.getInstance(), "T", "C", "", false, "1", VOID, account.getId(), "", 0));
    db.getNoteDao().addNote(new Note(2, 1234L, Calendar.getInstance(), "T", "C", "", false, "1", LOCAL_EDITED, account.getId(), "", 0));
    db.getNoteDao().addNote(new Note(3, 1234L, Calendar.getInstance(), "T", "C", "", false, "1", LOCAL_EDITED, secondAccount.getId(), "", 0));
    db.getNoteDao().addNote(new Note(4, 6969L, Calendar.getInstance(), "T", "C", "", false, "1", LOCAL_DELETED, account.getId(), "", 0));
    final List<Long> remoteIdsOfAccount = db.getNoteDao().getRemoteIds(account.getId());
    assertTrue(remoteIdsOfAccount.stream().anyMatch(id -> 4711 == id));
    assertTrue(remoteIdsOfAccount.stream().anyMatch(id -> 1234 == id));
    assertEquals("Remote IDs can only occur a single time, like in a set.", 1, remoteIdsOfAccount.stream().filter(id -> 1234 == id).count());
    assertFalse("Remote IDs from notes of other accounts must not be returned.", remoteIdsOfAccount.stream().anyMatch(id -> 6969 == id));
}
Also used : Note(it.niedermann.owncloud.notes.persistence.entity.Note) DBStatus(it.niedermann.owncloud.notes.shared.model.DBStatus) NonNull(androidx.annotation.NonNull) RunWith(org.junit.runner.RunWith) LOCAL_EDITED(it.niedermann.owncloud.notes.shared.model.DBStatus.LOCAL_EDITED) ApplicationProvider(androidx.test.core.app.ApplicationProvider) CategoryWithNotesCount(it.niedermann.owncloud.notes.persistence.entity.CategoryWithNotesCount) InstantTaskExecutorRule(androidx.arch.core.executor.testing.InstantTaskExecutorRule) Calendar(java.util.Calendar) After(org.junit.After) Before(org.junit.Before) LOCAL_DELETED(it.niedermann.owncloud.notes.shared.model.DBStatus.LOCAL_DELETED) Capabilities(it.niedermann.owncloud.notes.shared.model.Capabilities) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) Room(androidx.room.Room) VOID(it.niedermann.owncloud.notes.shared.model.DBStatus.VOID) Assert.assertNotEquals(org.junit.Assert.assertNotEquals) RobolectricTestRunner(org.robolectric.RobolectricTestRunner) List(java.util.List) Rule(org.junit.Rule) Assert.assertNull(org.junit.Assert.assertNull) Assert.assertFalse(org.junit.Assert.assertFalse) SQLiteConstraintException(android.database.sqlite.SQLiteConstraintException) Account(it.niedermann.owncloud.notes.persistence.entity.Account) Assert.assertEquals(org.junit.Assert.assertEquals) Note(it.niedermann.owncloud.notes.persistence.entity.Note) Test(org.junit.Test)

Example 2 with VOID

use of it.niedermann.owncloud.notes.shared.model.DBStatus.VOID in project nextcloud-notes by stefan-niedermann.

the class NotesDaoTest method getRemoteIdAndId.

@Test
public void getRemoteIdAndId() {
    db.getNoteDao().addNote(new Note(815, 4711L, Calendar.getInstance(), "T", "C", "", false, "1", VOID, account.getId(), "", 0));
    db.getNoteDao().addNote(new Note(666, 1234L, Calendar.getInstance(), "T", "C", "", false, "1", LOCAL_EDITED, account.getId(), "", 0));
    db.getNoteDao().addNote(new Note(987, 6969L, Calendar.getInstance(), "T", "C", "", false, "1", LOCAL_DELETED, account.getId(), "", 0));
    final var pair = db.getNoteDao().getRemoteIdAndId(account.getId());
    assertEquals(2, pair.size());
    assertTrue(pair.stream().anyMatch(note -> 815 == note.getId() && Long.valueOf(4711).equals(note.getRemoteId())));
    assertTrue(pair.stream().anyMatch(note -> 666 == note.getId() && Long.valueOf(1234).equals(note.getRemoteId())));
    assertFalse("Result must not contain deleted note", pair.stream().anyMatch(note -> 987 == note.getId()));
    assertFalse("Result must not contain deleted note", pair.stream().anyMatch(note -> Long.valueOf(6969).equals(note.getRemoteId())));
}
Also used : Note(it.niedermann.owncloud.notes.persistence.entity.Note) DBStatus(it.niedermann.owncloud.notes.shared.model.DBStatus) NonNull(androidx.annotation.NonNull) RunWith(org.junit.runner.RunWith) LOCAL_EDITED(it.niedermann.owncloud.notes.shared.model.DBStatus.LOCAL_EDITED) ApplicationProvider(androidx.test.core.app.ApplicationProvider) CategoryWithNotesCount(it.niedermann.owncloud.notes.persistence.entity.CategoryWithNotesCount) InstantTaskExecutorRule(androidx.arch.core.executor.testing.InstantTaskExecutorRule) Calendar(java.util.Calendar) After(org.junit.After) Before(org.junit.Before) LOCAL_DELETED(it.niedermann.owncloud.notes.shared.model.DBStatus.LOCAL_DELETED) Capabilities(it.niedermann.owncloud.notes.shared.model.Capabilities) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) Room(androidx.room.Room) VOID(it.niedermann.owncloud.notes.shared.model.DBStatus.VOID) Assert.assertNotEquals(org.junit.Assert.assertNotEquals) RobolectricTestRunner(org.robolectric.RobolectricTestRunner) List(java.util.List) Rule(org.junit.Rule) Assert.assertNull(org.junit.Assert.assertNull) Assert.assertFalse(org.junit.Assert.assertFalse) SQLiteConstraintException(android.database.sqlite.SQLiteConstraintException) Account(it.niedermann.owncloud.notes.persistence.entity.Account) Assert.assertEquals(org.junit.Assert.assertEquals) Note(it.niedermann.owncloud.notes.persistence.entity.Note) Test(org.junit.Test)

Aggregations

SQLiteConstraintException (android.database.sqlite.SQLiteConstraintException)2 NonNull (androidx.annotation.NonNull)2 InstantTaskExecutorRule (androidx.arch.core.executor.testing.InstantTaskExecutorRule)2 Room (androidx.room.Room)2 ApplicationProvider (androidx.test.core.app.ApplicationProvider)2 Account (it.niedermann.owncloud.notes.persistence.entity.Account)2 CategoryWithNotesCount (it.niedermann.owncloud.notes.persistence.entity.CategoryWithNotesCount)2 Note (it.niedermann.owncloud.notes.persistence.entity.Note)2 Capabilities (it.niedermann.owncloud.notes.shared.model.Capabilities)2 DBStatus (it.niedermann.owncloud.notes.shared.model.DBStatus)2 LOCAL_DELETED (it.niedermann.owncloud.notes.shared.model.DBStatus.LOCAL_DELETED)2 LOCAL_EDITED (it.niedermann.owncloud.notes.shared.model.DBStatus.LOCAL_EDITED)2 VOID (it.niedermann.owncloud.notes.shared.model.DBStatus.VOID)2 Calendar (java.util.Calendar)2 List (java.util.List)2 After (org.junit.After)2 Assert.assertEquals (org.junit.Assert.assertEquals)2 Assert.assertFalse (org.junit.Assert.assertFalse)2 Assert.assertNotEquals (org.junit.Assert.assertNotEquals)2 Assert.assertNull (org.junit.Assert.assertNull)2