package org.tests.cache;
import io.ebean.BaseTestCase;
import io.ebean.Ebean;
import org.tests.model.basic.Address;
import org.tests.model.basic.Contact;
import org.tests.model.basic.Country;
import org.tests.model.basic.Customer;
import org.tests.model.basic.ResetBasicData;
import org.junit.Assert;
import org.junit.Test;
import java.util.List;
public class TestCacheCustomer extends BaseTestCase {
@Test
public void testUpdateAddress() {
ResetBasicData.reset();
Country nz = Ebean.getReference(Country.class, "NZ");
Address address = new Address();
address.setLine1("Some Place");
address.setCity("Auckland");
address.setCountry(nz);
Ebean.save(address);
address.setLine2("Else");
Ebean.save(address);
Ebean.delete(address);
}
@Test
public void test() {
ResetBasicData.reset();
List<Customer> list = Ebean.find(Customer.class).setAutoTune(false).setLoadBeanCache(true)
.findList();
Assert.assertTrue(list.size() > 1);
for (Customer customer : list) {
Address billingAddress = customer.getBillingAddress();
if (billingAddress != null) {
billingAddress.getLine1();
}
Address shippingAddress = customer.getShippingAddress();
if (shippingAddress != null) {
shippingAddress.getLine1();
}
List<Contact> contacts = customer.getContacts();
for (Contact contact : contacts) {
contact.getFirstName();
}
}
}
}