X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=test%2Ffunctional%2Fproducts_controller_test.rb;fp=test%2Ffunctional%2Fproducts_controller_test.rb;h=0329bd172d664df445b8a434888389d254847d9e;hb=d1443c62a06ef07ba0fa26f7009eeab1d30d58b8;hp=935e491e1deec9567d6bbe837583a01587947dbf;hpb=b0748b595b9c1d5ad9f6f461935db914c3a86bd3;p=depot.git diff --git a/test/functional/products_controller_test.rb b/test/functional/products_controller_test.rb index 935e491..0329bd1 100644 --- a/test/functional/products_controller_test.rb +++ b/test/functional/products_controller_test.rb @@ -1,45 +1,94 @@ require 'test_helper' class ProductsControllerTest < ActionController::TestCase + + fixtures :products, :users + test "should get index" do - get :index + get :index, {}, { :user_id => users(:dave).id } assert_response :success assert_not_nil assigns(:products) end test "should get new" do - get :new + get :new, {}, { :user_id => users(:dave).id } assert_response :success end test "should create product" do assert_difference('Product.count') do - post :create, :product => { } + post :create, {:product => {:title => "test product", :description => "test description", + :image_url => "/images/test.jpg", :price => 9.99, :date_available => Time.now}}, + { :user_id => users(:dave).id } end assert_redirected_to product_path(assigns(:product)) end test "should show product" do - get :show, :id => products(:one).id + get :show, {:id => products(:ruby_book).id}, { :user_id => users(:dave).id } assert_response :success end test "should get edit" do - get :edit, :id => products(:one).id + get :edit, {:id => products(:ruby_book).id}, { :user_id => users(:dave).id } assert_response :success end test "should update product" do - put :update, :id => products(:one).id, :product => { } + put :update, {:id => products(:ruby_book).id, :product => { }}, { :user_id => users(:dave).id } assert_redirected_to product_path(assigns(:product)) end test "should destroy product" do assert_difference('Product.count', -1) do - delete :destroy, :id => products(:one).id + delete :destroy, {:id => products(:ruby_book).id}, { :user_id => users(:dave).id } end assert_redirected_to products_path end + + + test "get index without user" do + get :index + assert_redirected_to :controller => "admin", :action => "login" + assert_equal "Please log in", flash[:notice] + end + + test "get new without user" do + get :new + assert_redirected_to :controller => "admin", :action => "login" + assert_equal "Please log in", flash[:notice] + end + + test "create product without user" do + post :create, :product => { } + assert_redirected_to :controller => "admin", :action => "login" + assert_equal "Please log in", flash[:notice] + end + + test "show product without user" do + get :show, :id => products(:ruby_book).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 => products(:ruby_book).id + assert_redirected_to :controller => "admin", :action => "login" + assert_equal "Please log in", flash[:notice] + end + + test "update product without user" do + put :update, :id => products(:ruby_book).id, :product => { } + assert_redirected_to :controller => "admin", :action => "login" + assert_equal "Please log in", flash[:notice] + end + + test "destroy product without user" do + delete :destroy, :id => products(:ruby_book).id + assert_redirected_to :controller => "admin", :action => "login" + assert_equal "Please log in", flash[:notice] + end + end