Sha256: 20820a1754e51676e0d345d850221853a7e9d9fe09295def23c5b10c17f31a84

Contents?: true

Size: 1.57 KB

Versions: 6

Compression:

Stored size: 1.57 KB

Contents

require 'test_helper'
require 'class_with_finder'

class CalculationTest < MiniTest::Test
  def setup
    @buildings = []
    @buildings << Building.create { |b| b.create_owner(:first_name => 'foo') }
    @buildings << Building.create(:name => 'foo bar')
    @buildings << Building.create

    @klass = ClassWithFinder.new
    @klass.active_scaffold_config.stubs(:model).returns(Building)
  end

  def teardown
    @buildings.each(&:destroy).map(&:owner).compact.each(&:destroy)
  end

  def test_calculation_with_conditions
    @klass.expects(:conditions_for_collection).returns(['"buildings"."name" LIKE ? OR "people"."first_name" LIKE ?', '%foo%', '%foo%'])
    @klass.expects(:active_scaffold_references).returns([:owner])
    @klass.active_scaffold_config.expects(:list).returns(mock.tap { |m| m.stubs(:count_includes).returns(nil) })

    column = mock.tap { |m| m.stubs(:field).returns('"buildings"."id"') }
    @klass.active_scaffold_config.expects(:columns).returns(mock.tap { |m| m.stubs(:"[]").returns(column) })
    query = @klass.send :calculate_query
    assert_equal 2, query.count
  end

  def test_calculation_without_conditions
    @klass.stubs(:active_scaffold_references).returns([:owner])
    @klass.active_scaffold_config.expects(:list).returns(mock.tap { |m| m.stubs(:count_includes).returns(nil) })

    column = mock.tap { |m| m.stubs(:field).returns('"buildings"."id"') }
    @klass.active_scaffold_config.expects(:columns).returns(mock.tap { |m| m.stubs(:"[]").returns(column) })
    query = @klass.send :calculate_query
    assert_equal Building.count, query.count
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
active_scaffold-3.5.5 test/misc/calculation_test.rb
active_scaffold-3.5.4 test/misc/calculation_test.rb
active_scaffold-3.5.3 test/misc/calculation_test.rb
active_scaffold-3.5.2 test/misc/calculation_test.rb
active_scaffold-3.5.1 test/misc/calculation_test.rb
active_scaffold-3.5.0 test/misc/calculation_test.rb