Search in sources :

Example 11 with User

use of com.pushtorefresh.storio3.sqlite.integration.User in project storio by pushtorefresh.

the class ObserveChangesInTableTest method deleteEmission.

@Test
public void deleteEmission() {
    final List<User> users = putUsersBlocking(10);
    final Queue<Changes> expectedChanges = new LinkedList<Changes>();
    expectedChanges.add(Changes.newInstance(UserTableMeta.TABLE, UserTableMeta.NOTIFICATION_TAG));
    final EmissionChecker emissionChecker = new EmissionChecker(expectedChanges);
    final Disposable disposable = emissionChecker.subscribe();
    deleteUsersBlocking(users);
    // Should receive changes of Users table
    emissionChecker.awaitNextExpectedValue();
    emissionChecker.assertThatNoExpectedValuesLeft();
    disposable.dispose();
}
Also used : Changes(com.pushtorefresh.storio3.sqlite.Changes) Disposable(io.reactivex.disposables.Disposable) AbstractEmissionChecker(com.pushtorefresh.storio3.test.AbstractEmissionChecker) LinkedList(java.util.LinkedList) Test(org.junit.Test)

Example 12 with User

use of com.pushtorefresh.storio3.sqlite.integration.User in project storio by pushtorefresh.

the class ObserveChangesInTableTest method updateEmission.

@Test
public void updateEmission() {
    final List<User> users = putUsersBlocking(10);
    final List<User> updated = new ArrayList<User>(users.size());
    for (User user : users) {
        updated.add(User.newInstance(user.id(), user.email()));
    }
    final Queue<Changes> expectedChanges = new LinkedList<Changes>();
    expectedChanges.add(Changes.newInstance(UserTableMeta.TABLE, UserTableMeta.NOTIFICATION_TAG));
    final EmissionChecker emissionChecker = new EmissionChecker(expectedChanges);
    final Disposable disposable = emissionChecker.subscribe();
    storIOSQLite.put().objects(updated).prepare().executeAsBlocking();
    // Should receive changes of Users table
    emissionChecker.awaitNextExpectedValue();
    emissionChecker.assertThatNoExpectedValuesLeft();
    disposable.dispose();
}
Also used : Changes(com.pushtorefresh.storio3.sqlite.Changes) Disposable(io.reactivex.disposables.Disposable) AbstractEmissionChecker(com.pushtorefresh.storio3.test.AbstractEmissionChecker) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) Test(org.junit.Test)

Example 13 with User

use of com.pushtorefresh.storio3.sqlite.integration.User in project storio by pushtorefresh.

the class ObserveChangesOfTagTest method insertEmission.

@Test
public void insertEmission() {
    final List<User> users = TestFactory.newUsers(10);
    final Queue<Changes> expectedChanges = new LinkedList<Changes>();
    expectedChanges.add(Changes.newInstance(UserTableMeta.TABLE, UserTableMeta.NOTIFICATION_TAG));
    final EmissionChecker emissionChecker = new EmissionChecker(expectedChanges);
    final Disposable disposable = emissionChecker.subscribe();
    putUsersBlocking(users);
    // Should receive changes of Users table
    emissionChecker.awaitNextExpectedValue();
    emissionChecker.assertThatNoExpectedValuesLeft();
    disposable.dispose();
}
Also used : Changes(com.pushtorefresh.storio3.sqlite.Changes) Disposable(io.reactivex.disposables.Disposable) AbstractEmissionChecker(com.pushtorefresh.storio3.test.AbstractEmissionChecker) LinkedList(java.util.LinkedList) Test(org.junit.Test)

Example 14 with User

use of com.pushtorefresh.storio3.sqlite.integration.User in project storio by pushtorefresh.

the class ObserveChangesOfTagTest method deleteEmission.

@Test
public void deleteEmission() {
    final List<User> users = putUsersBlocking(10);
    final Queue<Changes> expectedChanges = new LinkedList<Changes>();
    expectedChanges.add(Changes.newInstance(UserTableMeta.TABLE, UserTableMeta.NOTIFICATION_TAG));
    final EmissionChecker emissionChecker = new EmissionChecker(expectedChanges);
    final Disposable disposable = emissionChecker.subscribe();
    deleteUsersBlocking(users);
    // Should receive changes of Users table
    emissionChecker.awaitNextExpectedValue();
    emissionChecker.assertThatNoExpectedValuesLeft();
    disposable.dispose();
}
Also used : Changes(com.pushtorefresh.storio3.sqlite.Changes) Disposable(io.reactivex.disposables.Disposable) AbstractEmissionChecker(com.pushtorefresh.storio3.test.AbstractEmissionChecker) LinkedList(java.util.LinkedList) Test(org.junit.Test)

Example 15 with User

use of com.pushtorefresh.storio3.sqlite.integration.User in project storio by pushtorefresh.

the class UpdateTest method updateUserBlocking.

private void updateUserBlocking(@NonNull final User userForUpdate) {
    final PutResult updateResult = storIOSQLite.put().object(userForUpdate).prepare().executeAsBlocking();
    assertThat(updateResult.wasUpdated()).isTrue();
}
Also used : PutResult(com.pushtorefresh.storio3.sqlite.operations.put.PutResult)

Aggregations

Test (org.junit.Test)13 Disposable (io.reactivex.disposables.Disposable)10 AbstractEmissionChecker (com.pushtorefresh.storio3.test.AbstractEmissionChecker)9 LinkedList (java.util.LinkedList)9 Changes (com.pushtorefresh.storio3.sqlite.Changes)6 ArrayList (java.util.ArrayList)6 List (java.util.List)5 NonNull (android.support.annotation.NonNull)4 Tweet (com.pushtorefresh.storio3.sample.db.entities.Tweet)3 PutResult (com.pushtorefresh.storio3.sqlite.operations.put.PutResult)3 User (com.pushtorefresh.storio3.sample.db.entities.User)2 BaseTest (com.pushtorefresh.storio3.sqlite.integration.BaseTest)2 User (com.pushtorefresh.storio3.sqlite.integration.User)2 DeleteResult (com.pushtorefresh.storio3.sqlite.operations.delete.DeleteResult)2 RawQuery (com.pushtorefresh.storio3.sqlite.queries.RawQuery)2 TestSubscriber (io.reactivex.subscribers.TestSubscriber)2 Optional (com.pushtorefresh.storio3.Optional)1 TweetWithUser (com.pushtorefresh.storio3.sample.db.entities.TweetWithUser)1 UserWithTweets (com.pushtorefresh.storio3.sample.db.entities.UserWithTweets)1