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