changelog shortlog tags changeset file revisions annotate raw

spec/controllers/products_routing_spec.rb

revision 18: b97ed3573af2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/controllers/products_routing_spec.rb	Mon Mar 10 10:39:23 2008 +0900
@@ -0,0 +1,61 @@
+require File.dirname(__FILE__) + '/../spec_helper'
+
+describe ProductsController do
+  describe "route generation" do
+
+    it "should map { :controller => 'products', :action => 'index' } to /products" do
+      route_for(:controller => "products", :action => "index").should == "/products"
+    end
+  
+    it "should map { :controller => 'products', :action => 'new' } to /products/new" do
+      route_for(:controller => "products", :action => "new").should == "/products/new"
+    end
+  
+    it "should map { :controller => 'products', :action => 'show', :id => 1 } to /products/1" do
+      route_for(:controller => "products", :action => "show", :id => 1).should == "/products/1"
+    end
+  
+    it "should map { :controller => 'products', :action => 'edit', :id => 1 } to /products/1/edit" do
+      route_for(:controller => "products", :action => "edit", :id => 1).should == "/products/1/edit"
+    end
+  
+    it "should map { :controller => 'products', :action => 'update', :id => 1} to /products/1" do
+      route_for(:controller => "products", :action => "update", :id => 1).should == "/products/1"
+    end
+  
+    it "should map { :controller => 'products', :action => 'destroy', :id => 1} to /products/1" do
+      route_for(:controller => "products", :action => "destroy", :id => 1).should == "/products/1"
+    end
+  end
+
+  describe "route recognition" do
+
+    it "should generate params { :controller => 'products', action => 'index' } from GET /products" do
+      params_from(:get, "/products").should == {:controller => "products", :action => "index"}
+    end
+  
+    it "should generate params { :controller => 'products', action => 'new' } from GET /products/new" do
+      params_from(:get, "/products/new").should == {:controller => "products", :action => "new"}
+    end
+  
+    it "should generate params { :controller => 'products', action => 'create' } from POST /products" do
+      params_from(:post, "/products").should == {:controller => "products", :action => "create"}
+    end
+  
+    it "should generate params { :controller => 'products', action => 'show', id => '1' } from GET /products/1" do
+      params_from(:get, "/products/1").should == {:controller => "products", :action => "show", :id => "1"}
+    end
+  
+    it "should generate params { :controller => 'products', action => 'edit', id => '1' } from GET /products/1;edit" do
+      params_from(:get, "/products/1/edit").should == {:controller => "products", :action => "edit", :id => "1"}
+    end
+  
+    it "should generate params { :controller => 'products', action => 'update', id => '1' } from PUT /products/1" do
+      params_from(:put, "/products/1").should == {:controller => "products", :action => "update", :id => "1"}
+    end
+  
+    it "should generate params { :controller => 'products', action => 'destroy', id => '1' } from DELETE /products/1" do
+      params_from(:delete, "/products/1").should == {:controller => "products", :action => "destroy", :id => "1"}
+    end
+  end
+end
\ No newline at end of file