Sha256: 12fff62520ca2dd3133fa500be960f6252cba8e7384c857243ad26ae56dd8e62

Contents?: true

Size: 1.71 KB

Versions: 221

Compression:

Stored size: 1.71 KB

Contents

require File.join(File.dirname(__FILE__), '../test_helper.rb')
# require 'test/model_stub'

class ColumnsTest < Test::Unit::TestCase
  def setup
    @columns = ActiveScaffold::DataStructures::Columns.new(ModelStub, :a, :b)
  end

  def test_initialization
    assert_equal ModelStub, @columns.active_record_class

    assert @columns.include?('a'), 'checking via string'
    assert @columns.include?(:b), 'checking via symbol'
    assert !@columns.include?(:c)
  end

  def test_add
    assert !@columns.include?(:c)
    @columns.add 'c'
    assert @columns.include?('c')

    # test the alias
    assert !@columns.include?(:d)
    @columns << :d
    assert @columns.include?(:d)

    # try adding an array of columns
    assert !@columns.include?(:f)
    @columns.add [:f, :g]
    assert @columns.include?(:f)
    assert @columns.include?(:g)
  end

  def test_finders
    # test some basic assumptions before testing the finders
    assert @columns.include?(:a)
    assert @columns[:a].is_a?(ActiveScaffold::DataStructures::Column)

    # test the single finders
    assert @columns.find_by_name(:a).name == :a
    assert @columns[:b].name == :b

    # test the collection finders
    found = @columns.find_by_names(:a, :b)
    assert found.any? {|c| c.name == :a}
    assert found.any? {|c| c.name == :b}
  end

  def test_each
    @columns.each do |column|
      assert [:a, :b].include?(column.name)
    end
  end

  def test_block_config
    assert !@columns.include?(:d)
    assert !@columns.include?(:c)

    @columns.configure do |config|
      # test that we can use the config object
      config << :d
      # but test that we don't have to
      add 'c'
    end

    assert @columns.include?(:d)
    assert @columns.include?(:c)
  end
end

Version data entries

221 entries across 221 versions & 8 rubygems

Version Path
active_scaffold_vho-4.0.0 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.14 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.13 test/data_structures/columns_test.rb
active_scaffold-sequel-0.8.0 test/data_structures/columns_test.rb
active_scaffold-sequel-0.7.1 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.12 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.11 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.10 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.9 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.8 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.7 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.6 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.5 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.4 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.3 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.2 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.1 test/data_structures/columns_test.rb
active_scaffold-sequel-0.7.0 test/data_structures/columns_test.rb
active_scaffold_vho-3.2.0 test/data_structures/columns_test.rb
active_scaffold_vho-3.0.31 test/data_structures/columns_test.rb