package com.querydsl.jpa; import static com.querydsl.jpa.JPAExpressions.select; import static org.junit.Assert.assertEquals; import java.util.List; import org.junit.Test; import com.google.common.collect.Lists; import com.querydsl.core.types.dsl.PathBuilder; public class OrderHelperTest { @Test public void order() { PathBuilder<Object> entity = new PathBuilder<Object>(Object.class, "project"); List<String> order = Lists.newArrayList(); order.add("customer.name"); order.add("department.superior.name"); order.add("customer.company.name"); order.add("previousProject.customer.company.name"); order.add("department.name"); JPQLQuery<?> query = select(entity); query.from(entity); OrderHelper.orderBy(query, entity, order); assertEquals("select project\n" + "from Object project\n" + " left join project.customer as customer\n" + " left join project.department as department\n" + " left join department.superior as department_superior\n" + " left join customer.company as customer_company\n" + " left join project.previousProject as previousProject\n" + " left join previousProject.customer as previousProject_customer\n" + " left join previousProject_customer.company as previousProject_customer_company\n" + "order by customer.name asc, department_superior.name asc, customer_company.name asc," + " previousProject_customer_company.name asc, department.name asc", query.toString()); } }