[#4420] Added test for changing Retainer's start/end date without it's period.

This commit is contained in:
Eric Davis
2010-09-01 18:14:48 -07:00
parent 9858b87fff
commit ede645e359

View File

@@ -294,4 +294,41 @@ class DeliverablesEditTest < ActionController::IntegrationTest
assert_equal 12, @overhead_budgets.length # 6 months * 2 records
end
should "allow editing a Retainer's start and end months inside the current period" do
@retainer_deliverable = RetainerDeliverable.spawn(:contract => @contract, :manager => @manager, :title => "Retainer")
@retainer_deliverable.labor_budgets << @labor_budget = LaborBudget.spawn(:deliverable => @retainer_deliverable, :budget => 1000, :hours => 10)
@retainer_deliverable.labor_budgets << @labor_budget = LaborBudget.spawn(:deliverable => @retainer_deliverable, :budget => 2000, :hours => 20)
@retainer_deliverable.overhead_budgets << @overhead_budget = OverheadBudget.spawn(:deliverable => @retainer_deliverable, :budget => 1000, :hours => 10)
@retainer_deliverable.overhead_budgets << @overhead_budget = OverheadBudget.spawn(:deliverable => @retainer_deliverable, :budget => 2000, :hours => 20)
@retainer_deliverable.start_date = '2010-01-01'
@retainer_deliverable.end_date = '2010-12-31'
@retainer_deliverable.save!
assert_equal 12, @retainer_deliverable.months.length
assert_equal 24, @retainer_deliverable.reload.labor_budgets.count # 12 months * 2 records
assert_equal 24, @retainer_deliverable.reload.overhead_budgets.count # 12 months * 2 records
visit_contract_page(@contract)
click_link_within "#deliverable_details_#{@retainer_deliverable.id}", 'Edit'
assert_response :success
assert_template 'deliverables/edit'
# Edit the dates without changing the period
fill_in "Start", :with => '2010-01-13'
fill_in "End Date", :with => '2010-12-01'
click_button "Save"
assert_response :success
assert_template 'contracts/show'
@retainer_deliverable.reload
assert_equal 12, @retainer_deliverable.months.length
@labor_budgets = @retainer_deliverable.reload.labor_budgets
assert_equal 24, @labor_budgets.length # 12 months * 2 records
@overhead_budgets = @retainer_deliverable.reload.overhead_budgets
assert_equal 24, @overhead_budgets.length # 12 months * 2 records
end
end