Sha256: d9dd3b5cba31c018b97f858ce34b300edd396ee270ed9cbb765aa2d6056ac75c

Contents?: true

Size: 1.56 KB

Versions: 23

Compression:

Stored size: 1.56 KB

Contents

require 'test_helper'
require 'class_with_finder'

class CalculationTest < MiniTest::Test
  def setup
    @buildings = []
    @buildings << Building.create { |b| b.build_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

23 entries across 23 versions & 1 rubygems

Version Path
active_scaffold-3.6.20 test/misc/calculation_test.rb
active_scaffold-3.6.19 test/misc/calculation_test.rb
active_scaffold-3.6.17 test/misc/calculation_test.rb
active_scaffold-3.6.15 test/misc/calculation_test.rb
active_scaffold-3.6.14 test/misc/calculation_test.rb
active_scaffold-3.6.13 test/misc/calculation_test.rb
active_scaffold-3.6.12 test/misc/calculation_test.rb
active_scaffold-3.6.11.1 test/misc/calculation_test.rb
active_scaffold-3.6.11 test/misc/calculation_test.rb
active_scaffold-3.6.10 test/misc/calculation_test.rb
active_scaffold-3.6.9 test/misc/calculation_test.rb
active_scaffold-3.6.8 test/misc/calculation_test.rb
active_scaffold-3.6.6 test/misc/calculation_test.rb
active_scaffold-3.6.5 test/misc/calculation_test.rb
active_scaffold-3.6.4.1 test/misc/calculation_test.rb
active_scaffold-3.6.4 test/misc/calculation_test.rb
active_scaffold-3.6.3 test/misc/calculation_test.rb
active_scaffold-3.6.2 test/misc/calculation_test.rb
active_scaffold-3.6.1 test/misc/calculation_test.rb
active_scaffold-3.6.0 test/misc/calculation_test.rb