mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
No effective change - add some more tests for EntityBeanIntercept
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
package io.ebean.bean;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.Ebean;
|
||||
import io.ebean.DB;
|
||||
import org.tests.compositekeys.db.AuditInfo;
|
||||
import org.tests.model.basic.Customer;
|
||||
import org.tests.model.basic.EBasic;
|
||||
import org.tests.model.basic.ResetBasicData;
|
||||
@@ -19,12 +20,11 @@ import static org.junit.Assert.assertTrue;
|
||||
public class EntityBeanInterceptTest extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void testHasDirtyProperty() throws Exception {
|
||||
|
||||
public void testHasDirtyProperty() {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
List<Customer> list = Ebean.find(Customer.class).findList();
|
||||
List<Customer> list = DB.find(Customer.class).findList();
|
||||
|
||||
Set<String> propertyNames = new HashSet<>();
|
||||
propertyNames.add("name");
|
||||
@@ -32,7 +32,7 @@ public class EntityBeanInterceptTest extends BaseTestCase {
|
||||
|
||||
|
||||
Customer customer = list.get(0);
|
||||
EntityBeanIntercept ebi = ((EntityBean) customer)._ebean_getIntercept();
|
||||
EntityBeanIntercept ebi = ebi(customer);
|
||||
|
||||
assertFalse(ebi.hasDirtyProperty(propertyNames));
|
||||
|
||||
@@ -48,7 +48,7 @@ public class EntityBeanInterceptTest extends BaseTestCase {
|
||||
public void isPartial_when_new() {
|
||||
|
||||
EBasic basic = new EBasic();
|
||||
EntityBeanIntercept ebi = ((EntityBean) basic)._ebean_getIntercept();
|
||||
EntityBeanIntercept ebi = ebi(basic);
|
||||
assertThat(ebi.isPartial()).isTrue();
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ public class EntityBeanInterceptTest extends BaseTestCase {
|
||||
EBasic basic = new EBasic();
|
||||
basic.setId(42);
|
||||
basic.setName("some");
|
||||
EntityBeanIntercept ebi = ((EntityBean) basic)._ebean_getIntercept();
|
||||
EntityBeanIntercept ebi = ebi(basic);
|
||||
assertThat(ebi.isPartial()).isTrue();
|
||||
}
|
||||
|
||||
@@ -72,8 +72,64 @@ public class EntityBeanInterceptTest extends BaseTestCase {
|
||||
basic.setSomeDate(null);
|
||||
basic.setStatus(EBasic.Status.ACTIVE);
|
||||
|
||||
EntityBeanIntercept ebi = ((EntityBean) basic)._ebean_getIntercept();
|
||||
EntityBeanIntercept ebi = ebi(basic);
|
||||
assertThat(ebi.isPartial()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isEmbeddedNewOrDirty() {
|
||||
|
||||
AuditInfo auditInfo = new AuditInfo();
|
||||
EntityBeanIntercept ebi = ebi(auditInfo);
|
||||
assertTrue(ebi.isNew());
|
||||
assertTrue(ebi.isEmbeddedNewOrDirty(auditInfo));
|
||||
|
||||
auditInfo.setUpdatedBy("initial");
|
||||
ebi.setLoaded();
|
||||
assertTrue(ebi.isLoaded());
|
||||
assertFalse(ebi.isEmbeddedNewOrDirty(auditInfo));
|
||||
|
||||
auditInfo.setUpdatedBy("nowDirty");
|
||||
assertTrue(ebi.isDirty());
|
||||
assertTrue(ebi.isEmbeddedNewOrDirty(auditInfo));
|
||||
assertFalse(ebi.isEmbeddedNewOrDirty(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setEmbeddedLoaded() {
|
||||
AuditInfo auditInfo = new AuditInfo();
|
||||
EntityBeanIntercept ebi = ebi(auditInfo);
|
||||
assertFalse(ebi.isLoaded());
|
||||
|
||||
ebi.setEmbeddedLoaded(auditInfo);
|
||||
assertTrue(ebi.isLoaded());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void initialisedMany() {
|
||||
Customer customer = new Customer();
|
||||
EntityBeanIntercept ebi = ebi(customer);
|
||||
final int contactsPos = findProperty("contacts", ebi);
|
||||
assertFalse(ebi.isLoadedProperty(contactsPos));
|
||||
|
||||
ebi.initialisedMany(contactsPos);
|
||||
assertTrue(ebi.isLoadedProperty(contactsPos));
|
||||
}
|
||||
|
||||
private int findProperty(String name, EntityBeanIntercept eb) {
|
||||
final String[] names = eb.getOwner()._ebean_getPropertyNames();
|
||||
for (int i = 0; i < names.length; i++) {
|
||||
if (names[i].equals(name)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
throw new RuntimeException("property not found");
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private EntityBeanIntercept ebi(Object bean) {
|
||||
return ((EntityBean)bean)._ebean_getIntercept();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user