Functional tests now work properly, bearing in mind whether a user is logged in or...
[depot.git] / test / functional / orders_controller_test.rb
1 require 'test_helper'
2
3 class OrdersControllerTest < ActionController::TestCase
4
5 fixtures :orders, :users
6
7 test "should get index" do
8 get :index, {}, { :user_id => users(:dave).id }
9 assert_response :success
10 assert_not_nil assigns(:orders)
11 end
12
13 test "should get new" do
14 get :new, {}, { :user_id => users(:dave).id }
15 assert_response :success
16 end
17
18 test "should create order" do
19 assert_difference('Order.count') do
20 post :create, {:order => { :name => "a name", :address => "an address",
21 :email => "name@nowhere.com",
22 :pay_type => "po"}},
23 { :user_id => users(:dave).id }
24 end
25
26 assert_redirected_to order_path(assigns(:order))
27 end
28
29 test "should show order" do
30 get :show, {:id => orders(:one).id}, { :user_id => users(:dave).id }
31 assert_response :success
32 end
33
34 test "should get edit" do
35 get :edit, {:id => orders(:one).id}, { :user_id => users(:dave).id }
36 assert_response :success
37 end
38
39 test "should update order" do
40 put :update, {:id => orders(:one).id, :order => { }}, { :user_id => users(:dave).id }
41 assert_redirected_to order_path(assigns(:order))
42 end
43
44 test "should destroy order" do
45 assert_difference('Order.count', -1) do
46 delete :destroy, {:id => orders(:one).id}, { :user_id => users(:dave).id }
47 end
48
49 assert_redirected_to orders_path
50 end
51
52
53
54 test "get index without user" do
55 get :index
56 assert_redirected_to :controller => "admin", :action => "login"
57 assert_equal "Please log in", flash[:notice]
58 end
59
60 test "get new without user" do
61 get :new
62 assert_redirected_to :controller => "admin", :action => "login"
63 assert_equal "Please log in", flash[:notice]
64 end
65
66 test "create order without user" do
67 post :create, :order => { }
68 assert_redirected_to :controller => "admin", :action => "login"
69 assert_equal "Please log in", flash[:notice]
70 end
71
72 test "show order without user" do
73 get :show, :id => orders(:one).id
74 assert_redirected_to :controller => "admin", :action => "login"
75 assert_equal "Please log in", flash[:notice]
76 end
77
78 test "get edit without user" do
79 get :edit, :id => orders(:one).id
80 assert_redirected_to :controller => "admin", :action => "login"
81 assert_equal "Please log in", flash[:notice]
82 end
83
84 test "update order without user" do
85 put :update, :id => orders(:one).id, :order => { }
86 assert_redirected_to :controller => "admin", :action => "login"
87 assert_equal "Please log in", flash[:notice]
88 end
89
90 test "destroy order without user" do
91 delete :destroy, :id => orders(:one).id
92 assert_redirected_to :controller => "admin", :action => "login"
93 assert_equal "Please log in", flash[:notice]
94 end
95
96
97 end