Sha256: 8f834db3715bd5e4a2d66696f76dd8127eaada7c3d8e915a065d47cde757c6cd

Contents?: true

Size: 977 Bytes

Versions: 1

Compression:

Stored size: 977 Bytes

Contents

require 'helper'

class AxleAttributes::ConversionsTest < ActiveSupport::TestCase
  class TestModel
    include AxleAttributes::HasAttributes

    has_attribute :color, type: :string
  end

  include AxleAttributes::Conversions

  use_target_class TestModel

  test 'definitions' do
    expected = TestModel.attributes['color']
    assert_equal expected, to_definition(expected)
  end

  test 'string converted to definition' do
    expected = TestModel.attributes['color']
    assert_equal expected, to_definition('color')
  end

  test 'null definitions' do
    expected = AxleAttributes::NullDefinition.new(TestModel, 'abc')
    assert_equal expected, to_definition(expected)
  end

  test 'string converted to null definition' do
    expected = AxleAttributes::NullDefinition.new(TestModel, 'contacts')
    assert_equal expected, to_definition('contacts')
  end

  test 'unknown conversion' do
    assert_raises ConversionError do
      to_definition(123)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
axle_attributes-1.13.2 test/lib/conversions_test.rb