From 2bb36cb5501a21c3788b6059057b445d77cd2602 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Wed, 23 Jun 2010 14:53:23 -0700 Subject: [PATCH] [#4181] Added routes for the Deliverables. --- app/controllers/deliverables_controller.rb | 5 +++++ config/routes.rb | 4 +++- test/integration/contracts_show_test.rb | 2 ++ test/integration/routing_test.rb | 13 ++++++++++++- 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 app/controllers/deliverables_controller.rb diff --git a/app/controllers/deliverables_controller.rb b/app/controllers/deliverables_controller.rb new file mode 100644 index 0000000..b495a7b --- /dev/null +++ b/app/controllers/deliverables_controller.rb @@ -0,0 +1,5 @@ +class DeliverablesController < InheritedResources::Base + unloadable + + respond_to :html +end diff --git a/config/routes.rb b/config/routes.rb index 6de19c4..811ed99 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,3 +1,5 @@ ActionController::Routing::Routes.draw do |map| - map.resources :contracts, :path_prefix => '/projects/:project_id' + map.resources :contracts, :path_prefix => '/projects/:project_id' do |contracts| + contracts.resources :deliverables + end end diff --git a/test/integration/contracts_show_test.rb b/test/integration/contracts_show_test.rb index 92ca170..abb1c8d 100644 --- a/test/integration/contracts_show_test.rb +++ b/test/integration/contracts_show_test.rb @@ -19,4 +19,6 @@ class ContractsShowTest < ActionController::IntegrationTest assert_select 'h2', :text => @contract.name end end + + should "show a list of deliverables for the contract" end diff --git a/test/integration/routing_test.rb b/test/integration/routing_test.rb index ef3f472..df144d2 100644 --- a/test/integration/routing_test.rb +++ b/test/integration/routing_test.rb @@ -12,7 +12,18 @@ class RoutingTest < ActionController::IntegrationTest should_route :put, "/projects/world_domination/contracts/1", :controller => 'contracts', :action => 'update', :id => '1', :project_id => 'world_domination' should_route :delete, "/projects/world_domination/contracts/1", :controller => 'contracts', :action => 'destroy', :id => '1', :project_id => 'world_domination' - end + context "deliverables" do + should_route :get, "/projects/world_domination/contracts/1/deliverables", :controller => 'deliverables', :action => 'index', :project_id => 'world_domination', :contract_id => '1' + should_route :get, "/projects/world_domination/contracts/1/deliverables/new", :controller => 'deliverables', :action => 'new', :project_id => 'world_domination', :contract_id => '1' + should_route :get, "/projects/world_domination/contracts/1/deliverables/10", :controller => 'deliverables', :action => 'show', :id => '10', :project_id => 'world_domination', :contract_id => '1' + should_route :get, "/projects/world_domination/contracts/1/deliverables/10/edit", :controller => 'deliverables', :action => 'edit', :id => '10', :project_id => 'world_domination', :contract_id => '1' + + should_route :post, "/projects/world_domination/contracts/1/deliverables", :controller => 'deliverables', :action => 'create', :project_id => 'world_domination', :contract_id => '1' + + should_route :put, "/projects/world_domination/contracts/1/deliverables/10", :controller => 'deliverables', :action => 'update', :id => '10', :project_id => 'world_domination', :contract_id => '1' + + should_route :delete, "/projects/world_domination/contracts/1/deliverables/10", :controller => 'deliverables', :action => 'destroy', :id => '10', :project_id => 'world_domination', :contract_id => '1' + end end