mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
No effective change - touch up test assert
This commit is contained in:
@@ -2,12 +2,15 @@ package com.avaje.tests.query.orderby;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.avaje.ebean.*;
|
||||
import com.avaje.tests.model.basic.*;
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.Query;
|
||||
import com.avaje.tests.model.basic.MRole;
|
||||
import com.avaje.tests.model.basic.MUser;
|
||||
import com.avaje.tests.model.basic.MUserType;
|
||||
|
||||
|
||||
public class TestOrderByWithDistinct extends BaseTestCase {
|
||||
@@ -48,20 +51,22 @@ public class TestOrderByWithDistinct extends BaseTestCase {
|
||||
.orderBy("userType.name, userName");
|
||||
List<MUser> list = query.findList();
|
||||
|
||||
/*
|
||||
* Produces this query:
|
||||
select distinct t0.userid c0, t0.user_name c1, t0.user_type_id c2
|
||||
from muser t0
|
||||
join mrole_muser u1z_ on u1z_.muser_userid = t0.userid
|
||||
join mrole u1 on u1.roleid = u1z_.mrole_roleid
|
||||
left outer join muser_type t1 on t1.id = t0.user_type_id
|
||||
where t1.name = ? and u1.role_name = ?
|
||||
order by t1.name, t0.user_name
|
||||
t1.name is not in select
|
||||
*/
|
||||
// select distinct t0.userid c0, t0.user_name c1, t1.id c2, t1.name c3
|
||||
// from muser t0
|
||||
// left outer join muser_type t1 on t1.id = t0.user_type_id
|
||||
// join mrole_muser u1z_ on u1z_.muser_userid = t0.userid
|
||||
// join mrole u1 on u1.roleid = u1z_.mrole_roleid
|
||||
// where u1.role_name = ?
|
||||
// order by t1.name, t0.user_name; --bind(A)
|
||||
|
||||
Assert.assertEquals(1, list.size());
|
||||
Assert.assertEquals(user1, list.get(0));
|
||||
String generatedSql = query.getGeneratedSql();
|
||||
Assert.assertTrue(generatedSql.contains("select distinct t0.userid")); // using distinct
|
||||
Assert.assertTrue(generatedSql.contains("order by t1.name,")); // name in order by
|
||||
Assert.assertTrue(generatedSql.contains("t1.name c"));// name in select
|
||||
|
||||
|
||||
|
||||
// repeat with slight variation, not sure this really produces a different execution path
|
||||
// this problem also manifests when autofetch eliminates properties from the select that aren't used in the objects
|
||||
@@ -79,6 +84,19 @@ public class TestOrderByWithDistinct extends BaseTestCase {
|
||||
Assert.assertEquals(1, list.size());
|
||||
Assert.assertEquals(user1, list.get(0));
|
||||
|
||||
// select distinct t0.userid c0, t0.user_name c1, t1.id c2, t1.name c3
|
||||
// from muser t0
|
||||
// left outer join muser_type t1 on t1.id = t0.user_type_id
|
||||
// join mrole_muser u1z_ on u1z_.muser_userid = t0.userid
|
||||
// join mrole u1 on u1.roleid = u1z_.mrole_roleid
|
||||
// where u1.role_name = ?
|
||||
// order by t1.name; --bind(A)
|
||||
|
||||
generatedSql = query.getGeneratedSql();
|
||||
Assert.assertTrue(generatedSql.contains("select distinct t0.userid")); // using distinct
|
||||
Assert.assertTrue(generatedSql.contains("order by t1.name")); // name in order by
|
||||
Assert.assertTrue(generatedSql.contains("t1.name c"));// name in select
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user