mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#566 - Refactor internals - Initial tidy on OrmQueryDetail and OrmQueryDetailProperties
This commit is contained in:
@@ -1,37 +1,40 @@
|
||||
package com.avaje.tests.query;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.Query;
|
||||
import com.avaje.ebeaninternal.api.SpiQuery;
|
||||
import com.avaje.ebeaninternal.server.querydefn.OrmQueryDetail;
|
||||
import com.avaje.tests.model.basic.Order;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class TestQueryParsing extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
String oq = "find order join customer join customer.contacts join details (+query(4),+lazy(5))";
|
||||
String oq = "find order join customer (id, name) join customer.contacts join details (+query(4),+lazy(5))";
|
||||
Query<Order> q = Ebean.createQuery(Order.class, oq);
|
||||
checkQuery(q);
|
||||
|
||||
String oq1 = "find order join customer join customer.contacts join details ( +query(4), +lazy(5) )";
|
||||
String oq1 = "find order join customer (id, name) join customer.contacts join details ( +query(4), +lazy(5) )";
|
||||
SpiQuery<?> q1 = (SpiQuery<?>) Ebean.createQuery(Order.class, oq1);
|
||||
checkQuery(q1);
|
||||
|
||||
String oq2 = "find order join customer join customer.contacts join details ( +query(4), +lazy(5) , *)";
|
||||
String oq2 = "find order join customer (id, name) join customer.contacts join details ( +query(4), +lazy(5) , *)";
|
||||
SpiQuery<?> q2 = (SpiQuery<?>) Ebean.createQuery(Order.class, oq2);
|
||||
checkQuery(q2);
|
||||
|
||||
String oq3 = "find order join customer join customer.contacts join details (+query(4),+lazy(5),*)";
|
||||
String oq3 = "find order join customer (id, name) join customer.contacts join details (+query(4),+lazy(5),*)";
|
||||
SpiQuery<?> q3 = (SpiQuery<?>) Ebean.createQuery(Order.class, oq3);
|
||||
checkQuery(q3);
|
||||
|
||||
String oq4 = "find order join customer join customer.contacts join details (+query(4) +lazy(5) *)";
|
||||
String oq4 = "find order join customer (id, name) join customer.contacts join details (+query(4) +lazy(5) *)";
|
||||
SpiQuery<?> q4 = (SpiQuery<?>) Ebean.createQuery(Order.class, oq4);
|
||||
checkQuery(q4);
|
||||
|
||||
@@ -41,23 +44,25 @@ public class TestQueryParsing extends BaseTestCase {
|
||||
|
||||
SpiQuery<?> sq = (SpiQuery<?>) q;
|
||||
OrmQueryDetail detail = sq.getDetail();
|
||||
assertTrue(detail.getChunk(null, false).allProperties());
|
||||
|
||||
Assert.assertNotNull(detail.getChunk("customer", false));
|
||||
Assert.assertFalse(detail.getChunk("customer", false).isQueryFetch());
|
||||
Assert.assertFalse(detail.getChunk("customer", false).isLazyFetch());
|
||||
assertNotNull(detail.getChunk("customer", false));
|
||||
assertFalse(detail.getChunk("customer", false).isQueryFetch());
|
||||
assertFalse(detail.getChunk("customer", false).isLazyFetch());
|
||||
assertFalse(detail.getChunk("customer", false).allProperties());
|
||||
assertEquals("id, name",detail.getChunk("customer", false).getProperties());
|
||||
|
||||
Assert.assertNotNull(detail.getChunk("customer.contacts", false));
|
||||
Assert.assertFalse(detail.getChunk("customer.contacts", false).isQueryFetch());
|
||||
Assert.assertFalse(detail.getChunk("customer.contacts", false).isLazyFetch());
|
||||
assertNotNull(detail.getChunk("customer.contacts", false));
|
||||
assertFalse(detail.getChunk("customer.contacts", false).isQueryFetch());
|
||||
assertFalse(detail.getChunk("customer.contacts", false).isLazyFetch());
|
||||
assertTrue(detail.getChunk("customer.contacts", false).allProperties());
|
||||
|
||||
Assert.assertNotNull(detail.getChunk("details", false));
|
||||
Assert.assertTrue(detail.getChunk("details", false).isQueryFetch());
|
||||
Assert.assertTrue(detail.getChunk("details", false).isLazyFetch());
|
||||
|
||||
Assert.assertEquals(4, detail.getChunk("details", false).getQueryFetchBatch());
|
||||
Assert.assertEquals(5, detail.getChunk("details", false).getLazyFetchBatch());
|
||||
|
||||
Assert.assertTrue(detail.getChunk("details", false).allProperties());
|
||||
assertNotNull(detail.getChunk("details", false));
|
||||
assertTrue(detail.getChunk("details", false).isQueryFetch());
|
||||
assertTrue(detail.getChunk("details", false).isLazyFetch());
|
||||
assertEquals(4, detail.getChunk("details", false).getQueryFetchBatch());
|
||||
assertEquals(5, detail.getChunk("details", false).getLazyFetchBatch());
|
||||
assertTrue(detail.getChunk("details", false).allProperties());
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user