From d89b1b0367eec676774e7f39bd8adf866b24f18d Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Tue, 17 May 2016 08:19:13 +1200 Subject: [PATCH] #511 Add Test (that is clearer with better asserts) --- .../softdelete/TestSoftDeletePagingList.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/test/java/com/avaje/tests/query/softdelete/TestSoftDeletePagingList.java diff --git a/src/test/java/com/avaje/tests/query/softdelete/TestSoftDeletePagingList.java b/src/test/java/com/avaje/tests/query/softdelete/TestSoftDeletePagingList.java new file mode 100644 index 000000000..430facf91 --- /dev/null +++ b/src/test/java/com/avaje/tests/query/softdelete/TestSoftDeletePagingList.java @@ -0,0 +1,49 @@ +package com.avaje.tests.query.softdelete; + +import com.avaje.ebean.Ebean; +import com.avaje.ebean.PagedList; +import com.avaje.tests.model.onetoone.album.Cover; +import org.avaje.ebeantest.LoggedSqlCollector; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class TestSoftDeletePagingList { + + @Test + public void test() { + + List list = new ArrayList(); + list.add(new Cover("SoftDelPaged-1")); + list.add(new Cover("SoftDelPaged-2")); + list.add(new Cover("SoftDelPaged-3")); + + Ebean.saveAll(list); + Ebean.delete(list.get(1)); + + LoggedSqlCollector.start(); + + PagedList pagedList = Ebean.find(Cover.class) + .where().startsWith("s3Url", "SoftDelPaged-") + .setMaxRows(10) + .findPagedList(); + + int totalRowCount = pagedList.getTotalRowCount(); + List resultList = pagedList.getList(); + + List sql = LoggedSqlCollector.stop(); + + assertThat(resultList).hasSize(2); + assertThat(totalRowCount).isEqualTo(2); + + assertThat(sql).hasSize(2); + assertThat(sql.get(0)).contains("select count(*) from cover t0 where t0.s3url like"); + assertThat(sql.get(0)).contains("and coalesce(t0.deleted,false)=false; --bind(SoftDelPaged-%)"); + + assertThat(sql.get(1)).contains("where t0.s3url like "); + assertThat(sql.get(1)).contains("and coalesce(t0.deleted,false)=false order by t0.id"); + } +}