import com.google.gson.Gson;
import com.instructure.canvasapi.model.DiscussionEntry;
import com.instructure.canvasapi.model.DiscussionParticipant;
import com.instructure.canvasapi.model.DiscussionTopic;
import com.instructure.canvasapi.utilities.CanvasRestAdapter;
import junit.framework.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@Config(sdk = 17)
@RunWith(RobolectricGradleTestRunner.class)
public class DiscussionTopicUnitTest extends Assert {
@Test
public void testDiscussionTopic() {
Gson gson = CanvasRestAdapter.getGSONParser();
DiscussionTopic discussionTopic = gson.fromJson(discussionTopicJSON,DiscussionTopic.class);
assertNotNull(discussionTopic);
assertNotNull(discussionTopic.getViews());
for(DiscussionEntry discussionEntry : discussionTopic.getViews())
{
DiscussionEntryUnitTest.testDiscussionEntryView(discussionEntry);
}
assertNotNull(discussionTopic.getUnreadEntries());
assertTrue(discussionTopic.getUnreadEntries().size() > 0);
assertNotNull(discussionTopic.getParticipants());
for(DiscussionParticipant discussionParticipant : discussionTopic.getParticipants()){
assertNotNull(discussionParticipant);
assertNotNull(discussionParticipant.getHtmlUrl());
assertNotNull(discussionParticipant.getDisplayName());
assertNotNull(discussionParticipant.getAvatarUrl());
assertTrue(discussionParticipant.getId() > 0);
}
}
String discussionTopicJSON = "{ \"unread_entries\": [1,2,3], \"forced_entries\": [], \"participants\": [{\"id\":3828648,\"display_name\":\"Drip Derskey\",\"avatar_image_url\":\"https://mobiledev.instructure.com/images/thumbnails/32957548/krblSV5HHvhqqlxUCtvAsR6AkGMI21qsw8i2y1Tx\",\"html_url\":\"https://mobiledev.instructure.com/courses/24219/users/3828648\"},{\"id\":3363291,\"display_name\":\"Josher\",\"avatar_image_url\":\"https://mobiledev.instructure.com/images/thumbnails/25871866/VCYN4XMwkJjyXJQy2tyKXibUdPnIT4aAmZCPstGP\",\"html_url\":\"https://mobiledev.instructure.com/courses/24219/users/3363291\"}], \"view\": [{\"created_at\":\"2013-05-29T15:50:24Z\",\"id\":5203752,\"parent_id\":null,\"updated_at\":\"2013-05-29T15:50:24Z\",\"user_id\":3828648,\"message\":\"Clojure1!!11!!\"},{\"created_at\":\"2013-05-29T15:51:18Z\",\"id\":5203767,\"parent_id\":null,\"updated_at\":\"2013-05-29T15:51:18Z\",\"user_id\":3828648,\"message\":\"I mean: Clojure is the best programming language.\",\"replies\":[{\"created_at\":\"2013-10-07T18:06:58Z\",\"id\":7221310,\"parent_id\":5203767,\"updated_at\":\"2013-10-07T18:06:58Z\",\"user_id\":3363291,\"message\":\"False\"}]}], \"new_entries\": [] }";
}