aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/relations_test.rb
diff options
context:
space:
mode:
authorRadoslav Stankov <rstankov@gmail.com>2012-04-29 21:17:57 +0300
committerRadoslav Stankov <rstankov@gmail.com>2012-05-17 02:36:13 +0300
commit64872d1e34d929ee30041b37900591aade2a5eaf (patch)
tree65288d3fdd80559ecbe655c15b83ce19e49c8906 /activerecord/test/cases/relations_test.rb
parent78b6fdd89f541dfedd369da9957ee6eab9a8a586 (diff)
downloadrails-64872d1e34d929ee30041b37900591aade2a5eaf.tar.gz
rails-64872d1e34d929ee30041b37900591aade2a5eaf.tar.bz2
rails-64872d1e34d929ee30041b37900591aade2a5eaf.zip
Relation#from to accept other Relation objects
Record.from("(#{sub_query.to_sql})") -> Record.from(sub_query) Record.from("(#{sub_query.to_sql}) a") -> Record.from(sub_query, :a)
Diffstat (limited to 'activerecord/test/cases/relations_test.rb')
-rw-r--r--activerecord/test/cases/relations_test.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index 76b868c7b4..dee31f4772 100644
--- a/activerecord/test/cases/relations_test.rb
+++ b/activerecord/test/cases/relations_test.rb
@@ -133,6 +133,13 @@ class RelationTest < ActiveRecord::TestCase
assert topics.loaded?
end
+ def test_finiding_with_subquery
+ relation = Topic.where(:approved => true)
+ assert_equal relation.to_a, Topic.select('*').from(relation).to_a
+ assert_equal relation.to_a, Topic.select('subquery.*').from(relation).to_a
+ assert_equal relation.to_a, Topic.select('a.*').from(relation, :a).to_a
+ end
+
def test_finding_with_conditions
assert_equal ["David"], Author.where(:name => 'David').map(&:name)
assert_equal ['Mary'], Author.where(["name = ?", 'Mary']).map(&:name)