Functional tests now work properly, bearing in mind whether a user is logged in or...
[depot.git] / test / functional / line_items_controller_test.rb
index 305a2610b8e9178a281890aa55addcd486f381e3..fca3d5374bde184307837beb2a029a8115d24c89 100644 (file)
@@ -1,45 +1,95 @@
 require 'test_helper'
 
 class LineItemsControllerTest < ActionController::TestCase
+
+  fixtures :orders, :products, :line_items, :users
+
   test "should get index" do
-    get :index
+    get :index, {}, { :user_id => users(:dave).id }
     assert_response :success
     assert_not_nil assigns(:line_items)
   end
 
   test "should get new" do
-    get :new
+    get :new, {}, { :user_id => users(:dave).id }
     assert_response :success
   end
 
   test "should create line_item" do
     assert_difference('LineItem.count') do
-      post :create, :line_item => { }
+      post :create, {:line_item => { :order_id => 1, :product_id => 1, :quantity => 5, :total_price => 9.99 }},
+        { :user_id => users(:dave).id }
     end
 
     assert_redirected_to line_item_path(assigns(:line_item))
   end
 
   test "should show line_item" do
-    get :show, :id => line_items(:one).id
+    get :show, {:id => line_items(:one).id}, { :user_id => users(:dave).id }
     assert_response :success
   end
 
   test "should get edit" do
-    get :edit, :id => line_items(:one).id
+    get :edit, {:id => line_items(:one).id}, { :user_id => users(:dave).id }
     assert_response :success
   end
 
   test "should update line_item" do
-    put :update, :id => line_items(:one).id, :line_item => { }
+    put :update, {:id => line_items(:one).id, :line_item => { } }, { :user_id => users(:dave).id }
     assert_redirected_to line_item_path(assigns(:line_item))
   end
 
   test "should destroy line_item" do
     assert_difference('LineItem.count', -1) do
-      delete :destroy, :id => line_items(:one).id
+      delete :destroy, {:id => line_items(:one).id}, { :user_id => users(:dave).id }
     end
 
     assert_redirected_to line_items_path
   end
+
+
+
+
+  test "index without user" do
+    get :index
+    assert_redirected_to :controller => "admin", :action => "login"
+    assert_equal "Please log in", flash[:notice]
+  end
+
+  test "new without user" do
+    get :new
+    assert_redirected_to :controller => "admin", :action => "login"
+    assert_equal "Please log in", flash[:notice]
+  end
+
+  test "create line_item without user" do
+    post :create, :line_item => { :order_id => 1, :product_id => 1, :quantity => 5, :total_price => 9.99 }
+    assert_redirected_to :controller => "admin", :action => "login"
+    assert_equal "Please log in", flash[:notice]
+  end
+
+  test "show line_item without user" do
+    get :show, :id => line_items(:one).id
+    assert_redirected_to :controller => "admin", :action => "login"
+    assert_equal "Please log in", flash[:notice]
+  end
+
+  test "get edit without user" do
+    get :edit, :id => line_items(:one).id
+    assert_redirected_to :controller => "admin", :action => "login"
+    assert_equal "Please log in", flash[:notice]
+  end
+
+  test "update line_item without user" do
+    put :update, :id => line_items(:one).id, :line_item => { }
+    assert_redirected_to :controller => "admin", :action => "login"
+    assert_equal "Please log in", flash[:notice]
+  end
+
+  test "destroy line_item without user" do
+    delete :destroy, :id => line_items(:one).id
+    assert_redirected_to :controller => "admin", :action => "login"
+    assert_equal "Please log in", flash[:notice]
+  end
+
 end