Sha256: 8d1db85fe843650a968560539580753acb62dd2158ac213d98d640c58e8373bc
Contents?: true
Size: 1.45 KB
Versions: 10
Compression:
Stored size: 1.45 KB
Contents
require "cases/helper" require 'thread' module ActiveRecord module AttributeMethods class ReadTest < ActiveRecord::TestCase class FakeColumn < Struct.new(:name) def type; :integer; end end def setup @klass = Class.new do def self.superclass; Base; end def self.base_class; self; end def self.decorate_matching_attribute_types(*); end def self.initialize_generated_modules; end include ActiveRecord::AttributeMethods def self.column_names %w{ one two three } end def self.primary_key end def self.columns column_names.map { FakeColumn.new(name) } end def self.columns_hash Hash[column_names.map { |name| [name, FakeColumn.new(name)] }] end end end def test_define_attribute_methods instance = @klass.new @klass.column_names.each do |name| assert !instance.methods.map(&:to_s).include?(name) end @klass.define_attribute_methods @klass.column_names.each do |name| assert instance.methods.map(&:to_s).include?(name), "#{name} is not defined" end end def test_attribute_methods_generated? assert_not @klass.method_defined?(:one) @klass.define_attribute_methods assert @klass.method_defined?(:one) end end end end
Version data entries
10 entries across 10 versions & 2 rubygems