Sha256: 3bdff4050a72552e6fd3cdfd8e69562a1220b33f04ec7288eb1979dd31181383

Contents?: true

Size: 1.4 KB

Versions: 4

Compression:

Stored size: 1.4 KB

Contents

require File.dirname(__FILE__) + '/../test_helper.rb'

module ConditionsTests
  class MagicMethodsTest < ActiveSupport::TestCase
    def test_virtual_columns
      search = Account.new_search
      conditions = search.conditions
      conditions.hour_of_created_gt = 2
      assert_equal ["(strftime('%H', \"accounts\".\"created_at\") * 1) > ?", 2], conditions.sanitize
      conditions.dow_of_created_at_most = 5
      assert_equal ["(strftime('%H', \"accounts\".\"created_at\") * 1) > ? AND (strftime('%w', \"accounts\".\"created_at\") * 1) <= ?", 2, 5], conditions.sanitize
      conditions.month_of_created_at_nil = true
      assert_equal ["(strftime('%H', \"accounts\".\"created_at\") * 1) > ? AND (strftime('%w', \"accounts\".\"created_at\") * 1) <= ? AND (strftime('%m', \"accounts\".\"created_at\") * 1) IS NULL", 2, 5], conditions.sanitize
      conditions.min_of_hour_of_month_of_created_at_nil = true
      assert_equal ["(strftime('%H', \"accounts\".\"created_at\") * 1) > ? AND (strftime('%w', \"accounts\".\"created_at\") * 1) <= ? AND (strftime('%m', \"accounts\".\"created_at\") * 1) IS NULL AND (strftime('%m', (strftime('%H', (strftime('%M', \"accounts\".\"created_at\") * 1)) * 1)) * 1) IS NULL", 2, 5], conditions.sanitize
      assert_nothing_raised { search.all }
    end
  end
  
  def test_method_conflicts
    conditions = Searchlogic::Cache::AccountConditions.new
    assert_nil conditions.id
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
searchlogic-1.5.6 test/conditions_tests/magic_methods_test.rb
searchlogic-1.5.7 test/conditions_tests/magic_methods_test.rb
searchlogic-1.5.8 test/conditions_tests/magic_methods_test.rb
searchlogic-1.5.9 test/conditions_tests/magic_methods_test.rb