##// END OF EJS Templates
Converted Project#copy test to use shoulda...
Eric Davis -
r2817:548d5a21f693
parent child
Show More
@@ -289,67 +289,70 class ProjectTest < ActiveSupport::TestCase
289 # Default attributes
289 # Default attributes
290 assert_equal 1, copied_project.status
290 assert_equal 1, copied_project.status
291 end
291 end
292
293 # Context: Project#copy
294 def test_copy_should_copy_issues
295 # Setup
296 ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
297 source_project = Project.find(2)
298 Project.destroy_all :identifier => "copy-test"
299 project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
300 project.trackers = source_project.trackers
301 assert project.valid?
302
303 assert project.issues.empty?
304 assert project.copy(source_project)
305
292
306 # Tests
293 context "#copy" do
307 assert_equal source_project.issues.size, project.issues.size
294
308 project.issues.each do |issue|
295 should "copy issues" do
309 assert issue.valid?
296 # Setup
310 assert ! issue.assigned_to.blank?
297 ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
311 assert_equal project, issue.project
298 source_project = Project.find(2)
299 Project.destroy_all :identifier => "copy-test"
300 project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
301 project.trackers = source_project.trackers
302 assert project.valid?
303
304 assert project.issues.empty?
305 assert project.copy(source_project)
306
307 # Tests
308 assert_equal source_project.issues.size, project.issues.size
309 project.issues.each do |issue|
310 assert issue.valid?
311 assert ! issue.assigned_to.blank?
312 assert_equal project, issue.project
313 end
312 end
314 end
313 end
314
315 def test_copy_should_copy_members
316 # Setup
317 ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
318 source_project = Project.find(2)
319 project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
320 project.trackers = source_project.trackers
321 project.enabled_modules = source_project.enabled_modules
322 assert project.valid?
323
315
324 assert project.members.empty?
316 should "copy members" do
325 assert project.copy(source_project)
317 # Setup
318 ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
319 source_project = Project.find(2)
320 project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
321 project.trackers = source_project.trackers
322 project.enabled_modules = source_project.enabled_modules
323 assert project.valid?
324
325 assert project.members.empty?
326 assert project.copy(source_project)
326
327
327 # Tests
328 # Tests
328 assert_equal source_project.members.size, project.members.size
329 assert_equal source_project.members.size, project.members.size
329 project.members.each do |member|
330 project.members.each do |member|
330 assert member
331 assert member
331 assert_equal project, member.project
332 assert_equal project, member.project
333 end
332 end
334 end
333 end
334
335
335 def test_copy_should_copy_project_level_queries
336 should "copy project specific queries" do
336 # Setup
337 # Setup
337 ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
338 ProjectCustomField.destroy_all # Custom values are a mess to isolate in tests
338 source_project = Project.find(2)
339 source_project = Project.find(2)
339 project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
340 project = Project.new(:name => 'Copy Test', :identifier => 'copy-test')
340 project.trackers = source_project.trackers
341 project.trackers = source_project.trackers
341 project.enabled_modules = source_project.enabled_modules
342 project.enabled_modules = source_project.enabled_modules
342 assert project.valid?
343 assert project.valid?
343
344
344 assert project.queries.empty?
345 assert project.queries.empty?
345 assert project.copy(source_project)
346 assert project.copy(source_project)
346
347
347 # Tests
348 # Tests
348 assert_equal source_project.queries.size, project.queries.size
349 assert_equal source_project.queries.size, project.queries.size
349 project.queries.each do |query|
350 project.queries.each do |query|
350 assert query
351 assert query
351 assert_equal project, query.project
352 assert_equal project, query.project
353 end
352 end
354 end
355
353 end
356 end
354
357
355 end
358 end
General Comments 0
You need to be logged in to leave comments. Login now