Converted Project#copy test to use shoulda
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2931 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
35333367df
commit
548d5a21f6
|
@ -289,67 +289,70 @@ class ProjectTest < ActiveSupport::TestCase
|
||||||
# Default attributes
|
# Default attributes
|
||||||
assert_equal 1, copied_project.status
|
assert_equal 1, copied_project.status
|
||||||
end
|
end
|
||||||
|
|
||||||
# Context: Project#copy
|
|
||||||
def test_copy_should_copy_issues
|
|
||||||
# Setup
|
|
||||||
ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
|
|
||||||
source_project = Project.find(2)
|
|
||||||
Project.destroy_all :identifier => "copy-test"
|
|
||||||
project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
|
|
||||||
project.trackers = source_project.trackers
|
|
||||||
assert project.valid?
|
|
||||||
|
|
||||||
assert project.issues.empty?
|
|
||||||
assert project.copy(source_project)
|
|
||||||
|
|
||||||
# Tests
|
context "#copy" do
|
||||||
assert_equal source_project.issues.size, project.issues.size
|
|
||||||
project.issues.each do |issue|
|
should "copy issues" do
|
||||||
assert issue.valid?
|
# Setup
|
||||||
assert ! issue.assigned_to.blank?
|
ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
|
||||||
assert_equal project, issue.project
|
source_project = Project.find(2)
|
||||||
|
Project.destroy_all :identifier => "copy-test"
|
||||||
|
project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
|
||||||
|
project.trackers = source_project.trackers
|
||||||
|
assert project.valid?
|
||||||
|
|
||||||
|
assert project.issues.empty?
|
||||||
|
assert project.copy(source_project)
|
||||||
|
|
||||||
|
# Tests
|
||||||
|
assert_equal source_project.issues.size, project.issues.size
|
||||||
|
project.issues.each do |issue|
|
||||||
|
assert issue.valid?
|
||||||
|
assert ! issue.assigned_to.blank?
|
||||||
|
assert_equal project, issue.project
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_copy_should_copy_members
|
|
||||||
# Setup
|
|
||||||
ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
|
|
||||||
source_project = Project.find(2)
|
|
||||||
project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
|
|
||||||
project.trackers = source_project.trackers
|
|
||||||
project.enabled_modules = source_project.enabled_modules
|
|
||||||
assert project.valid?
|
|
||||||
|
|
||||||
assert project.members.empty?
|
should "copy members" do
|
||||||
assert project.copy(source_project)
|
# Setup
|
||||||
|
ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
|
||||||
|
source_project = Project.find(2)
|
||||||
|
project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
|
||||||
|
project.trackers = source_project.trackers
|
||||||
|
project.enabled_modules = source_project.enabled_modules
|
||||||
|
assert project.valid?
|
||||||
|
|
||||||
# Tests
|
assert project.members.empty?
|
||||||
assert_equal source_project.members.size, project.members.size
|
assert project.copy(source_project)
|
||||||
project.members.each do |member|
|
|
||||||
assert member
|
# Tests
|
||||||
assert_equal project, member.project
|
assert_equal source_project.members.size, project.members.size
|
||||||
|
project.members.each do |member|
|
||||||
|
assert member
|
||||||
|
assert_equal project, member.project
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def test_copy_should_copy_project_level_queries
|
should "copy project specific queries" do
|
||||||
# Setup
|
# Setup
|
||||||
ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
|
ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
|
||||||
source_project = Project.find(2)
|
source_project = Project.find(2)
|
||||||
project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
|
project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
|
||||||
project.trackers = source_project.trackers
|
project.trackers = source_project.trackers
|
||||||
project.enabled_modules = source_project.enabled_modules
|
project.enabled_modules = source_project.enabled_modules
|
||||||
assert project.valid?
|
assert project.valid?
|
||||||
|
|
||||||
assert project.queries.empty?
|
assert project.queries.empty?
|
||||||
assert project.copy(source_project)
|
assert project.copy(source_project)
|
||||||
|
|
||||||
# Tests
|
# Tests
|
||||||
assert_equal source_project.queries.size, project.queries.size
|
assert_equal source_project.queries.size, project.queries.size
|
||||||
project.queries.each do |query|
|
project.queries.each do |query|
|
||||||
assert query
|
assert query
|
||||||
assert_equal project, query.project
|
assert_equal project, query.project
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue