package com.box.androidsdk.content.models; import com.box.androidsdk.content.testUtil.DateUtil; import com.box.androidsdk.content.testUtil.PowerMock; import com.box.androidsdk.content.utils.BoxDateFormat; import com.eclipsesource.json.JsonObject; import org.junit.Assert; import org.junit.Test; import java.util.Date; /** * Test BoxComment model */ public class BoxCommentTest extends PowerMock { @Test public void testConstructorNoParameter() { // given // when BoxComment comment = new BoxComment(); Date createdAt = comment.getCreatedAt(); BoxUser createdBy = comment.getCreatedBy(); Boolean isReply = comment.getIsReplyComment(); BoxItem item = comment.getItem(); String message = comment.getMessage(); Date modifiedAt = comment.getModifiedAt(); String taggedMessage = comment.getTaggedMessage(); // then Assert.assertNull(createdAt); Assert.assertNull(createdBy); Assert.assertNull(isReply); Assert.assertNull(item); Assert.assertNull(message); Assert.assertNull(modifiedAt); Assert.assertNull(taggedMessage); } @Test public void testConstructorWithJsonObjectParameter() { // given String expectedType = "comment"; Date expectedCreatedAt = new Date(); Date expectedModifiedAt = new Date(); Boolean expectedIsReplyComment = false; String expectedMessage = "These tigers are cool!"; String expectedTaggedMessage = "These tigers are cool!"; BoxUser expectedCreatedBy = BoxUser.createFromId("1"); BoxItem expectedItem = BoxFile.createFromId("1"); String commentJson = "{" + "\"type\":\"" + expectedType + "\"," + "\"is_reply_comment\":" + expectedIsReplyComment + "," + "\"message\":\"" + expectedMessage + "\"," + "\"tagged_message\":\"" + expectedTaggedMessage + "\"," + "\"created_by\":" + expectedCreatedBy.toJson() + "," + "\"created_at\":\"" + BoxDateFormat.format(expectedCreatedAt) + "\"," + "\"modified_at\":\"" + BoxDateFormat.format(expectedModifiedAt) + "\"," + "\"item\":" + expectedItem.toJson() + "}"; JsonObject jsonObj = JsonObject.readFrom(commentJson); // when BoxComment comment = new BoxComment(jsonObj); // then Assert.assertEquals(expectedType, comment.getType()); DateUtil.assertSameDateSecondPrecision(expectedCreatedAt, comment.getCreatedAt()); DateUtil.assertSameDateSecondPrecision(expectedModifiedAt, comment.getModifiedAt()); Assert.assertEquals(expectedMessage, comment.getMessage()); Assert.assertEquals(expectedCreatedBy, comment.getCreatedBy()); Assert.assertEquals(expectedTaggedMessage, comment.getTaggedMessage()); Assert.assertEquals(expectedItem, comment.getItem()); Assert.assertEquals(expectedIsReplyComment, comment.getIsReplyComment()); } }