use of com.android.example.devsummit.archdemo.api.NewPostResponse in project dev-summit-architecture-demo by yigit.
the class SaveNewPostJob method onRun.
@Override
public void onRun() throws Throwable {
Post post = mPostModel.loadByClientIdAndUserId(mClientId, mUserId);
if (post != null && !post.isPending()) {
// looks like post probably arrived from somewhere else. Good Job!
mEventBus.post(new UpdatedPostEvent(post));
return;
}
Response<NewPostResponse> response = mApiService.sendPost(mText, mClientId, mUserId).execute();
if (response.isSuccess()) {
NewPostResponse body = response.body();
body.getPost().setPending(false);
mPostModel.save(body.getPost());
mUserModel.save(body.getUser());
mEventBus.post(new UpdatedPostEvent(body.getPost()));
} else {
throw new NetworkException(response.code());
}
}
use of com.android.example.devsummit.archdemo.api.NewPostResponse in project dev-summit-architecture-demo by yigit.
the class FeedModelTest method loadFeed.
@Test
public void loadFeed() {
NewPostResponse response = new NewPostResponse();
Post post = TestUtil.createDummyPost();
User user = TestUtil.createDummyUser();
post.setUserId(user.getId());
response.setUser(user);
response.setPost(post);
mPostModel.save(post);
mUserModel.save(user);
assertThat(mUserModel.load(user.getId()), notNullValue());
assertThat(mPostModel.load(post.getId()), notNullValue());
List<FeedItem> feed = mFeedModel.loadFeed(0, user.getId());
assertThat(feed, notNullValue());
assertThat(feed.size(), is(1));
FeedItem loaded = feed.get(0);
assertThat(loaded.getUser().getId(), is(user.getId()));
assertThat(loaded.getPost().getId(), is(post.getId()));
}
Aggregations