use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testFindByKeyDeleteInverse.
@Test
public void testFindByKeyDeleteInverse() {
Person person = randomPerson();
Address address = randomAddress();
person.setAddress(address);
data.insert(person);
data.delete(address);
person = data.findByKey(Person.class, person.getId());
assertNull(person);
Address cached = data.findByKey(Address.class, address.getId());
assertNull(cached);
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testUpdateOneToOneCascade.
@Test
public void testUpdateOneToOneCascade() {
Address address = randomAddress();
Person person = randomPerson();
data.insert(person);
person.setAddress(address);
data.update(person);
assertSame(address.getPerson(), person);
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testInsertOneToManyInverseThroughSet.
@Test
public void testInsertOneToManyInverseThroughSet() {
Person person = randomPerson();
data.insert(person);
Phone phone1 = randomPhone();
Phone phone2 = randomPhone();
person.getPhoneNumbers().add(phone1);
person.getPhoneNumbers().add(phone2);
data.update(person);
assertEquals(2, person.getPhoneNumbersSet().size());
assertTrue(person.getPhoneNumbersSet().containsAll(Arrays.asList(phone1, phone2)));
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testTransactionRollback.
@Test
public void testTransactionRollback() {
ArrayList<Integer> ids = new ArrayList<>();
try (Transaction transaction = data.transaction().begin()) {
for (int i = 0; i < 10; i++) {
Person person = randomPerson();
data.insert(person);
assertTrue(person.getId() > 0);
ids.add(person.getId());
if (i == 5) {
throw new Exception("rollback...");
}
}
transaction.commit();
} catch (Exception ignored) {
}
for (Integer id : ids) {
Person p = data.select(Person.class).where(Person.ID.equal(id)).get().firstOrNull();
assertNull(p);
}
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testQueryCoalesce.
@Test
public void testQueryCoalesce() {
Person person = randomPerson();
person.setName("Carol");
person.setEmail(null);
data.insert(person);
person = randomPerson();
person.setName("Bob");
person.setEmail("test@test.com");
person.setHomepage(null);
data.insert(person);
Result<Tuple> result = data.select(Coalesce.coalesce(Person.EMAIL, Person.NAME)).get();
List<Tuple> list = result.toList();
List<String> values = new ArrayList<>();
for (Tuple tuple : list) {
values.add(tuple.get(0).toString());
}
assertEquals(values.size(), 2);
assertTrue(values.contains("Carol"));
assertTrue(values.contains("test@test.com"));
}
Aggregations