You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 30, 2022. It is now read-only.
relation.to_sql.shouldmatch/SELECT #{Q}users#{Q}.\* FROM #{Q}users#{Q}\s+WHERE \(\(#{Q}users#{Q}.#{Q}id#{Q} IN \(1, 2, 3\) AND #{Q}users#{Q}.#{Q}id#{Q} IS NOT NULL\)\)/
relation.to_sql.shouldmatch/SELECT #{Q}users#{Q}.\* FROM #{Q}users#{Q}\s+WHERE \(\(\(#{Q}users#{Q}.#{Q}id#{Q} IN \(1, 2, 3\) OR #{Q}users#{Q}.#{Q}id#{Q} = 1\) AND \(#{Q}users#{Q}.#{Q}id#{Q} = 1 OR #{Q}users#{Q}.#{Q}id#{Q} IS NOT NULL\)\)\)/
689
+
690
+
ifactiverecord_version_at_least'4.2.0'
691
+
relation.to_sql.shouldeq"
692
+
SELECT #{Q}users#{Q}.* FROM #{Q}users#{Q}
693
+
WHERE (#{Q}users#{Q}.#{Q}id#{Q} IN (1, 2, 3)
694
+
AND #{Q}users#{Q}.#{Q}id#{Q} IS NOT NULL)
695
+
".squish
696
+
else
697
+
relation.to_sql.shouldmatch/SELECT #{Q}users#{Q}.\* FROM #{Q}users#{Q}\s+WHERE \(\(#{Q}users#{Q}.#{Q}id#{Q} IN \(1, 2, 3\) AND #{Q}users#{Q}.#{Q}id#{Q} IS NOT NULL\)\)/
698
+
end
699
+
700
+
relation=User.where{
701
+
(id.in([1,2,3]) | User.arel_table[:id].eq(1)) &
702
+
((id == 1) | User.arel_table[:id].not_eq(nil))}
703
+
704
+
ifactiverecord_version_at_least'4.2.0'
705
+
relation.to_sql.shouldeq"
706
+
SELECT #{Q}users#{Q}.*
707
+
FROM #{Q}users#{Q}
708
+
WHERE ((#{Q}users#{Q}.#{Q}id#{Q} IN (1, 2, 3) OR #{Q}users#{Q}.#{Q}id#{Q} = 1)
709
+
AND (#{Q}users#{Q}.#{Q}id#{Q} = 1 OR #{Q}users#{Q}.#{Q}id#{Q} IS NOT NULL))
710
+
".squish
711
+
else
712
+
relation.to_sql.shouldmatch/SELECT #{Q}users#{Q}.\* FROM #{Q}users#{Q}\s+WHERE \(\(\(#{Q}users#{Q}.#{Q}id#{Q} IN \(1, 2, 3\) OR #{Q}users#{Q}.#{Q}id#{Q} = 1\) AND \(#{Q}users#{Q}.#{Q}id#{Q} = 1 OR #{Q}users#{Q}.#{Q}id#{Q} IS NOT NULL\)\)\)/
713
+
end
693
714
end
694
715
716
+
it"large than & less than"do
717
+
ifactiverecord_version_at_least'4.1.0'
718
+
relation=User.where{created_at <= 1.hours.ago}
719
+
expect{relation.to_sql}.not_toraise_error
720
+
721
+
relation=User.where{created_at < 1.hours.ago}
722
+
expect{relation.to_sql}.not_toraise_error
723
+
else
724
+
pending'Unsupported under Rails 4.1'
725
+
end
726
+
end
695
727
end
696
728
697
729
describe'#joins'do
@@ -745,7 +777,14 @@ module ActiveRecord
745
777
it'validates polymorphic relationship with source type'do
746
778
ifactiverecord_version_at_least('4.0.0')
747
779
relation=Group.joins{users}
748
-
relation.to_sql.shouldmatch/#{Q}memberships#{Q}.#{Q}active#{Q} = ['1t']{1,3} AND #{Q}memberships#{Q}.#{Q}member_type#{Q} = 'User'/
0 commit comments