mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Refactor move tests from ebean-core to ebean-test
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package org.tests.query;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.BeanState;
|
||||
import io.ebean.DB;
|
||||
import io.ebean.Query;
|
||||
import org.tests.model.basic.MyLobSize;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class TestDefaultFetchLazy extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void testFetchTypeLazy() {
|
||||
|
||||
MyLobSize m = new MyLobSize();
|
||||
m.setName("aname");
|
||||
m.setMyCount(10);
|
||||
m.setMyLob("A big lob of data");
|
||||
|
||||
DB.save(m);
|
||||
|
||||
assertNotNull(m.getId());
|
||||
|
||||
MyLobSize myLobSize = DB.find(MyLobSize.class, m.getId());
|
||||
|
||||
BeanState beanState = DB.beanState(myLobSize);
|
||||
Set<String> loadedProps = beanState.loadedProps();
|
||||
|
||||
assertNotNull(loadedProps);
|
||||
assertTrue(loadedProps.contains("id"));
|
||||
assertTrue(loadedProps.contains("name"));
|
||||
|
||||
// FetchType.LAZY properties excluded
|
||||
assertFalse(loadedProps.contains("myLob"));
|
||||
assertFalse(loadedProps.contains("myCount"));
|
||||
|
||||
// the details is also tuned
|
||||
Query<MyLobSize> queryMany = DB.find(MyLobSize.class).fetch("details")// ,"+query")
|
||||
.where().gt("id", 0).query();
|
||||
|
||||
queryMany.findList();
|
||||
|
||||
String generatedSql = queryMany.getGeneratedSql();
|
||||
assertTrue(generatedSql.contains("t1.other"));
|
||||
assertFalse(generatedSql.contains("t1.something"));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user