[#4690] Clear the issue/deliverable relation when deleting deliverables
This commit is contained in:
1 parent
6f1ce637c5
commit
726c7a206f
2 files changed
+24
-1
No files matched your search
@@ -9,7 +9,7 @@ class Deliverable < ActiveRecord::Base
|
|||||||
has_many :labor_budgets
|
has_many :labor_budgets
|
||||||
has_many :overhead_budgets
|
has_many :overhead_budgets
|
||||||
has_many :fixed_budgets
|
has_many :fixed_budgets
|
||||||
has_many :issues
|
has_many :issues, :dependent => :nullify
|
||||||
|
|
||||||
accepts_nested_attributes_for :labor_budgets
|
accepts_nested_attributes_for :labor_budgets
|
||||||
accepts_nested_attributes_for :overhead_budgets
|
accepts_nested_attributes_for :overhead_budgets
|
||||||
|
|||||||
@@ -44,4 +44,27 @@ class DeliverablesDeleteTest < ActionController::IntegrationTest
|
|||||||
|
|
||||||
assert_nil Deliverable.find_by_id(@deliverable.id), "Deliverable not deleted"
|
assert_nil Deliverable.find_by_id(@deliverable.id), "Deliverable not deleted"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "unassign issues from the deliverable when deleting" do
|
||||||
|
issues = [
|
||||||
|
Issue.generate_for_project!(@project, :deliverable => @deliverable),
|
||||||
|
Issue.generate_for_project!(@project, :deliverable => @deliverable),
|
||||||
|
Issue.generate_for_project!(@project, :deliverable => @deliverable)
|
||||||
|
]
|
||||||
|
assert_equal 3, @deliverable.issues.count
|
||||||
|
|
||||||
|
@project.reload
|
||||||
|
|
||||||
|
visit_contract_page(@contract)
|
||||||
|
|
||||||
|
click_link_within "#deliverable_details_#{@deliverable.id}", 'Delete'
|
||||||
|
assert_response :success
|
||||||
|
assert_template 'contracts/show'
|
||||||
|
|
||||||
|
assert_nil Deliverable.find_by_id(@deliverable.id), "Deliverable not deleted"
|
||||||
|
assert_equal 0, @deliverable.issues.count
|
||||||
|
assert issues.all? {|issue|
|
||||||
|
issue.reload && issue.deliverable_id.nil?
|
||||||
|
}, "Issues' deliverable was not removed #{issues.collect(&:deliverable_id).join(', ')}"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
Reference in new issue
Block a user