package org.tests.query.softdelete; import io.ebean.BaseTestCase; import io.ebean.Ebean; import io.ebean.PagedList; import org.tests.model.onetoone.album.Cover; import org.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 extends BaseTestCase { @Test public void test() { List<Cover> 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<Cover> pagedList = Ebean.find(Cover.class) .where().startsWith("s3Url", "SoftDelPaged-") .setMaxRows(10) .findPagedList(); int totalRowCount = pagedList.getTotalCount(); List<Cover> resultList = pagedList.getList(); List<String> 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"); if (isPlatformBooleanNative()) { assertThat(sql.get(0)).contains("and t0.deleted = false; --bind(SoftDelPaged-%)"); } else { assertThat(sql.get(0)).contains("and t0.deleted = 0; --bind(SoftDelPaged-%)"); } assertThat(sql.get(1)).contains("where t0.s3url like "); if (isPlatformBooleanNative()) { assertThat(sql.get(1)).contains("and t0.deleted = false order by t0.id"); } else { assertThat(sql.get(1)).contains("and t0.deleted = 0 order by t0.id"); } } }