typus 3.0.8 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. data/Gemfile +8 -1
  2. data/README.md +2 -2
  3. data/Rakefile +6 -14
  4. data/app/controllers/admin/base_controller.rb +1 -1
  5. data/app/controllers/admin/dashboard_controller.rb +0 -1
  6. data/app/controllers/admin/resources_controller.rb +8 -11
  7. data/app/controllers/admin/session_controller.rb +5 -4
  8. data/app/helpers/admin/base_helper.rb +9 -2
  9. data/app/helpers/admin/dashboard_helper.rb +0 -6
  10. data/app/helpers/admin/display_helper.rb +1 -0
  11. data/app/helpers/admin/file_preview_helper.rb +0 -2
  12. data/app/helpers/admin/filters_helper.rb +6 -3
  13. data/app/helpers/admin/form_helper.rb +2 -4
  14. data/app/helpers/admin/list_helper.rb +1 -3
  15. data/app/helpers/admin/relationships_helper.rb +2 -4
  16. data/app/helpers/admin/resources_helper.rb +0 -2
  17. data/app/helpers/admin/search_helper.rb +0 -2
  18. data/app/helpers/admin/sidebar_helper.rb +0 -2
  19. data/app/helpers/admin/table_helper.rb +3 -6
  20. data/app/views/admin/account/forgot_password.html.erb +2 -2
  21. data/app/views/admin/account/new.html.erb +3 -7
  22. data/app/views/admin/{helpers/dashboard → dashboard}/_applications.html.erb +0 -0
  23. data/app/views/admin/dashboard/_sidebar.html.erb +1 -1
  24. data/app/views/admin/dashboard/show.html.erb +7 -1
  25. data/app/views/admin/helpers/base/_apps.html.erb +1 -1
  26. data/app/views/admin/helpers/base/_login_info.html.erb +2 -2
  27. data/app/views/admin/helpers/filters/_filters.html.erb +3 -1
  28. data/app/views/admin/resources/_form.html.erb +5 -2
  29. data/app/views/admin/resources/edit.html.erb +1 -1
  30. data/app/views/admin/resources/index.html.erb +1 -1
  31. data/app/views/admin/resources/show.html.erb +2 -2
  32. data/app/views/admin/session/new.html.erb +3 -7
  33. data/app/views/admin/templates/_belongs_to.html.erb +8 -1
  34. data/app/views/admin/templates/_belongs_to_with_autocomplete.html.erb +1 -1
  35. data/app/views/admin/templates/_relate_form.html.erb +1 -1
  36. data/app/views/admin/templates/_relate_form_with_autocomplete.html.erb +3 -1
  37. data/app/views/admin/templates/_string.html.erb +1 -1
  38. data/app/views/admin/templates/_text.html.erb +1 -1
  39. data/app/views/layouts/admin/base.html.erb +2 -0
  40. data/app/views/layouts/admin/headless.html.erb +2 -0
  41. data/app/views/layouts/admin/session.html.erb +6 -0
  42. data/config/routes.rb +4 -1
  43. data/lib/support/active_record.rb +0 -10
  44. data/lib/support/fake_user.rb +4 -6
  45. data/lib/support/object.rb +4 -0
  46. data/lib/support/string.rb +0 -8
  47. data/lib/typus.rb +2 -3
  48. data/lib/typus/authentication/base.rb +0 -1
  49. data/lib/typus/authentication/session.rb +22 -29
  50. data/lib/typus/orm/active_record.rb +5 -5
  51. data/lib/typus/orm/active_record/admin_user_v1.rb +93 -0
  52. data/lib/typus/orm/active_record/admin_user_v2.rb +49 -0
  53. data/lib/typus/orm/active_record/class_methods.rb +23 -143
  54. data/lib/typus/orm/active_record/user/instance_methods.rb +64 -0
  55. data/lib/typus/orm/base.rb +170 -0
  56. data/lib/typus/orm/mongo/class_methods.rb +11 -0
  57. data/lib/typus/resources.rb +2 -1
  58. data/lib/typus/version.rb +1 -1
  59. data/test/app/controllers/admin/account_controller_test.rb +4 -2
  60. data/test/app/controllers/admin/assets_controller_test.rb +12 -12
  61. data/test/app/controllers/admin/categories_controller_test.rb +5 -12
  62. data/test/app/controllers/admin/comments_controller_test.rb +1 -1
  63. data/test/app/controllers/admin/image_holders_controller_test.rb +1 -1
  64. data/test/app/controllers/admin/invoices_controller_test.rb +1 -1
  65. data/test/app/controllers/admin/posts_controller_test.rb +32 -32
  66. data/test/app/controllers/admin/projects_controller_test.rb +1 -1
  67. data/test/app/controllers/admin/typus_users_controller_test.rb +13 -17
  68. data/test/app/controllers/admin/users_controller_test.rb +9 -9
  69. data/test/app/helpers/admin/list_helper_test.rb +17 -0
  70. data/test/app/models/admin_user_test.rb +5 -0
  71. data/test/app/models/typus_user_roles_test.rb +1 -0
  72. data/test/app/models/typus_user_test.rb +45 -11
  73. data/test/factories.rb +1 -1
  74. data/test/fixtures/rails_app/app/controllers/admin/hits_controller.rb +40 -0
  75. data/test/fixtures/rails_app/app/controllers/admin_user.rb +3 -0
  76. data/test/fixtures/rails_app/app/models/asset.rb +0 -6
  77. data/test/fixtures/rails_app/app/models/hit.rb +27 -0
  78. data/test/fixtures/rails_app/app/views/admin/hits/_edit.html.erb +7 -0
  79. data/test/fixtures/rails_app/app/views/admin/hits/_index.html.erb +3 -0
  80. data/test/fixtures/rails_app/app/views/admin/hits/index.html.erb +28 -0
  81. data/test/fixtures/rails_app/config/boot.rb +3 -10
  82. data/test/fixtures/rails_app/config/deploy.rb +1 -1
  83. data/test/fixtures/rails_app/config/mongoid.yml +20 -0
  84. data/test/fixtures/rails_app/config/typus/crud_extended.yml +2 -0
  85. data/test/fixtures/rails_app/config/typus/mongo_db.yml +4 -0
  86. data/test/fixtures/rails_app/config/typus/mongo_db_roles.yml +2 -0
  87. data/test/fixtures/rails_app/db/schema.rb +11 -0
  88. data/test/lib/support/fake_user_test.rb +4 -0
  89. data/test/lib/support/string_test.rb +0 -18
  90. data/test/lib/typus/orm/active_record/class_methods_test.rb +14 -2
  91. data/test/lib/typus/orm/active_record/search_test.rb +1 -1
  92. data/test/lib/typus_test.rb +2 -1
  93. data/typus.gemspec +1 -1
  94. metadata +32 -45
  95. data/lib/typus/orm/active_record/instance_methods.rb +0 -13
  96. data/lib/typus/orm/active_record/user.rb +0 -157
  97. data/test/fixtures/rails_app/public/javascripts/application.js +0 -2
  98. data/test/fixtures/rails_app/public/javascripts/controls.js +0 -965
  99. data/test/fixtures/rails_app/public/javascripts/dragdrop.js +0 -974
  100. data/test/fixtures/rails_app/public/javascripts/effects.js +0 -1123
  101. data/test/fixtures/rails_app/public/javascripts/prototype.js +0 -6001
  102. data/test/fixtures/rails_app/public/javascripts/rails.js +0 -175
@@ -0,0 +1,11 @@
1
+ module Typus
2
+ module Orm
3
+ module Mongo
4
+ module ClassMethods
5
+
6
+ include Typus::Orm::Base
7
+
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,7 +1,8 @@
1
1
  module Typus
2
2
  module Resources
3
3
 
4
- # Setup Typus::Resources. This should be run from an initializer.
4
+ ##
5
+ # Setup Typus::Resources:
5
6
  #
6
7
  # Typus::Resources.setup do |config|
7
8
  # config.default_action_on_item = "index"
@@ -1,3 +1,3 @@
1
1
  module Typus
2
- VERSION = "3.0.8"
2
+ VERSION = "3.0.9"
3
3
  end
@@ -88,7 +88,7 @@ class Admin::AccountControllerTest < ActionController::TestCase
88
88
  end
89
89
 
90
90
  should "test_should_create_admin_user_session_and_redirect_user_to_its_details" do
91
- get :show, { :id => @typus_user.token }
91
+ get :show, :id => @typus_user.token
92
92
 
93
93
  assert_equal @typus_user.id, @request.session[:typus_user_id]
94
94
  assert_response :redirect
@@ -96,7 +96,9 @@ class Admin::AccountControllerTest < ActionController::TestCase
96
96
  end
97
97
 
98
98
  should "test_should_return_404_on_reset_passsword_if_token_is_not_valid" do
99
- assert_raise(ActiveRecord::RecordNotFound) { get :show, { :id => "unexisting" } }
99
+ assert_raises ActiveRecord::RecordNotFound do
100
+ get :show, :id => "unexisting"
101
+ end
100
102
  end
101
103
 
102
104
  end
@@ -24,17 +24,17 @@ class Admin::AssetsControllerTest < ActionController::TestCase
24
24
  end
25
25
 
26
26
  should "verify there is a file link" do
27
- get :edit, { :id => @asset.id }
27
+ get :edit, :id => @asset.id
28
28
  assert_match /media/, @response.body
29
29
  end
30
30
 
31
31
  should "verify dragonfly can be removed" do
32
- get :edit, { :id => @asset.id }
32
+ get :edit, :id => @asset.id
33
33
  assert_match /Remove/, @response.body
34
34
 
35
35
  assert @asset.dragonfly_uid.present?
36
36
 
37
- get :update, { :id => @asset.id, :attribute => "dragonfly" }
37
+ get :update, :id => @asset.id, :attribute => "dragonfly"
38
38
  assert_response :redirect
39
39
  assert_redirected_to "/admin/assets/edit/#{@asset.id}"
40
40
  assert_equal "Asset successfully updated.", flash[:notice]
@@ -44,10 +44,10 @@ class Admin::AssetsControllerTest < ActionController::TestCase
44
44
  end
45
45
 
46
46
  should "verify dragonfly_required can not removed" do
47
- get :edit, { :id => @asset.id }
47
+ get :edit, :id => @asset.id
48
48
  assert_no_match /Remove required file/, @response.body
49
49
 
50
- get :update, { :id => @asset.id, :attribute => "dragonfly_required" }
50
+ get :update, :id => @asset.id, :attribute => "dragonfly_required"
51
51
  assert_response :success
52
52
 
53
53
  @asset.reload
@@ -56,7 +56,7 @@ class Admin::AssetsControllerTest < ActionController::TestCase
56
56
 
57
57
  should "verify message on polymorphic relationship" do
58
58
  asset = Factory(:asset)
59
- get :edit, { :id => asset.id, :resource => @post.class.name, :resource_id => @post.id }
59
+ get :edit, :id => asset.id, :resource => @post.class.name, :resource_id => @post.id
60
60
  assert_select 'body div#flash', "Cancel adding a new asset?"
61
61
  end
62
62
 
@@ -65,20 +65,20 @@ class Admin::AssetsControllerTest < ActionController::TestCase
65
65
  context "Headless" do
66
66
 
67
67
  should "render index with a custom layout" do
68
- get :index, { :layout => "admin/headless" }
68
+ get :index, :layout => "admin/headless"
69
69
  assert_response :success
70
70
  assert_template "admin/headless"
71
71
  end
72
72
 
73
73
  should "render new with a custom layout" do
74
- get :new, { :layout => "admin/headless" }
74
+ get :new, :layout => "admin/headless"
75
75
  assert_response :success
76
76
  assert_template "admin/headless"
77
77
  end
78
78
 
79
79
  should "render edit with a custom layout" do
80
80
  asset = Factory(:asset)
81
- get :edit, { :id => asset.id, :layout => "admin/headless" }
81
+ get :edit, :id => asset.id, :layout => "admin/headless"
82
82
  assert_response :success
83
83
  assert_template "admin/headless"
84
84
  end
@@ -125,13 +125,13 @@ class Admin::AssetsControllerTest < ActionController::TestCase
125
125
 
126
126
  should "redirect to edit with custom layout" do
127
127
  asset = {:caption => "My Caption", :dragonfly_required => File.new("#{Rails.root}/public/images/rails.png")}
128
- post :update, { :id => @asset.id, :asset => asset, :layout => "admin/headless" }
128
+ post :update, :id => @asset.id, :asset => asset, :layout => "admin/headless"
129
129
  assert_response :redirect
130
130
  assert_redirected_to :action => "edit", :id => @asset.id, :layout => "admin/headless"
131
131
  end
132
132
 
133
133
  should "render update with custom layout after an error" do
134
- post :update, { :id => @asset.id, :asset => { :caption => nil }, :layout => "admin/headless" }
134
+ post :update, :id => @asset.id, :asset => { :dragonfly_required => nil }, :layout => "admin/headless"
135
135
  assert_response :success
136
136
  assert_template "admin/helpers/resources/_errors"
137
137
  assert_template "admin/resources/edit"
@@ -141,7 +141,7 @@ class Admin::AssetsControllerTest < ActionController::TestCase
141
141
  should "redirect to index with custom layout" do
142
142
  Typus::Resources.expects(:action_after_save).returns("index")
143
143
  asset = {:caption => "My Caption", :dragonfly_required => File.new("#{Rails.root}/public/images/rails.png")}
144
- post :update, { :id => @asset.id, :asset => asset, :layout => "admin/headless" }
144
+ post :update, :id => @asset.id, :asset => asset, :layout => "admin/headless"
145
145
  assert_response :redirect
146
146
  assert_redirected_to :action => "index", :layout => "admin/headless"
147
147
  end
@@ -44,30 +44,23 @@ class Admin::CategoriesControllerTest < ActionController::TestCase
44
44
 
45
45
  should "position item one step down" do
46
46
  get :position, { :id => @first_category.id, :go => 'move_lower' }
47
-
48
47
  assert_equal "Category successfully updated.", flash[:notice]
49
- assert_equal 2, @first_category.reload.position
50
- assert_equal 1, @second_category.reload.position
48
+ assert_equal 2, assigns(:item).position
51
49
  end
52
50
 
53
51
  should "position item one step up" do
54
52
  get :position, { :id => @second_category.id, :go => 'move_higher' }
55
-
56
- assert_equal "Category successfully updated.", flash[:notice]
57
- assert_equal 2, @first_category.reload.position
58
- assert_equal 1, @second_category.reload.position
53
+ assert_equal 1, assigns(:item).position
59
54
  end
60
55
 
61
56
  should "position top item to bottom" do
62
57
  get :position, { :id => @first_category.id, :go => 'move_to_bottom' }
63
- assert_equal "Category successfully updated.", flash[:notice]
64
- assert_equal 2, @first_category.reload.position
58
+ assert_equal 2, assigns(:item).position
65
59
  end
66
60
 
67
61
  should "position bottom item to top" do
68
62
  get :position, { :id => @second_category.id, :go => 'move_to_top' }
69
- assert_equal "Category successfully updated.", flash[:notice]
70
- assert_equal 1, @second_category.reload.position
63
+ assert_equal 1, assigns(:item).position
71
64
  end
72
65
 
73
66
  end
@@ -93,7 +86,7 @@ class Admin::CategoriesControllerTest < ActionController::TestCase
93
86
 
94
87
  should "unrelate category from post" do
95
88
  assert_difference('@category.posts.count', -1) do
96
- post :unrelate, { :id => @category.id, :resource => 'Post', :resource_id => @category.posts.first }
89
+ post :unrelate, :id => @category.id, :resource => 'Post', :resource_id => @category.posts.first
97
90
  end
98
91
 
99
92
  assert_response :redirect
@@ -38,7 +38,7 @@ class Admin::CommentsControllerTest < ActionController::TestCase
38
38
  @post = comment.post
39
39
 
40
40
  assert_difference('@post.comments.count', -1) do
41
- post :unrelate, { :id => comment.id, :resource => 'Post', :resource_id => @post.id }
41
+ post :unrelate, :id => comment.id, :resource => 'Post', :resource_id => @post.id
42
42
  end
43
43
 
44
44
  assert comment.reload.post.nil?
@@ -66,7 +66,7 @@ class Admin::ImageHoldersControllerTest < ActionController::TestCase
66
66
 
67
67
  should "work" do
68
68
  assert_difference('@bird.image_holders.count', -1) do
69
- post :unrelate, { :id => @image_holder.id, :resource => "Bird", :resource_id => @bird.id }
69
+ post :unrelate, :id => @image_holder.id, :resource => "Bird", :resource_id => @bird.id
70
70
  end
71
71
  end
72
72
 
@@ -68,7 +68,7 @@ class Admin::InvoicesControllerTest < ActionController::TestCase
68
68
  end
69
69
 
70
70
  should "work for unrelate Invoice from Order" do
71
- post :unrelate, { :id => @invoice.id, :resource => 'Order', :resource_id => @order.id }
71
+ post :unrelate, :id => @invoice.id, :resource => 'Order', :resource_id => @order.id
72
72
  assert @order.reload.invoice.nil?
73
73
  assert_equal "Order successfully updated.", flash[:notice]
74
74
  end
@@ -60,26 +60,26 @@ class Admin::PostsControllerTest < ActionController::TestCase
60
60
 
61
61
  should "create" do
62
62
  assert_difference('Post.count') do
63
- post :create, { :post => { :title => 'This is another title', :body => 'Body' } }
63
+ post :create, :post => @post.attributes
64
64
  assert_response :redirect
65
65
  assert_redirected_to "/admin/posts/edit/#{Post.last.id}"
66
66
  end
67
67
  end
68
68
 
69
69
  should "render show" do
70
- get :show, { :id => @post.id }
70
+ get :show, :id => @post.id
71
71
  assert_response :success
72
72
  assert_template 'show'
73
73
  end
74
74
 
75
75
  should "render edit" do
76
- get :edit, { :id => @post.id }
76
+ get :edit, :id => @post.id
77
77
  assert_response :success
78
78
  assert_template 'edit'
79
79
  end
80
80
 
81
81
  should "update" do
82
- post :update, { :id => @post.id, :title => 'Updated' }
82
+ post :update, :id => @post.id, :post => { :title => 'Updated' }
83
83
  assert_response :redirect
84
84
  assert_redirected_to "/admin/posts/edit/#{@post.id}"
85
85
  end
@@ -96,7 +96,7 @@ class Admin::PostsControllerTest < ActionController::TestCase
96
96
 
97
97
  should "work" do
98
98
  assert !@post.published
99
- get :toggle, { :id => @post.id, :field => "published" }
99
+ get :toggle, :id => @post.id, :field => "published"
100
100
 
101
101
  assert_response :redirect
102
102
  assert_redirected_to @request.env["HTTP_REFERER"]
@@ -107,7 +107,7 @@ class Admin::PostsControllerTest < ActionController::TestCase
107
107
  should "render edit post when validation fails" do
108
108
  @post.body = nil
109
109
  @post.save(:validate => false)
110
- get :toggle, { :id => @post.id, :field => "published" }
110
+ get :toggle, :id => @post.id, :field => "published"
111
111
  assert_response :success
112
112
  assert_template "admin/resources/edit"
113
113
  end
@@ -120,28 +120,28 @@ class Admin::PostsControllerTest < ActionController::TestCase
120
120
 
121
121
  should "render index with accepted params" do
122
122
  @post.update_attributes(:published => true)
123
- get :index, { :published => 'true' }
123
+ get :index, :published => 'true'
124
124
  assert_response :success
125
125
  assert_template 'index'
126
126
  assert assigns(:items).size.eql?(1)
127
127
 
128
- get :index, { :published => 'false' }
128
+ get :index, :published => 'false'
129
129
  assert assigns(:items).size.eql?(0)
130
130
  end
131
131
 
132
132
  should "render index with accepted params - search" do
133
133
  @post.update_attributes(:title => "neinonon")
134
- get :index, { :search => 'neinonon' }
134
+ get :index, :search => 'neinonon'
135
135
  assert_response :success
136
136
  assert_template 'index'
137
137
  assert assigns(:items).size.eql?(1)
138
138
 
139
- get :index, { :search => 'unexisting' }
139
+ get :index, :search => 'unexisting'
140
140
  assert assigns(:items).size.eql?(0)
141
141
  end
142
142
 
143
143
  should "render index with non-accepted params" do
144
- get :index, { :non_accepted_param => 'non_accepted_param' }
144
+ get :index, :non_accepted_param => 'non_accepted_param'
145
145
  assert_response :success
146
146
  assert_template 'index'
147
147
  end
@@ -247,14 +247,14 @@ class Admin::PostsControllerTest < ActionController::TestCase
247
247
 
248
248
  should "create an item and redirect to index" do
249
249
  assert_difference('Post.count') do
250
- post :create, { :post => { :title => 'This is another title', :body => 'Body' } }
250
+ post :create, :post => @post.attributes
251
251
  assert_response :redirect
252
252
  assert_redirected_to :action => 'index'
253
253
  end
254
254
  end
255
255
 
256
256
  should "update an item and redirect to index" do
257
- post :update, { :id => @post.id, :title => 'Updated' }
257
+ post :update, :id => @post.id, :post => { :title => 'Updated' }
258
258
  assert_response :redirect
259
259
  assert_redirected_to :action => 'index'
260
260
  end
@@ -323,7 +323,7 @@ title;status
323
323
 
324
324
  should "be able to edit any record" do
325
325
  Post.all.each do |post|
326
- get :edit, { :id => post.id }
326
+ get :edit, :id => post.id
327
327
  assert_response :success
328
328
  assert_template 'edit'
329
329
  end
@@ -331,12 +331,12 @@ title;status
331
331
 
332
332
  should "verify_admin_updating_an_item_does_not_change_typus_user_id_if_not_defined" do
333
333
  _post = @post
334
- post :update, { :id => @post.id, :post => { :title => 'Updated by admin' } }
334
+ post :update, :id => @post.id, :post => { :title => 'Updated by admin' }
335
335
  assert_equal _post.typus_user_id, @post.reload.typus_user_id
336
336
  end
337
337
 
338
338
  should "verify_admin_updating_an_item_does_change_typus_user_id_to_whatever_admin_wants" do
339
- post :update, { :id => @post.id, :post => { :title => 'Updated', :typus_user_id => 108 } }
339
+ post :update, :id => @post.id, :post => { :title => 'Updated', :typus_user_id => 108 }
340
340
  assert_equal 108, @post.reload.typus_user_id
341
341
  end
342
342
 
@@ -356,25 +356,24 @@ title;status
356
356
 
357
357
  should "verify_editor_can_show_any_record" do
358
358
  Post.all.each do |post|
359
- get :show, { :id => post.id }
359
+ get :show, :id => post.id
360
360
  assert_response :success
361
361
  assert_template 'show'
362
362
  end
363
363
  end
364
364
 
365
365
  should "verify_editor_tried_to_edit_a_post_owned_by_himself" do
366
- post_ = Factory(:post, :typus_user => @typus_user)
367
- get :edit, { :id => post_.id }
366
+ get :edit, :id => Factory(:post, :typus_user => @typus_user).id
368
367
  assert_response :success
369
368
  end
370
369
 
371
370
  should "verify_editor_tries_to_edit_a_post_owned_by_the_admin" do
372
- get :edit, { :id => Factory(:post).id }
371
+ get :edit, :id => Factory(:post).id
373
372
  assert_response :unprocessable_entity
374
373
  end
375
374
 
376
375
  should "verify_editor_tries_to_show_a_post_owned_by_the_admin" do
377
- get :show, { :id => Factory(:post).id }
376
+ get :show, :id => Factory(:post).id
378
377
  assert_response :success
379
378
  end
380
379
 
@@ -395,23 +394,24 @@ title;status
395
394
  should "verify_editor_tries_to_show_a_post_owned_by_the_admin when only user items" do
396
395
  Typus::Resources.expects(:only_user_items).returns(true)
397
396
  post = Factory(:post)
398
- get :show, { :id => post.id }
397
+ get :show, :id => post.id
399
398
  assert_response :unprocessable_entity
400
399
  end
401
400
 
402
401
  should "verify_typus_user_id_of_item_when_creating_record" do
403
- post :create, { :post => { :title => "Chunky Bacon", :body => "Lorem ipsum ..." } }
404
- post_ = Post.find_by_title("Chunky Bacon")
402
+ assert_difference('Post.count') do
403
+ post :create, :post => { :title => "Chunky Bacon", :body => "Lorem ipsum ..." }
404
+ end
405
405
 
406
- assert_equal @request.session[:typus_user_id], post_.typus_user_id
406
+ assert_equal @request.session[:typus_user_id], assigns(:item).typus_user_id
407
407
  end
408
408
 
409
409
  should "verify_editor_updating_an_item_does_not_change_typus_user_id" do
410
410
  [ 108, nil ].each do |typus_user_id|
411
411
  post_ = Factory(:post, :typus_user => @typus_user)
412
- post :update, { :id => post_.id, :post => { :title => 'Updated', :typus_user_id => @typus_user.id } }
412
+ post :update, :id => post_.id, :post => { :title => 'Updated', :typus_user_id => @typus_user.id }
413
413
  post_updated = Post.find(post_.id)
414
- assert_equal @request.session[:typus_user_id], post_updated.typus_user_id
414
+ assert_equal @request.session[:typus_user_id], post_updated.typus_user_id
415
415
  end
416
416
  end
417
417
 
@@ -432,7 +432,7 @@ title;status
432
432
  end
433
433
 
434
434
  should "be able to destroy posts" do
435
- get :destroy, { :id => Factory(:post).id, :method => :delete }
435
+ get :destroy, :id => Factory(:post).id, :method => :delete
436
436
 
437
437
  assert_response :redirect
438
438
  assert_equal "Post successfully removed.", flash[:notice]
@@ -458,7 +458,7 @@ title;status
458
458
 
459
459
  should "not be able to destroy posts" do
460
460
  assert_no_difference('Post.count') do
461
- get :destroy, { :id => @post.id, :method => :delete }
461
+ get :destroy, :id => @post.id, :method => :delete
462
462
  end
463
463
  assert_response :unprocessable_entity
464
464
  end
@@ -544,7 +544,7 @@ title;status
544
544
  context "Edit" do
545
545
 
546
546
  setup do
547
- get :edit, { :id => Factory(:post).id }
547
+ get :edit, :id => Factory(:post).id
548
548
  end
549
549
 
550
550
  should "render_edit_and_verify_presence_of_custom_partials" do
@@ -560,7 +560,7 @@ title;status
560
560
  context "Show" do
561
561
 
562
562
  setup do
563
- get :show, { :id => Factory(:post).id }
563
+ get :show, :id => Factory(:post).id
564
564
  end
565
565
 
566
566
  should "render_show_and_verify_presence_of_custom_partials" do
@@ -627,7 +627,7 @@ title;status
627
627
  Typus::Resources.stubs(:default_action_on_item).returns(action)
628
628
  get :index
629
629
  Post.all.each do |post|
630
- if post.owned_by?(@typus_user)
630
+ if @typus_user.owns?(post)
631
631
  assert_match "/posts/#{action}/#{post.id}", @response.body
632
632
  else
633
633
  assert_no_match /\/posts\/#{action}\/#{post.id}/, @response.body
@@ -19,7 +19,7 @@ class Admin::ProjectsControllerTest < ActionController::TestCase
19
19
  end
20
20
 
21
21
  should_eventually "be able to destroy items" do
22
- get :destroy, { :id => @user.id, :method => :delete }
22
+ get :destroy, :id => @user.id, :method => :delete
23
23
 
24
24
  assert_response :redirect
25
25
  assert_equal "User successfully removed.", flash[:notice]
@@ -52,12 +52,12 @@ class Admin::TypusUsersControllerTest < ActionController::TestCase
52
52
  end
53
53
 
54
54
  should "not be able to change his role" do
55
- post :update, { :id => @typus_user.id, :typus_user => { :role => 'editor' } }
55
+ post :update, :id => @typus_user.id, :typus_user => { :role => 'editor' }
56
56
  assert_response :unprocessable_entity
57
57
  end
58
58
 
59
59
  should "be able to update other users role" do
60
- post :update, { :id => @typus_user_editor.id, :typus_user => { :role => 'admin' } }
60
+ post :update, :id => @typus_user_editor.id, :typus_user => { :role => 'admin' }
61
61
  assert_response :redirect
62
62
  assert_redirected_to "/admin/typus_users/edit/#{@typus_user_editor.id}"
63
63
  assert_equal "Typus user successfully updated.", flash[:notice]
@@ -79,19 +79,19 @@ class Admin::TypusUsersControllerTest < ActionController::TestCase
79
79
  end
80
80
 
81
81
  should "be able to edit his profile" do
82
- get :edit, { :id => @editor.id }
82
+ get :edit, :id => @editor.id
83
83
  assert_response :success
84
84
  end
85
85
 
86
86
  should "be able to update his profile" do
87
- post :update, { :id => @editor.id, :typus_user => { :role => 'editor' } }
87
+ post :update, :id => @editor.id, :typus_user => { :role => 'editor' }
88
88
  assert_response :redirect
89
89
  assert_redirected_to "/admin/typus_users/edit/#{@editor.id}"
90
90
  assert_equal "Typus user successfully updated.", flash[:notice]
91
91
  end
92
92
 
93
93
  should "not be able to change his role" do
94
- post :update, { :id => @editor.id, :typus_user => { :role => 'admin' } }
94
+ post :update, :id => @editor.id, :typus_user => { :role => 'admin' }
95
95
  assert_response :unprocessable_entity
96
96
  end
97
97
 
@@ -106,26 +106,22 @@ class Admin::TypusUsersControllerTest < ActionController::TestCase
106
106
  end
107
107
 
108
108
  should "not be able to edit other profiles" do
109
- user = Factory(:typus_user)
110
- get :edit, { :id => user.id }
109
+ get :edit, :id => Factory(:typus_user).id
111
110
  assert_response :unprocessable_entity
112
111
  end
113
112
 
114
113
  should "not be able to update other profiles" do
115
- user = Factory(:typus_user)
116
- post :update, { :id => user.id, :typus_user => { :role => 'admin' } }
114
+ post :update, :id => Factory(:typus_user).id, :typus_user => { :role => 'admin' }
117
115
  assert_response :unprocessable_entity
118
116
  end
119
117
 
120
118
  should "not be able to destroy other profiles" do
121
- user = Factory(:typus_user)
122
- delete :destroy, :id => user.id
119
+ delete :destroy, :id => Factory(:typus_user).id
123
120
  assert_response :unprocessable_entity
124
121
  end
125
122
 
126
123
  should "not be able to toggle other profiles status" do
127
- user = Factory(:typus_user)
128
- get :toggle, { :id => user.id, :field => 'status' }
124
+ get :toggle, { :id => Factory(:typus_user).id, :field => 'status' }
129
125
  assert_response :unprocessable_entity
130
126
  end
131
127
 
@@ -138,21 +134,21 @@ class Admin::TypusUsersControllerTest < ActionController::TestCase
138
134
  context "Designer" do
139
135
 
140
136
  setup do
141
- @designer = Factory(:typus_user, :email => "designer@example.com", :role => "designer")
137
+ @designer = Factory(:typus_user, :role => "designer")
142
138
  @request.session[:typus_user_id] = @designer.id
143
139
  end
144
140
 
145
141
  should "be able to edit his profile" do
146
- get :edit, { :id => @designer.id }
142
+ get :edit, :id => @designer.id
147
143
  assert_response :success
148
144
  end
149
145
 
150
146
  should "be able to update his profile" do
151
- post :update, { :id => @designer.id, :typus_user => { :role => 'designer', :email => 'designer@withafancydomain.com' } }
147
+ post :update, :id => @designer.id, :typus_user => { :role => 'designer', :email => 'designer@withafancydomain.com' }
152
148
  assert_response :redirect
153
149
  assert_redirected_to "/admin/typus_users/edit/#{@designer.id}"
154
150
  assert_equal "Typus user successfully updated.", flash[:notice]
155
- assert_equal "designer@withafancydomain.com", @designer.reload.email
151
+ assert_equal "designer@withafancydomain.com", assigns(:item).email
156
152
  end
157
153
 
158
154
  end