diff --git a/app/views/contracts/show.html.erb b/app/views/contracts/show.html.erb index 79e0e81..618d1b5 100644 --- a/app/views/contracts/show.html.erb +++ b/app/views/contracts/show.html.erb @@ -121,6 +121,7 @@ <%= l(:field_labor) %> <%= l(:field_overhead) %> <%= l(:field_fixed) %> + <%= l(:field_total) %> @@ -135,6 +136,7 @@ <%= format_budget_for_deliverable(deliverable, deliverable.labor_budget_spent, deliverable.labor_budget_total, :class => 'labor') %> <%= format_budget_for_deliverable(deliverable, deliverable.overhead_spent, deliverable.overhead_budget_total, :class => 'overhead') %> <%= format_budget_for_deliverable(deliverable, deliverable.fixed_budget_total_spent, deliverable.fixed_budget_total, :class => 'fixed') %> + <%= format_budget_for_deliverable(deliverable, deliverable.total_spent, deliverable.total, :class => 'total') %> <% end %> diff --git a/app/views/deliverables/_details_row.html.erb b/app/views/deliverables/_details_row.html.erb index c301f60..98cc8c6 100644 --- a/app/views/deliverables/_details_row.html.erb +++ b/app/views/deliverables/_details_row.html.erb @@ -1,6 +1,6 @@ <% validated_period = validate_period(deliverable, period) %> - +
diff --git a/test/integration/contracts_show_test.rb b/test/integration/contracts_show_test.rb index 46884e8..31aad71 100644 --- a/test/integration/contracts_show_test.rb +++ b/test/integration/contracts_show_test.rb @@ -261,7 +261,52 @@ class ContractsShowTest < ActionController::IntegrationTest assert_select "td.fixed.spent-amount", :text => /1,000/ end end - + + should "show the total budget for a Deliverable" do + @manager = User.generate! + + @deliverable1 = FixedDeliverable.generate!(:contract => @contract, :manager => @manager, :total => '5404') + + visit_contract_page(@contract) + assert_select "table#deliverables" do + assert_select "td.total.total-amount", :text => /5,404/ + end + + end + + should "show the total spent for a Deliverable" do + configure_overhead_plugin + @manager = User.generate! + @contract.billable_rate = 200 + assert @contract.save + + @deliverable1 = HourlyDeliverable.generate!(:contract => @contract, :manager => @manager, :total => '1504') + + @issue1 = Issue.generate_for_project!(@project) + @time_entry1 = TimeEntry.generate!(:issue => @issue1, + :project => @project, + :activity => @billable_activity, + :spent_on => Date.today, + :hours => 15, + :user => @manager) + + @rate = Rate.generate!(:project => @project, + :user => @manager, + :date_in_effect => Date.yesterday, + :amount => 100) + + @deliverable1.issues << @issue1 + + assert_equal 1, @deliverable1.issues.count + + visit_contract_page(@contract) + assert_select "table#deliverables" do + # Using the contract billable rate and not the user rate because it's income, not an expense + assert_select "td.total.spent-amount", :text => /3,000/ + end + + end + should "show each fixed budget item in the details for the Deliverable" do @manager = User.generate!