Fix #23 - Covers: unit tests for: stateless updates which fails when executing without...

This commit is contained in:
Rob Bygrave
2014-04-23 21:16:30 +12:00
parent b012720a5e
commit a7df7da984
12 changed files with 222 additions and 28 deletions
@@ -0,0 +1,42 @@
package com.avaje.ebeaninternal.server.deploy;
import java.util.List;
import org.junit.Assert;
import org.junit.Test;
import com.avaje.ebean.BaseTestCase;
import com.avaje.ebean.Ebean;
import com.avaje.ebean.bean.BeanCollection;
import com.avaje.ebean.bean.EntityBean;
import com.avaje.ebean.bean.EntityBeanIntercept;
import com.avaje.ebeaninternal.api.SpiEbeanServer;
import com.avaje.tests.model.basic.Contact;
import com.avaje.tests.model.basic.Customer;
public class TestCollectionLoadedStatus extends BaseTestCase {
@Test
public void test() {
SpiEbeanServer server = (SpiEbeanServer)Ebean.getServer(null);
BeanDescriptor<Customer> custDesc = server.getBeanDescriptor(Customer.class);
Customer customer = new Customer();
EntityBean eb = (EntityBean)customer;
EntityBeanIntercept ebi = eb._ebean_getIntercept();
BeanProperty contactsProperty = custDesc.getBeanProperty("contacts");
Assert.assertFalse(ebi.isLoadedProperty(contactsProperty.getPropertyIndex()));
Object contactsViaInternal = contactsProperty.getValue(eb);
Assert.assertNull(contactsViaInternal);
Assert.assertFalse(ebi.isLoadedProperty(contactsProperty.getPropertyIndex()));
List<Contact> contacts = customer.getContacts();
Assert.assertNotNull(contacts);
Assert.assertTrue(contacts instanceof BeanCollection);
Assert.assertTrue(ebi.isLoadedProperty(contactsProperty.getPropertyIndex()));
}
}