3 class ProductsControllerTest
< ActionController
::TestCase
5 fixtures
:products, :users
7 test
"should get index" do
8 get
:index, {}, { :user_id => users(:dave).id
}
9 assert_response
:success
10 assert_not_nil
assigns(:products)
13 test
"should get new" do
14 get
:new, {}, { :user_id => users(:dave).id
}
15 assert_response
:success
18 test
"should create product" do
19 assert_difference('Product.count') do
20 post
:create, {:product => {:title => "test product", :description => "test description",
21 :image_url => "/images/test.jpg", :price => 9.99, :date_available => Time
.now
}},
22 { :user_id => users(:dave).id
}
25 assert_redirected_to
product_path(assigns(:product))
28 test
"should show product" do
29 get
:show, {:id => products(:ruby_book).id
}, { :user_id => users(:dave).id
}
30 assert_response
:success
33 test
"should get edit" do
34 get
:edit, {:id => products(:ruby_book).id
}, { :user_id => users(:dave).id
}
35 assert_response
:success
38 test
"should update product" do
39 put
:update, {:id => products(:ruby_book).id
, :product => { }}, { :user_id => users(:dave).id
}
40 assert_redirected_to
product_path(assigns(:product))
43 test
"should destroy product" do
44 assert_difference('Product.count', -1) do
45 delete
:destroy, {:id => products(:ruby_book).id
}, { :user_id => users(:dave).id
}
48 assert_redirected_to products_path
52 test
"get index without user" do
54 assert_redirected_to
:controller => "admin", :action => "login"
55 assert_equal
"Please log in", flash
[:notice]
58 test
"get new without user" do
60 assert_redirected_to
:controller => "admin", :action => "login"
61 assert_equal
"Please log in", flash
[:notice]
64 test
"create product without user" do
65 post
:create, :product => { }
66 assert_redirected_to
:controller => "admin", :action => "login"
67 assert_equal
"Please log in", flash
[:notice]
70 test
"show product without user" do
71 get
:show, :id => products(:ruby_book).id
72 assert_redirected_to
:controller => "admin", :action => "login"
73 assert_equal
"Please log in", flash
[:notice]
76 test
"get edit without user" do
77 get
:edit, :id => products(:ruby_book).id
78 assert_redirected_to
:controller => "admin", :action => "login"
79 assert_equal
"Please log in", flash
[:notice]
82 test
"update product without user" do
83 put
:update, :id => products(:ruby_book).id
, :product => { }
84 assert_redirected_to
:controller => "admin", :action => "login"
85 assert_equal
"Please log in", flash
[:notice]
88 test
"destroy product without user" do
89 delete
:destroy, :id => products(:ruby_book).id
90 assert_redirected_to
:controller => "admin", :action => "login"
91 assert_equal
"Please log in", flash
[:notice]