From 1f9cd9e86fa93126a67b6830981eeafc5036cbf1 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Thu, 13 Oct 2011 09:05:58 -0700 Subject: [PATCH] Refactor: extract to test helper --- test/test_helper.rb | 8 ++++++++ test/unit/deliverable_test.rb | 26 +++++--------------------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/test/test_helper.rb b/test/test_helper.rb index 2f0ee0b..8ce638b 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -145,4 +145,12 @@ class ActiveSupport::TestCase deliverable.issues << issue issue end + + def create_contract_and_deliverable + @project = Project.generate!(:identifier => 'main').reload + @contract = Contract.generate!(:project => @project, :billable_rate => 10) + @manager = User.generate! + @deliverable = RetainerDeliverable.generate!(:contract => @contract, :manager => @manager, :title => "Retainer Title", :start_date => '2010-01-01', :end_date => '2010-03-31') + + end end diff --git a/test/unit/deliverable_test.rb b/test/unit/deliverable_test.rb index 02b3433..65fb19c 100644 --- a/test/unit/deliverable_test.rb +++ b/test/unit/deliverable_test.rb @@ -87,11 +87,7 @@ class DeliverableTest < ActiveSupport::TestCase context "#billable_time_entry_activities" do setup do configure_overhead_plugin - @project = Project.generate!(:identifier => 'main').reload - @contract = Contract.generate!(:project => @project, :billable_rate => 10) - @manager = User.generate! - @deliverable = RetainerDeliverable.spawn(:contract => @contract, :manager => @manager, :title => "Retainer Title", :start_date => '2010-01-01', :end_date => '2010-03-31') - + create_contract_and_deliverable end should "include all billable activities" do @@ -113,10 +109,7 @@ class DeliverableTest < ActiveSupport::TestCase context "#spent_for_activity" do should "return the total amount spent for an activity" do configure_overhead_plugin - @project = Project.generate!(:identifier => 'main').reload - @contract = Contract.generate!(:project => @project, :billable_rate => 10) - @manager = User.generate! - @deliverable = RetainerDeliverable.generate!(:contract => @contract, :manager => @manager, :title => "Retainer Title", :start_date => '2010-01-01', :end_date => '2010-03-31') + create_contract_and_deliverable create_issue_with_time_for_deliverable(@deliverable, { :activity => @billable_activity, :user => @manager, @@ -131,10 +124,7 @@ class DeliverableTest < ActiveSupport::TestCase context "#budget_for_activity" do should "return the total amount budgeted for an activity" do configure_overhead_plugin - @project = Project.generate!(:identifier => 'main').reload - @contract = Contract.generate!(:project => @project, :billable_rate => 10) - @manager = User.generate! - @deliverable = RetainerDeliverable.generate!(:contract => @contract, :manager => @manager, :title => "Retainer Title", :start_date => '2010-01-01', :end_date => '2010-03-31') + create_contract_and_deliverable @deliverable.labor_budgets << LaborBudget.spawn(:budget => 100, :hours => 10, :time_entry_activity => @billable_activity) @deliverable.labor_budgets << LaborBudget.spawn(:budget => 100, :hours => 10, :time_entry_activity => @billable_activity) @deliverable.save! @@ -147,10 +137,7 @@ class DeliverableTest < ActiveSupport::TestCase context "#hours_spent_for_activity" do should "return the total hours spent for an activity" do configure_overhead_plugin - @project = Project.generate!(:identifier => 'main').reload - @contract = Contract.generate!(:project => @project, :billable_rate => 10) - @manager = User.generate! - @deliverable = RetainerDeliverable.generate!(:contract => @contract, :manager => @manager, :title => "Retainer Title", :start_date => '2010-01-01', :end_date => '2010-03-31') + create_contract_and_deliverable create_issue_with_time_for_deliverable(@deliverable, { :activity => @billable_activity, :user => @manager, @@ -167,10 +154,7 @@ class DeliverableTest < ActiveSupport::TestCase context "#hours_budget_for_activity" do should "return the total hours budgeted for an activity" do configure_overhead_plugin - @project = Project.generate!(:identifier => 'main').reload - @contract = Contract.generate!(:project => @project, :billable_rate => 10) - @manager = User.generate! - @deliverable = RetainerDeliverable.generate!(:contract => @contract, :manager => @manager, :title => "Retainer Title", :start_date => '2010-01-01', :end_date => '2010-03-31') + create_contract_and_deliverable @deliverable.labor_budgets << LaborBudget.spawn(:budget => 100, :hours => 10, :time_entry_activity => @billable_activity) @deliverable.labor_budgets << LaborBudget.spawn(:budget => 100, :hours => 10, :time_entry_activity => @billable_activity) @deliverable.save!