From 81ee2ff884c832859d4b635b72472c9724c5d5cc Mon Sep 17 00:00:00 2001
From: Eric Davis <edavis@littlestreamsoftware.com>
Date: Mon, 8 Feb 2010 18:53:12 +0000
Subject: [PATCH] Updated object_daddy to a newer version (bugfixes)

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3398 e93f8b46-1217-0410-a6f0-8f06a7374b81
---
 config/environments/test.rb      |  2 +-
 test/exemplars/issue_exemplar.rb |  5 +++++
 test/object_daddy_helpers.rb     | 24 +++++-------------------
 test/unit/project_test.rb        |  2 +-
 4 files changed, 12 insertions(+), 21 deletions(-)

diff --git a/config/environments/test.rb b/config/environments/test.rb
index 0d1b42e5b..291e80cd0 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -25,5 +25,5 @@ config.action_controller.session = {
 config.action_controller.allow_forgery_protection  = false
 
 config.gem "thoughtbot-shoulda", :lib => "shoulda", :source => "http://gems.github.com"
-config.gem "nofxx-object_daddy", :lib => "object_daddy", :source => "http://gems.github.com"
+config.gem "edavis10-object_daddy", :lib => "object_daddy"
 config.gem "mocha"
diff --git a/test/exemplars/issue_exemplar.rb b/test/exemplars/issue_exemplar.rb
index 48a92ee4a..568f054ce 100644
--- a/test/exemplars/issue_exemplar.rb
+++ b/test/exemplars/issue_exemplar.rb
@@ -1,6 +1,7 @@
 class Issue < ActiveRecord::Base
   generator_for :subject, :method => :next_subject
   generator_for :author, :method => :next_author
+  generator_for :priority, :method => :fetch_priority
   
   def self.next_subject
     @last_subject ||= 'Subject 0'
@@ -12,4 +13,8 @@ class Issue < ActiveRecord::Base
     User.generate_with_protected!
   end
 
+  def self.fetch_priority
+    IssuePriority.first || IssuePriority.generate!
+  end
+
 end
diff --git a/test/object_daddy_helpers.rb b/test/object_daddy_helpers.rb
index ce6e00bd7..4a2b85a9e 100644
--- a/test/object_daddy_helpers.rb
+++ b/test/object_daddy_helpers.rb
@@ -1,30 +1,16 @@
 module ObjectDaddyHelpers
-  # TODO: The gem or official version of ObjectDaddy doesn't set
-  # protected attributes so they need to be wrapped.
+  # TODO: Remove these three once everyone has ported their code to use the
+  # new object_daddy version with protected attribute support
   def User.generate_with_protected(attributes={})
-    user = User.spawn_with_protected(attributes)
-    user.save
-    user
+    User.generate(attributes)
   end
 
-  # TODO: The gem or official version of ObjectDaddy doesn't set
-  # protected attributes so they need to be wrapped.
   def User.generate_with_protected!(attributes={})
-    user = User.spawn_with_protected(attributes)
-    user.save!
-    user
+    User.generate!(attributes)
   end
 
-  # TODO: The gem or official version of ObjectDaddy doesn't set
-  # protected attributes so they need to be wrapped.
   def User.spawn_with_protected(attributes={})
-    user = User.spawn(attributes) do |user|
-      user.login = User.next_login
-      attributes.each do |attr,v|
-        user.send("#{attr}=", v)
-      end
-    end
-    user
+    User.spawn(attributes)
   end
 
   # Generate the default Query
diff --git a/test/unit/project_test.rb b/test/unit/project_test.rb
index c1fc84330..8b8ce585f 100644
--- a/test/unit/project_test.rb
+++ b/test/unit/project_test.rb
@@ -555,7 +555,7 @@ class ProjectTest < ActiveSupport::TestCase
     end
 
     should "copy issues" do
-      @source_project.issues << Issue.generate!(:status_id => 5,
+      @source_project.issues << Issue.generate!(:status => IssueStatus.find_by_name('Closed'),
                                                 :subject => "copy issue status",
                                                 :tracker_id => 1,
                                                 :assigned_to_id => 2,
-- 
GitLab