package models.dao;
import static org.fest.assertions.Assertions.assertThat;
import static org.junit.Assert.fail;
import models.Comment;
import org.junit.Test;
import play.utils.dao.EntityNotFoundException;
import test.IntegrationTest;
import com.avaje.ebean.Page;
public class CommentDAOTest extends IntegrationTest {
@Test
public void testDeleteMissing() {
CommentDAO dao = getInstance(CommentDAO.class);
try {
dao.remove(42L);
fail();
} catch (EntityNotFoundException e) {
//success
}
}
@Test
public void testDelete() {
CommentDAO dao = getInstance(CommentDAO.class);
try {
dao.remove(-111L);
} catch (EntityNotFoundException e) {
fail();
}
assertThat(dao.get(-111L)).isNull();
}
@Test
public void testPage() {
CommentDAO dao = getInstance(CommentDAO.class);
Page<Comment> page = dao.page(-1L, 0, 10);
assertThat(page).isNotNull();
assertThat(page.getPageIndex()).isEqualTo(0);
assertThat(page.getTotalPageCount()).isEqualTo(0);
assertThat(page.getTotalRowCount()).isEqualTo(0);
page = dao.page(-11L, 0, 10);
assertThat(page).isNotNull();
assertThat(page.getPageIndex()).isEqualTo(0);
assertThat(page.getTotalPageCount()).isEqualTo(1);
assertThat(page.getTotalRowCount()).isEqualTo(4);
page = dao.page(-11L, 1, 3);
assertThat(page).isNotNull();
assertThat(page.getPageIndex()).isEqualTo(1);
assertThat(page.getTotalPageCount()).isEqualTo(2);
assertThat(page.getTotalRowCount()).isEqualTo(4);
}
@Test
public void testGetCommentsBy() {
CommentDAO dao = getInstance(CommentDAO.class);
Page<Comment> page = dao.getCommentsBy("facebook::testuser", 0, 10);
assertThat(page).isNotNull();
assertThat(page.getPageIndex()).isEqualTo(0);
assertThat(page.getTotalPageCount()).isEqualTo(3);
assertThat(page.getTotalRowCount()).isEqualTo(26);
page = dao.getCommentsBy("facebook::testuser", 2, 10);
assertThat(page).isNotNull();
assertThat(page.getPageIndex()).isEqualTo(2);
assertThat(page.getTotalPageCount()).isEqualTo(3);
assertThat(page.getTotalRowCount()).isEqualTo(26);
}
}