diff --git a/lib/model_stubbing/model.rb b/lib/model_stubbing/model.rb index b10b687..ab75c0f 100644 --- a/lib/model_stubbing/model.rb +++ b/lib/model_stubbing/model.rb @@ -30,7 +30,7 @@ def initialize(definition, klass, options = {}, &block) unless @model_class.respond_to?(:mock_id) class << @model_class define_method :mock_id do - @mock_id ||= 999 + @mock_id ||= 9999 @mock_id += 1 end end diff --git a/lib/model_stubbing/stub.rb b/lib/model_stubbing/stub.rb index 24f66c8..c2bac0d 100644 --- a/lib/model_stubbing/stub.rb +++ b/lib/model_stubbing/stub.rb @@ -51,6 +51,7 @@ def inspect def insert(attributes = {}) object = record(attributes) + object.id = nil object.new_record = true object.save! end @@ -119,6 +120,9 @@ def instantiate(this_record_key, attributes) # set association meta.send :attr_accessor, key unless record.respond_to?("#{key}=") record.send("#{key}=", value.is_a?(Stub) ? value.record : value) + elsif value.is_a? Array + value.collect! { |v| v.is_a?(Stub) ? v.record : v } + record.send("#{key}=", value.compact) else record.send("#{key}=", value) end