changelog shortlog tags changeset file revisions annotate raw

test/functional/orders_controller_test.rb

revision 13: 907a36cf5ba1
parent 12:755229281e85
--- a/test/functional/orders_controller_test.rb	Mon Mar 10 03:51:59 2008 +0900
+++ b/test/functional/orders_controller_test.rb	Mon Mar 10 09:38:39 2008 +0900
@@ -1,45 +1,59 @@ require File.dirname(__FILE__) + '/../te
 require File.dirname(__FILE__) + '/../test_helper'
 
 class OrdersControllerTest < ActionController::TestCase
-  def test_should_get_index
+  def _test_should_get_index
+    create_session_order
     get :index
     assert_response :success
     assert_not_nil assigns(:orders)
   end
 
   def test_should_get_new
+    create_session_order
     get :new
     assert_response :success
   end
 
   def test_should_create_order
-    assert_difference('Order.count') do
+    create_session_order
+    # TODO: singleton resource はPOSTできないはず。
+    assert_difference('Order.count', 0) do
       post :create, :order => { }
     end
 
-    assert_redirected_to order_path(assigns(:order))
+    assert_redirected_to order_path
   end
 
   def test_should_show_order
-    get :show, :id => orders(:moriq).id
+    create_session_order
+    get :show
     assert_response :success
   end
 
   def test_should_get_edit
-    get :edit, :id => orders(:moriq).id
+    create_session_order
+    get :edit
     assert_response :success
   end
 
   def test_should_update_order
-    put :update, :id => orders(:moriq).id, :order => { }
-    assert_redirected_to order_path(assigns(:order))
+    create_session_order
+    put :update, :order => { }
+    assert_redirected_to order_path
   end
 
   def test_should_destroy_order
+    create_session_order
     assert_difference('Order.count', -1) do
-      delete :destroy, :id => orders(:moriq).id
+      delete :destroy
     end
 
-    assert_redirected_to orders_path
+    assert_redirected_to order_path
   end
+
+  private
+    def create_session_order
+      order = orders(:moriq)
+      @request.session[:order_id] = order.id
+    end
 end