mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#740 - ClassCastException: java.util.ArrayList cannot be cast to com.avaje.ebean.bean.BeanCollection at com.avaje.ebeaninternal.server.deploy.BeanPropertyAssocMany.resetMany(BeanPropertyAssocMany.java:273)
This commit is contained in:
@@ -1,8 +1,13 @@
|
||||
package com.avaje.ebean;
|
||||
|
||||
import com.avaje.tests.model.basic.EBasic;
|
||||
import com.avaje.tests.model.basic.Order;
|
||||
import com.avaje.tests.model.basic.OrderDetail;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class EbeanServer_refresh {
|
||||
@@ -27,4 +32,41 @@ public class EbeanServer_refresh {
|
||||
server.refresh(basic);
|
||||
assertEquals(basic.getStatus(), EBasic.Status.ACTIVE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void refresh_when_oneToManyLoaded() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Order order = Ebean.find(Order.class, 1);
|
||||
order.getCustomer().getName();
|
||||
order.getDetails().size();
|
||||
|
||||
Ebean.refresh(order);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void refresh_when_oneToManyVanilla() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Order order = Ebean.find(Order.class, 1);
|
||||
order.getCustomer().getName();
|
||||
order.setDetails(new ArrayList<OrderDetail>());
|
||||
|
||||
Ebean.refresh(order);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void refresh_when_oneToManyNull() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
Order order = Ebean.find(Order.class, 1);
|
||||
order.getCustomer().getName();
|
||||
order.setDetails(null);
|
||||
|
||||
Ebean.refresh(order);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.avaje.ebeaninternal.server.deploy;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class BeanCascadeInfoTest {
|
||||
|
||||
@Test
|
||||
public void setTypes_ALL() throws Exception {
|
||||
|
||||
BeanCascadeInfo info = new BeanCascadeInfo();
|
||||
info.setTypes(new CascadeType[]{CascadeType.ALL});
|
||||
assertTrue(info.isSave());
|
||||
assertTrue(info.isDelete());
|
||||
assertTrue(info.isRefresh());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setTypes_PERSIST() throws Exception {
|
||||
|
||||
BeanCascadeInfo info = new BeanCascadeInfo();
|
||||
info.setTypes(new CascadeType[]{CascadeType.PERSIST});
|
||||
assertTrue(info.isSave());
|
||||
assertFalse(info.isDelete());
|
||||
assertFalse(info.isRefresh());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setTypes_MERGE() throws Exception {
|
||||
|
||||
BeanCascadeInfo info = new BeanCascadeInfo();
|
||||
info.setTypes(new CascadeType[]{CascadeType.MERGE});
|
||||
assertTrue(info.isSave());
|
||||
assertFalse(info.isDelete());
|
||||
assertFalse(info.isRefresh());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setTypes_REMOVE() throws Exception {
|
||||
|
||||
BeanCascadeInfo info = new BeanCascadeInfo();
|
||||
info.setTypes(new CascadeType[]{CascadeType.REMOVE});
|
||||
assertFalse(info.isSave());
|
||||
assertTrue(info.isDelete());
|
||||
assertFalse(info.isRefresh());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setTypes_REFRESH() throws Exception {
|
||||
|
||||
BeanCascadeInfo info = new BeanCascadeInfo();
|
||||
info.setTypes(new CascadeType[]{CascadeType.REFRESH});
|
||||
assertFalse(info.isSave());
|
||||
assertFalse(info.isDelete());
|
||||
assertTrue(info.isRefresh());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setDelete() throws Exception {
|
||||
|
||||
BeanCascadeInfo info = new BeanCascadeInfo();
|
||||
info.setDelete(true);
|
||||
assertFalse(info.isSave());
|
||||
assertTrue(info.isDelete());
|
||||
assertFalse(info.isRefresh());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setSaveDelete() throws Exception {
|
||||
|
||||
BeanCascadeInfo info = new BeanCascadeInfo();
|
||||
info.setSaveDelete(true, true);
|
||||
assertTrue(info.isSave());
|
||||
assertTrue(info.isDelete());
|
||||
assertFalse(info.isRefresh());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user