mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#919 - io.ebean package initial
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
package org.tests.basic;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.Ebean;
|
||||
import io.ebean.bean.BeanCollection;
|
||||
import org.tests.model.basic.Order;
|
||||
import org.tests.model.basic.OrderDetail;
|
||||
import org.tests.model.basic.Product;
|
||||
import org.tests.model.basic.ResetBasicData;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class TestSharedInstancePropagation extends BaseTestCase {
|
||||
|
||||
|
||||
/**
|
||||
* Test that the sharedInstance status is propagated on lazy loading.
|
||||
*/
|
||||
@Test
|
||||
public void testSharedListNavigate() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Ebean.getServerCacheManager().clearAll();
|
||||
|
||||
Order order = Ebean.find(Order.class)
|
||||
.setAutoTune(false)
|
||||
.setReadOnly(true)
|
||||
.setId(1)
|
||||
.findUnique();
|
||||
|
||||
|
||||
assertNotNull(order);
|
||||
assertTrue(Ebean.getBeanState(order).isReadOnly());
|
||||
|
||||
List<OrderDetail> details = order.getDetails();
|
||||
BeanCollection<?> bc = (BeanCollection<?>) details;
|
||||
assertTrue(bc.isReadOnly());
|
||||
assertFalse(bc.isPopulated());
|
||||
|
||||
// lazy load
|
||||
bc.size();
|
||||
|
||||
assertTrue(bc.isPopulated());
|
||||
assertTrue(!bc.isEmpty());
|
||||
OrderDetail detail = details.get(0);
|
||||
|
||||
assertTrue(Ebean.getBeanState(detail).isReadOnly());
|
||||
assertFalse(Ebean.getBeanState(detail).isReference());
|
||||
|
||||
Product product = detail.getProduct();
|
||||
|
||||
assertTrue(Ebean.getBeanState(product).isReadOnly());
|
||||
|
||||
// lazy load
|
||||
product.getName();
|
||||
assertFalse(Ebean.getBeanState(product).isReference());
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user