use of io.crnk.jpa.model.RelatedEntity in project crnk-framework by crnk-project.
the class JpaRelationshipRepositoryTestBase method testFindManyTarget.
@Test
public void testFindManyTarget() throws InstantiationException, IllegalAccessException {
Iterable<RelatedEntity> relatedEntities = repo.findManyTargets(1L, TestEntity.ATTR_oneRelatedValue, new QuerySpec(RelatedEntity.class));
Iterator<RelatedEntity> iterator = relatedEntities.iterator();
RelatedEntity relatedEntity = iterator.next();
Assert.assertFalse(iterator.hasNext());
Assert.assertNotNull(relatedEntity);
Assert.assertEquals(101L, relatedEntity.getId().longValue());
}
use of io.crnk.jpa.model.RelatedEntity in project crnk-framework by crnk-project.
the class JpaRelationshipRepositoryTestBase method testSetRelation.
@Test
public void testSetRelation() throws InstantiationException, IllegalAccessException {
RelatedEntity related = em.find(RelatedEntity.class, 101L);
TestEntity test = em.find(TestEntity.class, 1L);
Assert.assertNull(related.getTestEntity());
relatedRepo.setRelation(related, 1L, RelatedEntity.ATTR_testEntity);
em.flush();
em.clear();
test = em.find(TestEntity.class, 1L);
Assert.assertEquals(1, test.getManyRelatedValues().size());
related = em.find(RelatedEntity.class, 101L);
Assert.assertNotNull(related.getTestEntity());
// test set null
relatedRepo.setRelation(related, null, RelatedEntity.ATTR_testEntity);
em.flush();
em.clear();
test = em.find(TestEntity.class, 1L);
Assert.assertEquals(0, test.getManyRelatedValues().size());
related = em.find(RelatedEntity.class, 101L);
Assert.assertNull(related.getTestEntity());
}
use of io.crnk.jpa.model.RelatedEntity in project crnk-framework by crnk-project.
the class JpaRelationshipRepositoryTestBase method testFindManyTargetWithUnmatchedFilter.
@Test
public void testFindManyTargetWithUnmatchedFilter() throws InstantiationException, IllegalAccessException {
QuerySpec querySpec = new QuerySpec(RelatedEntity.class);
querySpec.addFilter(new FilterSpec(Arrays.asList("id"), FilterOperator.EQ, 9999));
Iterable<RelatedEntity> relatedEntities = repo.findManyTargets(1L, TestEntity.ATTR_oneRelatedValue, querySpec);
Iterator<RelatedEntity> iterator = relatedEntities.iterator();
Assert.assertFalse(iterator.hasNext());
}
use of io.crnk.jpa.model.RelatedEntity in project crnk-framework by crnk-project.
the class JpaRelationshipRepositoryTestBase method testGetManyRelationWithPaging.
@Test
public void testGetManyRelationWithPaging() throws InstantiationException, IllegalAccessException {
TestEntity test = setupManyRelation(Arrays.asList(100L, 101L, 102L, 103L, 104L));
QuerySpec querySpec = new QuerySpec(TestEntity.class);
querySpec.setOffset(2L);
querySpec.setLimit(2L);
ResourceList<RelatedEntity> list = repo.findManyTargets(test.getId(), TestEntity.ATTR_manyRelatedValues, querySpec);
Assert.assertEquals(2, list.size());
Assert.assertEquals(102, list.get(0).getId().intValue());
Assert.assertEquals(103, list.get(1).getId().intValue());
PagedMetaInformation metaInformation = list.getMeta(PagedMetaInformation.class);
Assert.assertEquals(5, metaInformation.getTotalResourceCount().longValue());
}
use of io.crnk.jpa.model.RelatedEntity in project crnk-framework by crnk-project.
the class JpaEntityRepositoryTestBase method testIncludeNoRelations.
@Test
public void testIncludeNoRelations() throws InstantiationException, IllegalAccessException {
em.clear();
List<TestEntity> list = repo.findAll(new QuerySpec(TestEntity.class));
Assert.assertEquals(numTestEntities, list.size());
for (TestEntity entity : list) {
RelatedEntity relatedValue = entity.getOneRelatedValue();
if (relatedValue != null)
Assert.assertFalse(Hibernate.isInitialized(relatedValue));
}
}
Aggregations