Create new diary entry records instead of cloning the fixture
authorTom Hughes <tom@compton.nu>
Wed, 28 Sep 2011 17:25:27 +0000 (18:25 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 14 Nov 2011 09:42:52 +0000 (09:42 +0000)
Cloning fixtures doesn't seem to do a deep copy in rails 3.1 so the
attribute changes persist into other future cloned copies of the same
fixture. The fix is to create completely new records for each test.

test/unit/diary_entry_test.rb

index 54ac0175bcbb14b6c3ea46e551a3060110d78e04..d645aa860d2a3ce457ea2b756a1ef5f01351918f 100644 (file)
@@ -25,9 +25,8 @@ class DiaryEntryTest < ActiveSupport::TestCase
   end
   
   def diary_entry_valid(attrs, result = true)
-    entry = diary_entries(:normal_user_entry_1).clone
+    entry = DiaryEntry.new(diary_entries(:normal_user_entry_1).attributes)
     entry.attributes = attrs
     assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
-  end
-  
+  end  
 end