spree 0.11.2 → 0.11.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spree might be problematic. Click here for more details.

Files changed (249) hide show
  1. data/Rakefile +9 -8
  2. data/app/controllers/admin/base_controller.rb +31 -0
  3. data/app/controllers/admin/general_settings_controller.rb +9 -0
  4. data/app/controllers/admin/orders_controller.rb +8 -3
  5. data/app/controllers/admin/payments_controller.rb +8 -3
  6. data/app/controllers/admin/shipments_controller.rb +7 -2
  7. data/app/models/address.rb +42 -25
  8. data/app/models/app_configuration.rb +3 -0
  9. data/app/models/billing_integration.rb +1 -1
  10. data/app/models/line_item.rb +1 -1
  11. data/app/models/payment.rb +1 -1
  12. data/app/models/product_group.rb +8 -4
  13. data/app/models/spree/alert.rb +13 -0
  14. data/config/boot.rb +1 -1
  15. data/config/environment.rb +3 -3
  16. data/config/environments/test.rb +1 -1
  17. data/config/locales/en_spree.yml +3 -0
  18. data/config/routes.rb +2 -1
  19. data/lib/generators/extension/templates/Rakefile +1 -1
  20. data/lib/plugins/option_tags_with_disable/Rakefile +1 -1
  21. data/lib/spree.rb +2 -2
  22. data/lib/spree/checkout/action_options.rb +2 -2
  23. data/lib/spree/extension_loader.rb +1 -1
  24. data/lib/spree/initializer.rb +3 -2
  25. data/lib/validation_group.rb +2 -2
  26. data/vendor/extensions/api/Rakefile +1 -1
  27. data/vendor/extensions/overview_dashboard/Rakefile +1 -1
  28. data/vendor/extensions/payment_gateway/Rakefile +1 -1
  29. data/vendor/extensions/payment_gateway/app/models/gateway/authorize_net.rb +8 -2
  30. data/vendor/extensions/payment_gateway/app/models/gateway/authorize_net_cim.rb +6 -0
  31. data/vendor/extensions/theme_default/Rakefile +1 -1
  32. data/vendor/extensions/theme_default/app/views/admin/adjustments/_form.html.erb +0 -3
  33. data/vendor/extensions/theme_default/app/views/admin/adjustments/new.html.erb +3 -0
  34. data/vendor/extensions/theme_default/app/views/admin/general_settings/edit.html.erb +8 -0
  35. data/vendor/extensions/theme_default/app/views/admin/general_settings/show.html.erb +5 -0
  36. data/vendor/extensions/theme_default/app/views/admin/shared/_alert.html.erb +11 -0
  37. data/vendor/extensions/theme_default/app/views/layouts/admin.html.erb +1 -1
  38. data/vendor/extensions/theme_default/public/stylesheets/admin/admin.css +30 -1
  39. data/vendor/plugins/acts_as_tree/Rakefile +1 -1
  40. data/vendor/plugins/attribute_fu/Rakefile +1 -1
  41. data/vendor/plugins/auto_complete/Rakefile +1 -1
  42. data/vendor/plugins/awesome_nested_set/Rakefile +1 -1
  43. data/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb +3 -3
  44. data/vendor/plugins/delegate_belongs_to/Rakefile +1 -1
  45. data/vendor/plugins/enumerable_constants/Rakefile +1 -1
  46. data/vendor/plugins/find_by_param/Rakefile +1 -1
  47. data/vendor/plugins/in_place_editing/Rakefile +1 -1
  48. data/vendor/plugins/jrails_auto_complete/Rakefile +1 -1
  49. data/vendor/plugins/mail_queue/Rakefile +1 -1
  50. data/vendor/plugins/open_id_authentication/Rakefile +1 -1
  51. data/vendor/plugins/resource_controller/lib/resource_controller/action_options.rb +1 -1
  52. data/vendor/plugins/resource_controller/lib/resource_controller/failable_action_options.rb +1 -1
  53. data/vendor/plugins/resource_controller/test/app/controllers/accounts_controller.rb +6 -0
  54. data/vendor/plugins/resource_controller/test/app/controllers/application.rb +7 -0
  55. data/vendor/plugins/resource_controller/test/app/controllers/cms/options_controller.rb +3 -0
  56. data/vendor/plugins/resource_controller/test/app/controllers/cms/personnel_controller.rb +2 -0
  57. data/vendor/plugins/resource_controller/test/app/controllers/cms/photos_controller.rb +6 -0
  58. data/vendor/plugins/resource_controller/test/app/controllers/cms/products_controller.rb +3 -0
  59. data/vendor/plugins/resource_controller/test/app/controllers/comments_controller.rb +3 -0
  60. data/vendor/plugins/resource_controller/test/app/controllers/images_controller.rb +4 -0
  61. data/vendor/plugins/resource_controller/test/app/controllers/options_controller.rb +8 -0
  62. data/vendor/plugins/resource_controller/test/app/controllers/people_controller.rb +9 -0
  63. data/vendor/plugins/resource_controller/test/app/controllers/photos_controller.rb +11 -0
  64. data/vendor/plugins/resource_controller/test/app/controllers/posts_controller.rb +10 -0
  65. data/vendor/plugins/resource_controller/test/app/controllers/projects_controller.rb +3 -0
  66. data/vendor/plugins/resource_controller/test/app/controllers/somethings_controller.rb +3 -0
  67. data/vendor/plugins/resource_controller/test/app/controllers/tags_controller.rb +13 -0
  68. data/vendor/plugins/resource_controller/test/app/controllers/users_controller.rb +12 -0
  69. data/vendor/plugins/resource_controller/test/app/helpers/accounts_helper.rb +2 -0
  70. data/vendor/plugins/resource_controller/test/app/helpers/application_helper.rb +3 -0
  71. data/vendor/plugins/resource_controller/test/app/helpers/cms/products_helper.rb +2 -0
  72. data/vendor/plugins/resource_controller/test/app/helpers/comments_helper.rb +2 -0
  73. data/vendor/plugins/resource_controller/test/app/helpers/images_helper.rb +2 -0
  74. data/vendor/plugins/resource_controller/test/app/helpers/options_helper.rb +2 -0
  75. data/vendor/plugins/resource_controller/test/app/helpers/people_helper.rb +2 -0
  76. data/vendor/plugins/resource_controller/test/app/helpers/photos_helper.rb +2 -0
  77. data/vendor/plugins/resource_controller/test/app/helpers/posts_helper.rb +2 -0
  78. data/vendor/plugins/resource_controller/test/app/helpers/projects_helper.rb +2 -0
  79. data/vendor/plugins/resource_controller/test/app/helpers/somethings_helper.rb +2 -0
  80. data/vendor/plugins/resource_controller/test/app/helpers/tags_helper.rb +2 -0
  81. data/vendor/plugins/resource_controller/test/app/helpers/users_helper.rb +2 -0
  82. data/vendor/plugins/resource_controller/test/app/models/account.rb +4 -0
  83. data/vendor/plugins/resource_controller/test/app/models/comment.rb +3 -0
  84. data/vendor/plugins/resource_controller/test/app/models/image.rb +3 -0
  85. data/vendor/plugins/resource_controller/test/app/models/option.rb +3 -0
  86. data/vendor/plugins/resource_controller/test/app/models/personnel.rb +3 -0
  87. data/vendor/plugins/resource_controller/test/app/models/photo.rb +5 -0
  88. data/vendor/plugins/resource_controller/test/app/models/post.rb +3 -0
  89. data/vendor/plugins/resource_controller/test/app/models/product.rb +3 -0
  90. data/vendor/plugins/resource_controller/test/app/models/project.rb +2 -0
  91. data/vendor/plugins/resource_controller/test/app/models/something.rb +2 -0
  92. data/vendor/plugins/resource_controller/test/app/models/tag.rb +3 -0
  93. data/vendor/plugins/resource_controller/test/app/models/user.rb +3 -0
  94. data/vendor/plugins/resource_controller/test/app/views/accounts/_form.html.erb +4 -0
  95. data/vendor/plugins/resource_controller/test/app/views/accounts/edit.html.erb +14 -0
  96. data/vendor/plugins/resource_controller/test/app/views/accounts/new.html.erb +12 -0
  97. data/vendor/plugins/resource_controller/test/app/views/accounts/show.html.erb +5 -0
  98. data/vendor/plugins/resource_controller/test/app/views/cms/options/edit.rhtml +17 -0
  99. data/vendor/plugins/resource_controller/test/app/views/cms/options/index.rhtml +20 -0
  100. data/vendor/plugins/resource_controller/test/app/views/cms/options/new.rhtml +16 -0
  101. data/vendor/plugins/resource_controller/test/app/views/cms/options/show.rhtml +8 -0
  102. data/vendor/plugins/resource_controller/test/app/views/cms/photos/edit.rhtml +17 -0
  103. data/vendor/plugins/resource_controller/test/app/views/cms/photos/index.rhtml +20 -0
  104. data/vendor/plugins/resource_controller/test/app/views/cms/photos/new.rhtml +16 -0
  105. data/vendor/plugins/resource_controller/test/app/views/cms/photos/show.rhtml +8 -0
  106. data/vendor/plugins/resource_controller/test/app/views/cms/products/edit.rhtml +17 -0
  107. data/vendor/plugins/resource_controller/test/app/views/cms/products/index.rhtml +20 -0
  108. data/vendor/plugins/resource_controller/test/app/views/cms/products/new.rhtml +16 -0
  109. data/vendor/plugins/resource_controller/test/app/views/cms/products/show.rhtml +8 -0
  110. data/vendor/plugins/resource_controller/test/app/views/comments/edit.rhtml +27 -0
  111. data/vendor/plugins/resource_controller/test/app/views/comments/index.rhtml +24 -0
  112. data/vendor/plugins/resource_controller/test/app/views/comments/new.rhtml +26 -0
  113. data/vendor/plugins/resource_controller/test/app/views/comments/show.rhtml +18 -0
  114. data/vendor/plugins/resource_controller/test/app/views/images/_form.html.erb +4 -0
  115. data/vendor/plugins/resource_controller/test/app/views/images/edit.html.erb +14 -0
  116. data/vendor/plugins/resource_controller/test/app/views/images/new.html.erb +12 -0
  117. data/vendor/plugins/resource_controller/test/app/views/layouts/application.rhtml +17 -0
  118. data/vendor/plugins/resource_controller/test/app/views/layouts/comments.rhtml +17 -0
  119. data/vendor/plugins/resource_controller/test/app/views/layouts/options.rhtml +17 -0
  120. data/vendor/plugins/resource_controller/test/app/views/layouts/people.rhtml +17 -0
  121. data/vendor/plugins/resource_controller/test/app/views/layouts/photos.rhtml +17 -0
  122. data/vendor/plugins/resource_controller/test/app/views/layouts/projects.rhtml +17 -0
  123. data/vendor/plugins/resource_controller/test/app/views/layouts/somethings.rhtml +17 -0
  124. data/vendor/plugins/resource_controller/test/app/views/layouts/tags.rhtml +17 -0
  125. data/vendor/plugins/resource_controller/test/app/views/options/_form.html.erb +8 -0
  126. data/vendor/plugins/resource_controller/test/app/views/options/edit.html.erb +16 -0
  127. data/vendor/plugins/resource_controller/test/app/views/options/index.html.erb +21 -0
  128. data/vendor/plugins/resource_controller/test/app/views/options/new.html.erb +12 -0
  129. data/vendor/plugins/resource_controller/test/app/views/options/show.html.erb +10 -0
  130. data/vendor/plugins/resource_controller/test/app/views/people/edit.rhtml +17 -0
  131. data/vendor/plugins/resource_controller/test/app/views/people/index.rhtml +20 -0
  132. data/vendor/plugins/resource_controller/test/app/views/people/new.rhtml +16 -0
  133. data/vendor/plugins/resource_controller/test/app/views/people/show.rhtml +8 -0
  134. data/vendor/plugins/resource_controller/test/app/views/photos/edit.rhtml +17 -0
  135. data/vendor/plugins/resource_controller/test/app/views/photos/index.rhtml +20 -0
  136. data/vendor/plugins/resource_controller/test/app/views/photos/new.rhtml +16 -0
  137. data/vendor/plugins/resource_controller/test/app/views/photos/show.rhtml +8 -0
  138. data/vendor/plugins/resource_controller/test/app/views/posts/edit.rhtml +22 -0
  139. data/vendor/plugins/resource_controller/test/app/views/posts/index.rhtml +22 -0
  140. data/vendor/plugins/resource_controller/test/app/views/posts/new.rhtml +21 -0
  141. data/vendor/plugins/resource_controller/test/app/views/posts/show.rhtml +13 -0
  142. data/vendor/plugins/resource_controller/test/app/views/projects/edit.rhtml +17 -0
  143. data/vendor/plugins/resource_controller/test/app/views/projects/index.rhtml +20 -0
  144. data/vendor/plugins/resource_controller/test/app/views/projects/new.rhtml +16 -0
  145. data/vendor/plugins/resource_controller/test/app/views/projects/show.rhtml +8 -0
  146. data/vendor/plugins/resource_controller/test/app/views/somethings/edit.rhtml +17 -0
  147. data/vendor/plugins/resource_controller/test/app/views/somethings/index.rhtml +20 -0
  148. data/vendor/plugins/resource_controller/test/app/views/somethings/new.rhtml +16 -0
  149. data/vendor/plugins/resource_controller/test/app/views/somethings/show.rhtml +8 -0
  150. data/vendor/plugins/resource_controller/test/app/views/tags/edit.rhtml +17 -0
  151. data/vendor/plugins/resource_controller/test/app/views/tags/index.rhtml +20 -0
  152. data/vendor/plugins/resource_controller/test/app/views/tags/index.rjs +0 -0
  153. data/vendor/plugins/resource_controller/test/app/views/tags/new.rhtml +16 -0
  154. data/vendor/plugins/resource_controller/test/app/views/tags/show.rhtml +8 -0
  155. data/vendor/plugins/resource_controller/test/app/views/users/edit.rhtml +17 -0
  156. data/vendor/plugins/resource_controller/test/app/views/users/index.rhtml +20 -0
  157. data/vendor/plugins/resource_controller/test/app/views/users/new.rhtml +16 -0
  158. data/vendor/plugins/resource_controller/test/app/views/users/show.rhtml +8 -0
  159. data/vendor/plugins/resource_controller/test/config/boot.rb +109 -0
  160. data/vendor/plugins/resource_controller/test/config/database.yml +9 -0
  161. data/vendor/plugins/resource_controller/test/config/environment.rb +47 -0
  162. data/vendor/plugins/resource_controller/test/config/environments/development.rb +21 -0
  163. data/vendor/plugins/resource_controller/test/config/environments/test.rb +19 -0
  164. data/vendor/plugins/resource_controller/test/config/initializers/inflections.rb +14 -0
  165. data/vendor/plugins/resource_controller/test/config/routes.rb +61 -0
  166. data/vendor/plugins/resource_controller/test/db/migrate/001_create_posts.rb +12 -0
  167. data/vendor/plugins/resource_controller/test/db/migrate/002_create_products.rb +11 -0
  168. data/vendor/plugins/resource_controller/test/db/migrate/003_create_comments.rb +13 -0
  169. data/vendor/plugins/resource_controller/test/db/migrate/004_create_options.rb +13 -0
  170. data/vendor/plugins/resource_controller/test/db/migrate/005_create_photos.rb +11 -0
  171. data/vendor/plugins/resource_controller/test/db/migrate/006_create_tags.rb +17 -0
  172. data/vendor/plugins/resource_controller/test/db/migrate/007_create_somethings.rb +11 -0
  173. data/vendor/plugins/resource_controller/test/db/migrate/008_create_accounts.rb +11 -0
  174. data/vendor/plugins/resource_controller/test/db/migrate/009_add_account_id_to_photos.rb +9 -0
  175. data/vendor/plugins/resource_controller/test/db/migrate/010_create_projects.rb +11 -0
  176. data/vendor/plugins/resource_controller/test/db/migrate/011_create_images.rb +12 -0
  177. data/vendor/plugins/resource_controller/test/db/migrate/012_create_users.rb +11 -0
  178. data/vendor/plugins/resource_controller/test/db/migrate/013_create_personnel.rb +11 -0
  179. data/vendor/plugins/resource_controller/test/db/migrate/014_add_personnel_id_to_photos.rb +9 -0
  180. data/vendor/plugins/resource_controller/test/db/schema.rb +78 -0
  181. data/vendor/plugins/resource_controller/test/script/console +3 -0
  182. data/vendor/plugins/resource_controller/test/script/destroy +3 -0
  183. data/vendor/plugins/resource_controller/test/script/generate +3 -0
  184. data/vendor/plugins/resource_controller/test/script/server +3 -0
  185. data/vendor/plugins/resource_controller/test/test/fixtures/accounts.yml +7 -0
  186. data/vendor/plugins/resource_controller/test/test/fixtures/comments.yml +11 -0
  187. data/vendor/plugins/resource_controller/test/test/fixtures/images.yml +6 -0
  188. data/vendor/plugins/resource_controller/test/test/fixtures/options.yml +9 -0
  189. data/vendor/plugins/resource_controller/test/test/fixtures/personnel.yml +5 -0
  190. data/vendor/plugins/resource_controller/test/test/fixtures/photos.yml +9 -0
  191. data/vendor/plugins/resource_controller/test/test/fixtures/photos_tags.yml +3 -0
  192. data/vendor/plugins/resource_controller/test/test/fixtures/posts.yml +9 -0
  193. data/vendor/plugins/resource_controller/test/test/fixtures/products.yml +7 -0
  194. data/vendor/plugins/resource_controller/test/test/fixtures/projects.yml +7 -0
  195. data/vendor/plugins/resource_controller/test/test/fixtures/somethings.yml +7 -0
  196. data/vendor/plugins/resource_controller/test/test/fixtures/tags.yml +7 -0
  197. data/vendor/plugins/resource_controller/test/test/fixtures/users.yml +5 -0
  198. data/vendor/plugins/resource_controller/test/test/functional/cms/options_controller_test.rb +23 -0
  199. data/vendor/plugins/resource_controller/test/test/functional/cms/photos_controller_test.rb +43 -0
  200. data/vendor/plugins/resource_controller/test/test/functional/cms/products_controller_test.rb +23 -0
  201. data/vendor/plugins/resource_controller/test/test/functional/comments_controller_test.rb +26 -0
  202. data/vendor/plugins/resource_controller/test/test/functional/images_controller_test.rb +37 -0
  203. data/vendor/plugins/resource_controller/test/test/functional/people_controller_test.rb +34 -0
  204. data/vendor/plugins/resource_controller/test/test/functional/photos_controller_test.rb +130 -0
  205. data/vendor/plugins/resource_controller/test/test/functional/posts_controller_test.rb +34 -0
  206. data/vendor/plugins/resource_controller/test/test/functional/projects_controller_test.rb +18 -0
  207. data/vendor/plugins/resource_controller/test/test/functional/somethings_controller_test.rb +28 -0
  208. data/vendor/plugins/resource_controller/test/test/functional/tags_controller_test.rb +64 -0
  209. data/vendor/plugins/resource_controller/test/test/functional/users_controller_test.rb +24 -0
  210. data/vendor/plugins/resource_controller/test/test/test_helper.rb +12 -0
  211. data/vendor/plugins/resource_controller/test/test/unit/accessors_test.rb +110 -0
  212. data/vendor/plugins/resource_controller/test/test/unit/account_test.rb +7 -0
  213. data/vendor/plugins/resource_controller/test/test/unit/action_options_test.rb +109 -0
  214. data/vendor/plugins/resource_controller/test/test/unit/base_test.rb +11 -0
  215. data/vendor/plugins/resource_controller/test/test/unit/comment_test.rb +10 -0
  216. data/vendor/plugins/resource_controller/test/test/unit/failable_action_options_test.rb +77 -0
  217. data/vendor/plugins/resource_controller/test/test/unit/helpers/current_objects_test.rb +133 -0
  218. data/vendor/plugins/resource_controller/test/test/unit/helpers/internal_test.rb +106 -0
  219. data/vendor/plugins/resource_controller/test/test/unit/helpers/nested_test.rb +86 -0
  220. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_current_objects_test.rb +68 -0
  221. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_nested_test.rb +77 -0
  222. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_urls_test.rb +67 -0
  223. data/vendor/plugins/resource_controller/test/test/unit/helpers/urls_test.rb +75 -0
  224. data/vendor/plugins/resource_controller/test/test/unit/helpers_test.rb +25 -0
  225. data/vendor/plugins/resource_controller/test/test/unit/image_test.rb +7 -0
  226. data/vendor/plugins/resource_controller/test/test/unit/option_test.rb +10 -0
  227. data/vendor/plugins/resource_controller/test/test/unit/photo_test.rb +10 -0
  228. data/vendor/plugins/resource_controller/test/test/unit/post_test.rb +10 -0
  229. data/vendor/plugins/resource_controller/test/test/unit/project_test.rb +10 -0
  230. data/vendor/plugins/resource_controller/test/test/unit/response_collector_test.rb +49 -0
  231. data/vendor/plugins/resource_controller/test/test/unit/something_test.rb +10 -0
  232. data/vendor/plugins/resource_controller/test/test/unit/tag_test.rb +10 -0
  233. data/vendor/plugins/resource_controller/test/test/unit/urligence_test.rb +203 -0
  234. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/Rakefile +32 -0
  235. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/bin/convert_to_should_syntax +40 -0
  236. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/init.rb +3 -0
  237. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda.rb +43 -0
  238. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb +580 -0
  239. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/color.rb +77 -0
  240. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/controller_tests.rb +467 -0
  241. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/html.rb +201 -0
  242. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/xml.rb +170 -0
  243. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/gem/proc_extensions.rb +14 -0
  244. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/gem/shoulda.rb +239 -0
  245. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/general.rb +118 -0
  246. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb +22 -0
  247. data/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb +2 -2
  248. data/vendor/plugins/unobtrusive_date_picker/Rakefile +1 -1
  249. metadata +270 -145
@@ -0,0 +1,34 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'posts_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class PostsController; def rescue_action(e) raise e end; end
6
+
7
+ class PostsControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = PostsController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ @post = Post.find 1
13
+ end
14
+
15
+ should_be_restful do |resource|
16
+ resource.formats = [:html]
17
+
18
+ resource.actions = :all
19
+ end
20
+
21
+ context "on post to :create" do
22
+ setup do
23
+ post :create, :post => {}
24
+ end
25
+
26
+ should "name the post 'a great post'" do
27
+ assert_equal 'a great post', assigns(:post).title
28
+ end
29
+
30
+ should "give the post a body of '...'" do
31
+ assert_equal '...', assigns(:post).body
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,18 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'projects_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class ProjectsController; def rescue_action(e) raise e end; end
6
+
7
+ class ProjectsControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = ProjectsController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ @project = projects :one
13
+ end
14
+
15
+ should_be_restful do |resource|
16
+ resource.formats = [:html]
17
+ end
18
+ end
@@ -0,0 +1,28 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'somethings_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class SomethingsController; def rescue_action(e) raise e end; end
6
+
7
+ class SomethingsControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = SomethingsController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ @something = somethings :one
13
+ end
14
+
15
+ context "actions specified" do
16
+ [:create, :edit, :update, :destroy, :new].each do |action|
17
+ should "not respond to #{action}" do
18
+ assert !@controller.respond_to?(action)
19
+ end
20
+ end
21
+ end
22
+
23
+ should_be_restful do |resource|
24
+ resource.formats = [:html]
25
+
26
+ resource.actions = [:index, :show]
27
+ end
28
+ end
@@ -0,0 +1,64 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'tags_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class TagsController; def rescue_action(e) raise e end; end
6
+
7
+ class TagsControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = TagsController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ @tag = Tag.find 1
13
+ end
14
+
15
+ context "with photo as parent" do
16
+ context "get to :index" do
17
+ setup do
18
+ get :index, :photo_id => 1
19
+ end
20
+
21
+ should_assign_to :products
22
+ should_render_template "index"
23
+ should_respond_with :success
24
+
25
+ should "respond with html" do
26
+ assert_equal 'text/html', @response.content_type
27
+ end
28
+ end
29
+
30
+ context "xhr to :index" do
31
+ setup do
32
+ xhr :get, :index, :photo_id => 1
33
+ end
34
+
35
+ should_assign_to :products
36
+ should_respond_with :success
37
+
38
+ should "respond with rjs" do
39
+ assert_equal 'text/javascript', @response.content_type
40
+ end
41
+ end
42
+
43
+ context "post to create" do
44
+ setup do
45
+ post :create, :photo_id => 1, :tag => {:name => "Hello!"}
46
+ end
47
+
48
+ should "add tag to photo" do
49
+ assert assigns(:photo).tags.include?(assigns(:tag)), "photo does not include new tag"
50
+ end
51
+ end
52
+ end
53
+
54
+ context "without photo as parent" do
55
+ should_be_restful do |resource|
56
+ resource.formats = [:html]
57
+ end
58
+
59
+ should "render text for a missing object" do
60
+ get :show, :id => 50000
61
+ assert @response.body.match(/not found/i), @response.body
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,24 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'users_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class UsersController; def rescue_action(e) raise e end; end
6
+
7
+ class UsersControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = UsersController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ @dude = accounts :one
13
+ end
14
+
15
+ should_be_restful do |resource|
16
+ resource.formats = [:html]
17
+ resource.klass = Account
18
+ resource.object = :dude
19
+
20
+ resource.create.redirect = 'dude_url(@dude)'
21
+ resource.update.redirect = 'dude_url(@dude)'
22
+ resource.destroy.redirect = 'dudes_url'
23
+ end
24
+ end
@@ -0,0 +1,12 @@
1
+ $:.reject! { |path| path.include? 'TextMate' }
2
+ ENV["RAILS_ENV"] = "test"
3
+ require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
4
+ require 'test_help'
5
+ require 'mocha'
6
+
7
+ class Test::Unit::TestCase
8
+ self.use_transactional_fixtures = true
9
+ self.use_instantiated_fixtures = false
10
+
11
+ load_all_fixtures
12
+ end
@@ -0,0 +1,110 @@
1
+ require File.dirname(__FILE__)+'/../test_helper'
2
+
3
+ class AccessorsTest < Test::Unit::TestCase
4
+ def setup
5
+ PostsController.class_eval do
6
+ extend ResourceController::Accessors
7
+ end
8
+ end
9
+
10
+ context "scoping reader" do
11
+ setup do
12
+ PostsController.class_eval do
13
+ class_scoping_reader :create, ResourceController::ActionOptions.new
14
+ end
15
+ end
16
+
17
+ should "access create as usual" do
18
+ PostsController.class_eval do
19
+ create.flash "asdf"
20
+ end
21
+
22
+ assert_equal "asdf", PostsController.create.flash
23
+ end
24
+
25
+ should "scope to create object in a block" do
26
+ PostsController.class_eval do
27
+ create do
28
+ flash "asdf"
29
+ end
30
+ end
31
+
32
+ assert_equal "asdf", PostsController.create.flash
33
+ end
34
+ end
35
+
36
+ context "reader/writer method" do
37
+ setup do
38
+ PostsController.class_eval do
39
+ reader_writer :flash
40
+ end
41
+
42
+ @controller = PostsController.new
43
+ end
44
+
45
+ should "set and get var" do
46
+ @controller.flash "something"
47
+ assert_equal "something", @controller.flash
48
+ end
49
+ end
50
+
51
+ context "class reader/writer method" do
52
+ setup do
53
+ PostsController.class_eval do
54
+ class_reader_writer :flash
55
+ end
56
+
57
+ @controller = PostsController.new
58
+ end
59
+
60
+ should "initialize var" do
61
+ assert_nil PostsController.flash
62
+ assert_nil @controller.flash
63
+ end
64
+
65
+ should "set and get var" do
66
+ PostsController.flash "something"
67
+ assert_equal "something", PostsController.flash
68
+ end
69
+ end
70
+
71
+ context "block accessor" do
72
+ setup do
73
+ PostsController.class_eval do
74
+ block_accessor :something
75
+ end
76
+ @controller = PostsController.new
77
+ end
78
+
79
+ should "store blocks" do
80
+ @controller.something {}
81
+ assert @controller.something.first
82
+ end
83
+
84
+ should "store symbols as well" do
85
+ @controller.something(:method, :method_two) {}
86
+ assert_equal :method, @controller.something[0]
87
+ assert_equal :method_two, @controller.something[1]
88
+ assert @controller.something[2].is_a?(Proc)
89
+ end
90
+ end
91
+
92
+ context "reader writer" do
93
+ setup do
94
+ PostsController.class_eval do
95
+ reader_writer :rw
96
+ end
97
+
98
+ @controller = PostsController.new
99
+ end
100
+
101
+ should "store blocks" do
102
+ @controller.rw do
103
+ "asdf"
104
+ end
105
+
106
+ assert @controller.rw.is_a?(Proc), @controller.rw
107
+ end
108
+ end
109
+
110
+ end
@@ -0,0 +1,7 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class PersonTest < Test::Unit::TestCase
4
+ def test_truth
5
+ assert true
6
+ end
7
+ end
@@ -0,0 +1,109 @@
1
+ require File.dirname(__FILE__)+'/../test_helper'
2
+
3
+ class ActionOptionsTest < Test::Unit::TestCase
4
+ def setup
5
+ @controller = PostsController.new
6
+ @create = ResourceController::ActionOptions.new
7
+ end
8
+
9
+ should "have attr accessor for flash" do
10
+ @create.flash "Successfully created."
11
+ assert_equal "Successfully created.", @create.flash
12
+ end
13
+
14
+ should "have attr accessor for flash_now" do
15
+ @create.flash_now "Successfully created."
16
+ assert_equal "Successfully created.", @create.flash_now
17
+ end
18
+
19
+ %w(before after).each do |accessor|
20
+ should "have a block accessor for #{accessor}" do
21
+ @create.send(accessor) do
22
+ "return_something"
23
+ end
24
+
25
+ assert_equal "return_something", @create.send(accessor).first.call(nil)
26
+ end
27
+ end
28
+
29
+ context "response yielding to response collector" do
30
+ setup do
31
+ @create.response do |wants|
32
+ wants.html
33
+ end
34
+ end
35
+
36
+ should "accept symbols" do
37
+ @create.response :html, :js, :xml
38
+ assert @create.wants[:html]
39
+ assert @create.wants[:js]
40
+ assert @create.wants[:xml]
41
+ end
42
+
43
+ should "accept symbols and blocks" do
44
+ @create.responds_to :html do |wants| # note the aliasing of response here
45
+ wants.js
46
+ end
47
+
48
+ assert @create.wants[:html]
49
+ assert @create.wants[:js]
50
+ end
51
+
52
+ should "collect responses" do
53
+ assert @create.wants[:html]
54
+ end
55
+
56
+ should "clear the collector on a subsequent call" do
57
+ @create.respond_to do |wants| # note the other aliasing of response
58
+ wants.js
59
+ end
60
+
61
+ assert_nil @create.wants[:html]
62
+ assert @create.wants[:js]
63
+ end
64
+
65
+ should "add response without clearing" do
66
+ @create.wants.js
67
+ assert @create.wants[:js]
68
+ assert @create.wants[:html]
69
+ end
70
+ end
71
+
72
+ context "duplicating action options" do
73
+ setup do
74
+ @opts = ResourceController::ActionOptions.new
75
+ @opts.wants.js
76
+ @opts.after {}
77
+ @opts.before {}
78
+ @opts.flash ''
79
+ @opts.flash_now ''
80
+ @dup = @opts.dup
81
+ end
82
+
83
+ should "duplicate the response collector" do
84
+ assert !@opts.wants.equal?(@dup.wants)
85
+ assert @dup.wants[:js]
86
+ end
87
+
88
+ should "duplicate the after block" do
89
+ assert !@opts.after.equal?(@dup.after)
90
+ assert @dup.after
91
+ end
92
+
93
+ should "duplicate the before block" do
94
+ assert !@opts.before.equal?(@dup.before)
95
+ assert @dup.before
96
+ end
97
+
98
+ should "duplicate the flash" do
99
+ assert !@opts.flash.equal?(@dup.flash)
100
+ assert @dup.flash
101
+ end
102
+
103
+ should "duplicate the flash_now" do
104
+ assert !@opts.flash_now.equal?(@dup.flash_now)
105
+ assert @dup.flash_now
106
+ end
107
+ end
108
+
109
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__)+'/../test_helper'
2
+
3
+ class BaseTest < Test::Unit::TestCase
4
+ def setup
5
+ @controller = ResourceController::Base.new
6
+ end
7
+
8
+ def test_case_name
9
+
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class CommentTest < Test::Unit::TestCase
4
+ fixtures :comments
5
+
6
+ # Replace this with your real tests.
7
+ def test_truth
8
+ assert true
9
+ end
10
+ end
@@ -0,0 +1,77 @@
1
+ require File.dirname(__FILE__)+'/../test_helper'
2
+
3
+ class FailableActionOptionsTest < Test::Unit::TestCase
4
+ def setup
5
+ @controller = PostsController.new
6
+ @create = ResourceController::FailableActionOptions.new
7
+ end
8
+
9
+ should "have success and fails" do
10
+ assert ResourceController::ActionOptions, @create.success.class
11
+ assert ResourceController::ActionOptions, @create.fails.class
12
+ end
13
+
14
+ %w(before).each do |accessor|
15
+ should "have a block accessor for #{accessor}" do
16
+ @create.send(accessor) do
17
+ "return_something"
18
+ end
19
+
20
+ assert_equal "return_something", @create.send(accessor).first.call(nil)
21
+ end
22
+ end
23
+
24
+ should "delegate flash to success" do
25
+ @create.flash "Successfully created."
26
+ assert_equal "Successfully created.", @create.success.flash
27
+ end
28
+
29
+ should "delegate after to success" do
30
+ @create.after do
31
+ "something"
32
+ end
33
+
34
+ assert_equal "something", @create.success.after.first.call
35
+ end
36
+
37
+ should "delegate response to success" do
38
+ @create.response do |wants|
39
+ wants.html
40
+ end
41
+
42
+ assert @create.wants[:html]
43
+ end
44
+
45
+ should "delegate wants to success" do
46
+ @create.wants.html
47
+
48
+ assert @create.wants[:html]
49
+ end
50
+
51
+ context "duplication" do
52
+ setup do
53
+ @opts = ResourceController::FailableActionOptions.new
54
+ @opts.wants.js
55
+ @opts.failure.wants.js
56
+ @opts.before {}
57
+
58
+ @dup = @opts.dup
59
+ end
60
+
61
+ should "duplicate success" do
62
+ assert !@dup.success.equal?(@opts.success)
63
+ assert @dup.success.wants[:js]
64
+ end
65
+
66
+ should "duplicate failure" do
67
+ assert !@dup.failure.equal?(@opts.failure)
68
+ assert @dup.failure.wants[:js]
69
+ end
70
+
71
+ should "duplicate before" do
72
+ assert !@dup.before.equal?(@opts.before)
73
+ assert @dup.before
74
+ end
75
+ end
76
+
77
+ end