use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class EntityViewUpdateSubviewMultiParentJoinTableTest method assertSubviewEquals.
public static void assertSubviewEquals(Collection<Person> persons, Collection<? extends PersonView> personSubviews) {
if (persons == null) {
assertNull(personSubviews);
return;
}
assertNotNull(personSubviews);
assertEquals(persons.size(), personSubviews.size());
for (Person p : persons) {
boolean found = false;
for (PersonView pSub : personSubviews) {
if (p.getName().equals(pSub.getName())) {
found = true;
break;
}
}
if (!found) {
Assert.fail("Could not find a person subview instance with the name: " + p.getName());
}
}
}
use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class EntityViewUpdateSubviewMultiParentSelfReferentialTest method testCreateNewSelfReferential.
@Test
public void testCreateNewSelfReferential() {
// Given
UpdatablePersonView p = evm.create(UpdatablePersonView.class);
p.setName("p1");
p.setFriend(p);
// When
update(p);
// Then
Person person = em.find(Person.class, p.getId());
assertEquals(person, person.getFriend());
}
use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class EntityViewUpdateNestedCreatableSubviewCollectionsTest method assertSubviewEquals.
public static void assertSubviewEquals(Collection<Person> persons, Collection<? extends UpdatableResponsiblePersonView> personSubviews) {
if (persons == null) {
assertNull(personSubviews);
return;
}
assertNotNull(personSubviews);
assertEquals(persons.size(), personSubviews.size());
for (Person p : persons) {
boolean found = false;
for (UpdatableResponsiblePersonView pSub : personSubviews) {
if (p.getName().equals(pSub.getName())) {
found = true;
if (p.getFriend() == null) {
assertNull(pSub.getFriend());
} else {
assertNotNull(pSub.getFriend());
assertEquals(p.getFriend().getId(), pSub.getFriend().getId());
assertEquals(p.getFriend().getName(), pSub.getFriend().getName());
}
break;
}
}
if (!found) {
Assert.fail("Could not find a person subview instance with the name: " + p.getName());
}
}
}
use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class EntityViewUpdateSubviewInverseSimpleTest method testUpdateRemoveNonExisting.
@Test
public void testUpdateRemoveNonExisting() {
// Given
UpdatablePersonView newPerson = evm.create(UpdatablePersonView.class);
newPerson.setName("newPers1");
UpdatableDocumentView document = evm.create(UpdatableDocumentView.class);
document.setName("newDoc123");
document.setOwner(getP1View(PersonIdView.class));
newPerson.getOwnedDocuments2().add(document);
update(newPerson);
// When
newPerson.getOwnedDocuments2().remove("non-existing");
update(newPerson);
// Then
em.clear();
Person pers = em.find(Person.class, newPerson.getId());
Assert.assertEquals(1, pers.getOwnedDocuments2().size());
}
use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class BasicQueryTest method testEntityJoin.
// NOTE: Entity joins are only supported on Hibernate 5.1+
@Test
@Category({ NoDatanucleus.class, NoEclipselink.class, NoOpenJPA.class, NoHibernate42.class, NoHibernate43.class, NoHibernate50.class })
public void testEntityJoin() {
Assume.assumeTrue(jpaProvider.supportsEntityJoin());
doInJPA(entityManager -> {
QPerson otherAuthor = new QPerson("otherAuthor");
QDocument otherBook = new QDocument("otherBook");
Map<Person, List<Document>> booksByAuthor = new BlazeJPAQuery<Document>(entityManager, cbf).from(otherAuthor).innerJoin(otherBook).on(otherBook.owner.eq(otherAuthor)).transform(GroupBy.groupBy(otherAuthor).as(GroupBy.list(otherBook)));
assertNotNull(booksByAuthor);
});
}
Aggregations