@@ -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