diff --git a/lib/redmine_contracts/budget_plugin_migration.rb b/lib/redmine_contracts/budget_plugin_migration.rb index 66c1d2c..bbbcae2 100644 --- a/lib/redmine_contracts/budget_plugin_migration.rb +++ b/lib/redmine_contracts/budget_plugin_migration.rb @@ -36,6 +36,12 @@ module RedmineContracts deliverable.contract = contract deliverable.manager = project.users.first + if old_deliverable['overhead'].present? + deliverable.overhead_budgets << OverheadBudget.new(:deliverable => deliverable, + :budget => old_deliverable['overhead'], + :hours => 0) + end + case old_deliverable['type'] when 'FixedDeliverable' deliverable.total = old_deliverable['fixed_cost'] diff --git a/test/integration/budget_plugin_migration_test.rb b/test/integration/budget_plugin_migration_test.rb index 1893345..401a4d3 100644 --- a/test/integration/budget_plugin_migration_test.rb +++ b/test/integration/budget_plugin_migration_test.rb @@ -59,6 +59,21 @@ class BudgetPluginMigrationTest < ActionController::IntegrationTest assert_equal [@manager, @manager, @manager], Deliverable.all.collect(&:manager) end + should "create a new Overhead Budget record for any overhead" do + assert_difference("OverheadBudget.count", 1) do + RedmineContracts::BudgetPluginMigration.migrate(@data) + end + + d = Deliverable.find_by_title("Deliverable One") + assert_equal 1, d.overhead_budgets.count + assert_equal 200, d.overhead_budget_total + + overhead = d.overhead_budgets.first + assert overhead + assert_equal 200, overhead.budget + assert_equal 0, overhead.hours + end + context "converting Fixed Deliverables" do should "convert fixed_cost to total" do RedmineContracts::BudgetPluginMigration.migrate(@data)