Sha256: 6663b8bce752a92633dc75a40aa47c4f6176fba8e295a01b821ec82c8c313fb8
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
# frozen_string_literal: true require "cases/helper" module SchemaLoadCounter extend ActiveSupport::Concern module ClassMethods attr_accessor :load_schema_calls def load_schema! self.load_schema_calls ||= 0 self.load_schema_calls += 1 super end end end class SchemaLoadingTest < ActiveRecord::TestCase def test_basic_model_is_loaded_once klass = define_model klass.new assert_equal 1, klass.load_schema_calls end def test_model_with_custom_lock_is_loaded_once klass = define_model do |c| c.table_name = :lock_without_defaults_cust c.locking_column = :custom_lock_version end klass.new assert_equal 1, klass.load_schema_calls end def test_model_with_changed_custom_lock_is_loaded_twice klass = define_model do |c| c.table_name = :lock_without_defaults_cust end klass.new klass.locking_column = :custom_lock_version klass.new assert_equal 2, klass.load_schema_calls end private def define_model Class.new(ActiveRecord::Base) do include SchemaLoadCounter self.table_name = :lock_without_defaults yield self if block_given? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-on-quails-0.1.0 | activerecord/test/cases/schema_loading_test.rb |