package org.tests.query.other; import io.ebean.BaseTestCase; import io.ebean.Ebean; import org.tests.model.basic.Customer; import org.tests.model.basic.Order; import org.tests.model.basic.ResetBasicData; import org.ebeantest.LoggedSqlCollector; import org.junit.Assert; import org.junit.Test; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; public class TestWhereAnnotation extends BaseTestCase { @Test public void fetchEager_inFirstQuery() { ResetBasicData.reset(); LoggedSqlCollector.start(); Ebean.find(Customer.class) .fetch("orders") .findList(); List<String> loggedSql = LoggedSqlCollector.stop(); Assert.assertEquals(1, loggedSql.size()); String sql = loggedSql.get(0); Assert.assertTrue(sql.contains("t1.order_date is not null")); } @Test public void fetchLazy_inLazyLoadQuery() { ResetBasicData.reset(); Ebean.getServerCacheManager().clearAll(); LoggedSqlCollector.start(); List<Customer> customers = Ebean.find(Customer.class) .findList(); List<Order> orders = customers.get(0).getOrders(); assertThat(orders.size()).isGreaterThan(0); orders.get(0).getStatus(); List<String> loggedSql = LoggedSqlCollector.stop(); assertThat(loggedSql).hasSize(2); assertThat(loggedSql.get(1)).contains("t0.order_date is not null"); } }