admin_assistant 1.0.1 → 1.0.2

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 (288) hide show
  1. data/Rakefile +1 -0
  2. data/VERSION +1 -1
  3. data/admin_assistant.gemspec +1 -285
  4. metadata +3 -287
  5. data/test_rails_app/README +0 -256
  6. data/test_rails_app/Rakefile +0 -13
  7. data/test_rails_app/app/controllers/admin/appointments2_controller.rb +0 -15
  8. data/test_rails_app/app/controllers/admin/appointments_controller.rb +0 -11
  9. data/test_rails_app/app/controllers/admin/blog_posts2_controller.rb +0 -138
  10. data/test_rails_app/app/controllers/admin/blog_posts3_controller.rb +0 -76
  11. data/test_rails_app/app/controllers/admin/blog_posts4_controller.rb +0 -21
  12. data/test_rails_app/app/controllers/admin/blog_posts5_controller.rb +0 -27
  13. data/test_rails_app/app/controllers/admin/blog_posts6_controller.rb +0 -10
  14. data/test_rails_app/app/controllers/admin/blog_posts_controller.rb +0 -8
  15. data/test_rails_app/app/controllers/admin/blog_posts_custom_new_and_edit_controller.rb +0 -15
  16. data/test_rails_app/app/controllers/admin/blog_posts_read_only_controller.rb +0 -19
  17. data/test_rails_app/app/controllers/admin/bookmarks_controller.rb +0 -11
  18. data/test_rails_app/app/controllers/admin/comments2_controller.rb +0 -14
  19. data/test_rails_app/app/controllers/admin/comments_controller.rb +0 -12
  20. data/test_rails_app/app/controllers/admin/file_column_images2_controller.rb +0 -10
  21. data/test_rails_app/app/controllers/admin/file_column_images_controller.rb +0 -6
  22. data/test_rails_app/app/controllers/admin/images2_controller.rb +0 -11
  23. data/test_rails_app/app/controllers/admin/images_controller.rb +0 -6
  24. data/test_rails_app/app/controllers/admin/misconfigured1_controller.rb +0 -7
  25. data/test_rails_app/app/controllers/admin/not_migrated_yets_controller.rb +0 -9
  26. data/test_rails_app/app/controllers/admin/product_categories2_controller.rb +0 -7
  27. data/test_rails_app/app/controllers/admin/product_categories_controller.rb +0 -5
  28. data/test_rails_app/app/controllers/admin/products2_controller.rb +0 -15
  29. data/test_rails_app/app/controllers/admin/products_controller.rb +0 -31
  30. data/test_rails_app/app/controllers/admin/television_airings_controller.rb +0 -5
  31. data/test_rails_app/app/controllers/admin/television_time_slots_controller.rb +0 -5
  32. data/test_rails_app/app/controllers/admin/users2_controller.rb +0 -10
  33. data/test_rails_app/app/controllers/admin/users_controller.rb +0 -63
  34. data/test_rails_app/app/controllers/application.rb +0 -16
  35. data/test_rails_app/app/controllers/application_controller.rb +0 -16
  36. data/test_rails_app/app/controllers/blog_posts_controller.rb +0 -5
  37. data/test_rails_app/app/helpers/admin/appointments2_helper.rb +0 -2
  38. data/test_rails_app/app/helpers/admin/appointments_helper.rb +0 -2
  39. data/test_rails_app/app/helpers/admin/blog_posts2_helper.rb +0 -27
  40. data/test_rails_app/app/helpers/admin/blog_posts3_helper.rb +0 -2
  41. data/test_rails_app/app/helpers/admin/blog_posts4_helper.rb +0 -2
  42. data/test_rails_app/app/helpers/admin/blog_posts6_helper.rb +0 -16
  43. data/test_rails_app/app/helpers/admin/blog_posts_custom_new_and_edit_helper.rb +0 -29
  44. data/test_rails_app/app/helpers/admin/blog_posts_helper.rb +0 -2
  45. data/test_rails_app/app/helpers/admin/blog_posts_read_only_helper.rb +0 -2
  46. data/test_rails_app/app/helpers/admin/bookmarks_helper.rb +0 -2
  47. data/test_rails_app/app/helpers/admin/comments2_helper.rb +0 -2
  48. data/test_rails_app/app/helpers/admin/comments_helper.rb +0 -2
  49. data/test_rails_app/app/helpers/admin/file_column_images2_helper.rb +0 -2
  50. data/test_rails_app/app/helpers/admin/file_column_images_helper.rb +0 -2
  51. data/test_rails_app/app/helpers/admin/images2_helper.rb +0 -8
  52. data/test_rails_app/app/helpers/admin/images_helper.rb +0 -2
  53. data/test_rails_app/app/helpers/admin/misconfigured1_helper.rb +0 -2
  54. data/test_rails_app/app/helpers/admin/not_migrated_yets_helper.rb +0 -2
  55. data/test_rails_app/app/helpers/admin/product_categories2_helper.rb +0 -2
  56. data/test_rails_app/app/helpers/admin/product_categories_helper.rb +0 -2
  57. data/test_rails_app/app/helpers/admin/products2_helper.rb +0 -3
  58. data/test_rails_app/app/helpers/admin/products_helper.rb +0 -6
  59. data/test_rails_app/app/helpers/admin/television_airings_helper.rb +0 -2
  60. data/test_rails_app/app/helpers/admin/television_time_slots_helper.rb +0 -2
  61. data/test_rails_app/app/helpers/admin/users2_helper.rb +0 -2
  62. data/test_rails_app/app/helpers/admin/users_helper.rb +0 -25
  63. data/test_rails_app/app/helpers/application_helper.rb +0 -3
  64. data/test_rails_app/app/helpers/blog_posts_helper.rb +0 -2
  65. data/test_rails_app/app/models/appointment.rb +0 -5
  66. data/test_rails_app/app/models/blog_post.rb +0 -14
  67. data/test_rails_app/app/models/blog_post_tag.rb +0 -6
  68. data/test_rails_app/app/models/bookmark.rb +0 -6
  69. data/test_rails_app/app/models/comment.rb +0 -4
  70. data/test_rails_app/app/models/file_column_image.rb +0 -3
  71. data/test_rails_app/app/models/image.rb +0 -3
  72. data/test_rails_app/app/models/not_migrated_yet.rb +0 -2
  73. data/test_rails_app/app/models/product.rb +0 -7
  74. data/test_rails_app/app/models/product_category.rb +0 -9
  75. data/test_rails_app/app/models/tag.rb +0 -4
  76. data/test_rails_app/app/models/television_airing.rb +0 -3
  77. data/test_rails_app/app/models/television_time_slot.rb +0 -11
  78. data/test_rails_app/app/models/user.rb +0 -14
  79. data/test_rails_app/app/views/admin/appointments/_subject_input.html.erb +0 -2
  80. data/test_rails_app/app/views/admin/appointments2/_time_input.html.erb +0 -31
  81. data/test_rails_app/app/views/admin/blog_posts2/_after_form.html.erb +0 -5
  82. data/test_rails_app/app/views/admin/blog_posts2/_after_index.html.erb +0 -1
  83. data/test_rails_app/app/views/admin/blog_posts2/_after_tags_input.html.erb +0 -16
  84. data/test_rails_app/app/views/admin/blog_posts2/_before_index.html.erb +0 -2
  85. data/test_rails_app/app/views/admin/blog_posts5/_after_index_header.html.erb +0 -8
  86. data/test_rails_app/app/views/admin/blog_posts_read_only/_body_for_show.html.erb +0 -1
  87. data/test_rails_app/app/views/admin/products/_name_input.html.erb +0 -2
  88. data/test_rails_app/app/views/admin/products/_percent_off_input.html.erb +0 -2
  89. data/test_rails_app/app/views/admin/products/_price_input.html.erb +0 -10
  90. data/test_rails_app/app/views/blog_posts/show.html.erb +0 -13
  91. data/test_rails_app/app/views/layouts/admin.html.erb +0 -31
  92. data/test_rails_app/config/boot.rb +0 -109
  93. data/test_rails_app/config/database.yml +0 -28
  94. data/test_rails_app/config/environment.rb +0 -78
  95. data/test_rails_app/config/environments/development.rb +0 -17
  96. data/test_rails_app/config/environments/production.rb +0 -24
  97. data/test_rails_app/config/environments/test.rb +0 -24
  98. data/test_rails_app/config/initializers/inflections.rb +0 -10
  99. data/test_rails_app/config/initializers/mime_types.rb +0 -5
  100. data/test_rails_app/config/initializers/new_rails_defaults.rb +0 -17
  101. data/test_rails_app/config/locales/en.yml +0 -5
  102. data/test_rails_app/config/routes.rb +0 -43
  103. data/test_rails_app/db/migrate/20090213215514_create_blog_posts.rb +0 -12
  104. data/test_rails_app/db/migrate/20090217225542_add_body_to_blog_posts.rb +0 -9
  105. data/test_rails_app/db/migrate/20090221220917_create_tags.rb +0 -13
  106. data/test_rails_app/db/migrate/20090221220947_create_blog_post_tags.rb +0 -14
  107. data/test_rails_app/db/migrate/20090222162204_add_textile_to_blog_posts.rb +0 -9
  108. data/test_rails_app/db/migrate/20090222163231_add_published_at_to_blog_posts.rb +0 -9
  109. data/test_rails_app/db/migrate/20090301191722_create_images.rb +0 -16
  110. data/test_rails_app/db/migrate/20090305165345_create_accounts.rb +0 -14
  111. data/test_rails_app/db/migrate/20090307225027_rename_accounts_to_users.rb +0 -9
  112. data/test_rails_app/db/migrate/20090307225750_add_user_id_to_blog_posts.rb +0 -9
  113. data/test_rails_app/db/migrate/20090309185114_change_blog_posts_textile.rb +0 -9
  114. data/test_rails_app/db/migrate/20090309193635_create_products.rb +0 -14
  115. data/test_rails_app/db/migrate/20090309203056_create_comments.rb +0 -15
  116. data/test_rails_app/db/migrate/20090323005947_create_file_column_images.rb +0 -12
  117. data/test_rails_app/db/migrate/20090326160049_add_birthday_to_users.rb +0 -9
  118. data/test_rails_app/db/migrate/20090326223606_add_state_to_users.rb +0 -9
  119. data/test_rails_app/db/migrate/20090503134004_add_file_column_image_to_products.rb +0 -9
  120. data/test_rails_app/db/migrate/20090617173651_create_bookmarks.rb +0 -15
  121. data/test_rails_app/db/migrate/20090624165355_add_tags_string_to_blog_post.rb +0 -9
  122. data/test_rails_app/db/migrate/20090625144313_add_avatar_fields_to_user.rb +0 -11
  123. data/test_rails_app/db/migrate/20090629202956_add_merged_into_to_blog_posts.rb +0 -9
  124. data/test_rails_app/db/migrate/20090701171857_add_force_textile_to_users.rb +0 -9
  125. data/test_rails_app/db/migrate/20090704163647_add_deleted_at_to_products.rb +0 -9
  126. data/test_rails_app/db/migrate/20090704173800_add_sale_fields_to_products.rb +0 -13
  127. data/test_rails_app/db/migrate/20090714024501_create_product_categories.rb +0 -15
  128. data/test_rails_app/db/migrate/20090819162835_add_admin_level_to_users.rb +0 -9
  129. data/test_rails_app/db/migrate/20091115134559_add_first_and_last_names_to_users.rb +0 -11
  130. data/test_rails_app/db/migrate/20091221011256_add_position_to_product_categories.rb +0 -9
  131. data/test_rails_app/db/migrate/20091222160814_create_appointments.rb +0 -14
  132. data/test_rails_app/db/migrate/20091227224547_add_user_id_to_appointments.rb +0 -9
  133. data/test_rails_app/db/migrate/20100214213359_create_television_time_slots.rb +0 -13
  134. data/test_rails_app/db/migrate/20100214213451_create_television_airings.rb +0 -15
  135. data/test_rails_app/doc/README_FOR_APP +0 -5
  136. data/test_rails_app/lib/tasks/rspec.rake +0 -163
  137. data/test_rails_app/public/404.html +0 -30
  138. data/test_rails_app/public/422.html +0 -30
  139. data/test_rails_app/public/500.html +0 -33
  140. data/test_rails_app/public/dispatch.cgi +0 -10
  141. data/test_rails_app/public/dispatch.fcgi +0 -24
  142. data/test_rails_app/public/dispatch.rb +0 -10
  143. data/test_rails_app/public/favicon.ico +0 -0
  144. data/test_rails_app/public/images/rails.png +0 -0
  145. data/test_rails_app/public/index.html +0 -274
  146. data/test_rails_app/public/javascripts/application.js +0 -2
  147. data/test_rails_app/public/javascripts/controls.js +0 -963
  148. data/test_rails_app/public/javascripts/dragdrop.js +0 -973
  149. data/test_rails_app/public/javascripts/effects.js +0 -1128
  150. data/test_rails_app/public/javascripts/prototype.js +0 -4320
  151. data/test_rails_app/public/robots.txt +0 -5
  152. data/test_rails_app/public/stylesheets/admin.css +0 -3
  153. data/test_rails_app/public/stylesheets/scaffold.css +0 -54
  154. data/test_rails_app/script/about +0 -4
  155. data/test_rails_app/script/autospec +0 -5
  156. data/test_rails_app/script/console +0 -3
  157. data/test_rails_app/script/dbconsole +0 -3
  158. data/test_rails_app/script/destroy +0 -3
  159. data/test_rails_app/script/generate +0 -3
  160. data/test_rails_app/script/performance/benchmarker +0 -3
  161. data/test_rails_app/script/performance/profiler +0 -3
  162. data/test_rails_app/script/performance/request +0 -3
  163. data/test_rails_app/script/plugin +0 -3
  164. data/test_rails_app/script/populate_tables.rb +0 -49
  165. data/test_rails_app/script/process/inspector +0 -3
  166. data/test_rails_app/script/process/reaper +0 -3
  167. data/test_rails_app/script/process/spawner +0 -3
  168. data/test_rails_app/script/runner +0 -3
  169. data/test_rails_app/script/server +0 -3
  170. data/test_rails_app/script/spec +0 -5
  171. data/test_rails_app/script/spec_server +0 -125
  172. data/test_rails_app/spec/controllers/admin/appointments2_controller_spec.rb +0 -88
  173. data/test_rails_app/spec/controllers/admin/appointments_controller_spec.rb +0 -419
  174. data/test_rails_app/spec/controllers/admin/blog_posts2_controller_spec.rb +0 -1021
  175. data/test_rails_app/spec/controllers/admin/blog_posts3_controller_spec.rb +0 -532
  176. data/test_rails_app/spec/controllers/admin/blog_posts4_controller_spec.rb +0 -231
  177. data/test_rails_app/spec/controllers/admin/blog_posts5_controller_spec.rb +0 -77
  178. data/test_rails_app/spec/controllers/admin/blog_posts6_controller_spec.rb +0 -49
  179. data/test_rails_app/spec/controllers/admin/blog_posts_controller_spec.rb +0 -987
  180. data/test_rails_app/spec/controllers/admin/blog_posts_custom_new_and_edit_controller_spec.rb +0 -99
  181. data/test_rails_app/spec/controllers/admin/blog_posts_read_only_controller_spec.rb +0 -94
  182. data/test_rails_app/spec/controllers/admin/bookmarks_controller_spec.rb +0 -505
  183. data/test_rails_app/spec/controllers/admin/comments2_controller_spec.rb +0 -70
  184. data/test_rails_app/spec/controllers/admin/comments_controller_spec.rb +0 -82
  185. data/test_rails_app/spec/controllers/admin/file_column_images2_controller_spec.rb +0 -25
  186. data/test_rails_app/spec/controllers/admin/file_column_images_controller_spec.rb +0 -82
  187. data/test_rails_app/spec/controllers/admin/images2_controller_spec.rb +0 -44
  188. data/test_rails_app/spec/controllers/admin/images_controller_spec.rb +0 -97
  189. data/test_rails_app/spec/controllers/admin/misconfigured1_controller_spec.rb +0 -21
  190. data/test_rails_app/spec/controllers/admin/not_migrated_yets_controller_spec.rb +0 -10
  191. data/test_rails_app/spec/controllers/admin/product_categories2_controller_spec.rb +0 -215
  192. data/test_rails_app/spec/controllers/admin/product_categories_controller_spec.rb +0 -19
  193. data/test_rails_app/spec/controllers/admin/products2_controller_spec.rb +0 -203
  194. data/test_rails_app/spec/controllers/admin/products_controller_spec.rb +0 -255
  195. data/test_rails_app/spec/controllers/admin/television_airings_controller_spec.rb +0 -32
  196. data/test_rails_app/spec/controllers/admin/television_time_slots_controller_spec.rb +0 -10
  197. data/test_rails_app/spec/controllers/admin/users2_controller_spec.rb +0 -65
  198. data/test_rails_app/spec/controllers/admin/users_controller_spec.rb +0 -344
  199. data/test_rails_app/spec/controllers/blog_posts_controller_spec.rb +0 -13
  200. data/test_rails_app/spec/data/ruby_throated.jpg +0 -0
  201. data/test_rails_app/spec/data/tweenbot.jpg +0 -0
  202. data/test_rails_app/spec/fixtures/appointments.yml +0 -9
  203. data/test_rails_app/spec/fixtures/blog_post_tags.yml +0 -9
  204. data/test_rails_app/spec/fixtures/blog_posts.yml +0 -7
  205. data/test_rails_app/spec/fixtures/bookmarks.yml +0 -11
  206. data/test_rails_app/spec/fixtures/comments.yml +0 -11
  207. data/test_rails_app/spec/fixtures/file_column_images.yml +0 -7
  208. data/test_rails_app/spec/fixtures/images.yml +0 -7
  209. data/test_rails_app/spec/fixtures/not_migrated_yets.yml +0 -7
  210. data/test_rails_app/spec/fixtures/product_categories.yml +0 -7
  211. data/test_rails_app/spec/fixtures/products.yml +0 -9
  212. data/test_rails_app/spec/fixtures/tags.yml +0 -7
  213. data/test_rails_app/spec/fixtures/television_airings.yml +0 -11
  214. data/test_rails_app/spec/fixtures/television_time_slots.yml +0 -7
  215. data/test_rails_app/spec/fixtures/users.yml +0 -9
  216. data/test_rails_app/spec/helpers/admin/appointments2_helper_spec.rb +0 -11
  217. data/test_rails_app/spec/helpers/admin/appointments_helper_spec.rb +0 -11
  218. data/test_rails_app/spec/helpers/admin/blog_posts2_helper_spec.rb +0 -11
  219. data/test_rails_app/spec/helpers/admin/blog_posts3_helper_spec.rb +0 -11
  220. data/test_rails_app/spec/helpers/admin/blog_posts4_helper_spec.rb +0 -11
  221. data/test_rails_app/spec/helpers/admin/blog_posts_custom_new_and_edit_helper_spec.rb +0 -11
  222. data/test_rails_app/spec/helpers/admin/blog_posts_helper_spec.rb +0 -11
  223. data/test_rails_app/spec/helpers/admin/blog_posts_read_only_helper_spec.rb +0 -11
  224. data/test_rails_app/spec/helpers/admin/bookmarks_helper_spec.rb +0 -11
  225. data/test_rails_app/spec/helpers/admin/comments2_helper_spec.rb +0 -11
  226. data/test_rails_app/spec/helpers/admin/comments_helper_spec.rb +0 -11
  227. data/test_rails_app/spec/helpers/admin/file_column_images2_helper_spec.rb +0 -11
  228. data/test_rails_app/spec/helpers/admin/file_column_images_helper_spec.rb +0 -11
  229. data/test_rails_app/spec/helpers/admin/images2_helper_spec.rb +0 -11
  230. data/test_rails_app/spec/helpers/admin/images_helper_spec.rb +0 -11
  231. data/test_rails_app/spec/helpers/admin/misconfigured1_helper_spec.rb +0 -11
  232. data/test_rails_app/spec/helpers/admin/not_migrated_yets_helper_spec.rb +0 -11
  233. data/test_rails_app/spec/helpers/admin/product_categories2_helper_spec.rb +0 -11
  234. data/test_rails_app/spec/helpers/admin/product_categories_helper_spec.rb +0 -11
  235. data/test_rails_app/spec/helpers/admin/products2_helper_spec.rb +0 -11
  236. data/test_rails_app/spec/helpers/admin/products_helper_spec.rb +0 -11
  237. data/test_rails_app/spec/helpers/admin/television_airings_helper_spec.rb +0 -11
  238. data/test_rails_app/spec/helpers/admin/television_time_slots_helper_spec.rb +0 -11
  239. data/test_rails_app/spec/helpers/admin/users2_helper_spec.rb +0 -11
  240. data/test_rails_app/spec/helpers/admin/users_helper_spec.rb +0 -11
  241. data/test_rails_app/spec/helpers/blog_posts_helper_spec.rb +0 -11
  242. data/test_rails_app/spec/models/appointment_spec.rb +0 -16
  243. data/test_rails_app/spec/models/blog_post_spec.rb +0 -13
  244. data/test_rails_app/spec/models/blog_post_tag_spec.rb +0 -14
  245. data/test_rails_app/spec/models/bookmark_spec.rb +0 -15
  246. data/test_rails_app/spec/models/comment_spec.rb +0 -15
  247. data/test_rails_app/spec/models/file_column_image_spec.rb +0 -12
  248. data/test_rails_app/spec/models/image_spec.rb +0 -12
  249. data/test_rails_app/spec/models/not_migrated_yet_spec.rb +0 -15
  250. data/test_rails_app/spec/models/product_category_spec.rb +0 -15
  251. data/test_rails_app/spec/models/product_spec.rb +0 -14
  252. data/test_rails_app/spec/models/tag_spec.rb +0 -13
  253. data/test_rails_app/spec/models/television_airing_spec.rb +0 -15
  254. data/test_rails_app/spec/models/television_time_slot_spec.rb +0 -13
  255. data/test_rails_app/spec/models/user_spec.rb +0 -14
  256. data/test_rails_app/spec/rcov.opts +0 -2
  257. data/test_rails_app/spec/spec.opts +0 -4
  258. data/test_rails_app/spec/spec_helper.rb +0 -88
  259. data/test_rails_app/spec/spec_or_test_helper.rb +0 -49
  260. data/test_rails_app/test/fixtures/file_column_images.yml +0 -7
  261. data/test_rails_app/test/integration/admin_blog_posts2_integration_test.rb +0 -16
  262. data/test_rails_app/test/integration/admin_blog_posts5_integration_test.rb +0 -19
  263. data/test_rails_app/test/integration/admin_blog_posts_integration_test.rb +0 -25
  264. data/test_rails_app/test/test_helper.rb +0 -28
  265. data/test_rails_app/vendor/plugins/file_column/CHANGELOG +0 -69
  266. data/test_rails_app/vendor/plugins/file_column/README +0 -54
  267. data/test_rails_app/vendor/plugins/file_column/Rakefile +0 -36
  268. data/test_rails_app/vendor/plugins/file_column/TODO +0 -6
  269. data/test_rails_app/vendor/plugins/file_column/init.rb +0 -13
  270. data/test_rails_app/vendor/plugins/file_column/lib/file_column.rb +0 -723
  271. data/test_rails_app/vendor/plugins/file_column/lib/file_column_helper.rb +0 -150
  272. data/test_rails_app/vendor/plugins/file_column/lib/file_compat.rb +0 -28
  273. data/test_rails_app/vendor/plugins/file_column/lib/magick_file_column.rb +0 -260
  274. data/test_rails_app/vendor/plugins/file_column/lib/rails_file_column.rb +0 -19
  275. data/test_rails_app/vendor/plugins/file_column/lib/test_case.rb +0 -124
  276. data/test_rails_app/vendor/plugins/file_column/lib/validations.rb +0 -112
  277. data/test_rails_app/vendor/plugins/file_column/test/abstract_unit.rb +0 -63
  278. data/test_rails_app/vendor/plugins/file_column/test/connection.rb +0 -17
  279. data/test_rails_app/vendor/plugins/file_column/test/file_column_helper_test.rb +0 -97
  280. data/test_rails_app/vendor/plugins/file_column/test/file_column_test.rb +0 -650
  281. data/test_rails_app/vendor/plugins/file_column/test/fixtures/entry.rb +0 -32
  282. data/test_rails_app/vendor/plugins/file_column/test/fixtures/invalid-image.jpg +0 -1
  283. data/test_rails_app/vendor/plugins/file_column/test/fixtures/kerb.jpg +0 -0
  284. data/test_rails_app/vendor/plugins/file_column/test/fixtures/mysql.sql +0 -25
  285. data/test_rails_app/vendor/plugins/file_column/test/fixtures/schema.rb +0 -10
  286. data/test_rails_app/vendor/plugins/file_column/test/fixtures/skanthak.png +0 -0
  287. data/test_rails_app/vendor/plugins/file_column/test/magick_test.rb +0 -380
  288. data/test_rails_app/vendor/plugins/file_column/test/magick_view_only_test.rb +0 -21
@@ -1,532 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- describe Admin::BlogPosts3Controller do
4
- integrate_views
5
-
6
- before :all do
7
- User.destroy_all
8
- @user = User.create! :username => 'soren', :password => 'password'
9
- end
10
-
11
- describe '#create with no title' do
12
- before :each do
13
- @orig_blog_post_count = BlogPost.count
14
- post :create, :blog_post => {:user_id => @user.id}
15
- end
16
-
17
- it 'should redirect to the index' do
18
- response.should redirect_to(:action => 'index')
19
- end
20
-
21
- it 'should create a new blog post with the title pre-filled as (draft)' do
22
- BlogPost.count.should == @orig_blog_post_count + 1
23
- blog_post = BlogPost.last
24
- blog_post.title.should == '(draft)'
25
- end
26
- end
27
-
28
- describe '#edit' do
29
- before :all do
30
- @blog_post = BlogPost.create! :title => random_word, :user => @user
31
- end
32
-
33
- before :each do
34
- get :edit, :id => @blog_post.id
35
- end
36
-
37
- it 'should have a body field' do
38
- response.should have_tag('textarea[name=?]', 'blog_post[body]')
39
- end
40
-
41
- it 'should not include textile' do
42
- response.body.should_not match(/textile/)
43
- end
44
- end
45
-
46
- describe '#index' do
47
- describe 'with no blog posts' do
48
- before :all do
49
- BlogPost.destroy_all
50
- end
51
-
52
- before :each do
53
- get :index
54
- response.should be_success
55
- end
56
-
57
- it 'should use the activescaffold-themed CSS' do
58
- response.should have_tag(
59
- 'link[href^=/stylesheets/admin_assistant/activescaffold.css]'
60
- )
61
- end
62
-
63
- it "should say 'Posts'" do
64
- response.should have_tag('h2', :text => 'Posts')
65
- end
66
- end
67
-
68
- describe 'with one unpublished blog post' do
69
- before :all do
70
- BlogPost.destroy_all
71
- @blog_post = BlogPost.create!(
72
- :title => "unpublished blog post", :user => @user,
73
- :published_at => nil
74
- )
75
- end
76
-
77
- before :each do
78
- $cache.flush
79
- get :index
80
- end
81
-
82
- it 'should show the blog post' do
83
- response.body.should match(/unpublished blog post/)
84
- end
85
-
86
- it "should show 'No' from having called BlogPost#published?" do
87
- response.should have_tag("tr[id=blog_post_#{@blog_post.id}]") do
88
- with_tag "td", :text => 'No'
89
- end
90
- end
91
-
92
- it 'should not have a comparator for the ID search field' do
93
- response.should have_tag('form[id=search_form][method=get]') do
94
- without_tag("select[name=?]", "search[id(comparator)]")
95
- end
96
- end
97
-
98
- it 'should have a blank checkbox for the body search field' do
99
- response.should have_tag('form[id=search_form][method=get]') do
100
- with_tag("input[type=checkbox][name=?]", "search[body(blank)]")
101
- end
102
- end
103
-
104
- it 'should render extra action links in order' do
105
- response.body.should match(/Short title.*Blank body/m)
106
- end
107
-
108
- it 'should have a trinary select for the has_short_title search field' do
109
- response.should have_tag('form[id=search_form][method=get]') do
110
- with_tag('select[name=?]', 'search[has_short_title]') do
111
- with_tag("option[value='']", :text => '')
112
- with_tag("option[value='true']", :text => 'Yes')
113
- with_tag("option[value='false']", :text => 'No')
114
- end
115
- end
116
- end
117
-
118
- it 'should show a search form with specific fields' do
119
- response.should have_tag(
120
- 'form[id=search_form][method=get]', :text => /Title/
121
- ) do
122
- with_tag('input[name=?]', 'search[title]')
123
- with_tag('input[name=?]', 'search[body]')
124
- with_tag('select[name=?]', 'search[textile]') do
125
- with_tag("option[value='']", :text => '')
126
- with_tag("option[value='true']", :text => 'true')
127
- with_tag("option[value='false']", :text => 'false')
128
- end
129
- with_tag('label', :text => 'User')
130
- with_tag('input[name=?]', 'search[user]')
131
- end
132
- end
133
-
134
- it 'should set the count in memcache' do
135
- key =
136
- "AdminAssistant::Admin::BlogPosts3Controller_count_published_at_is_null_"
137
- $cache.read(key).should == 1
138
- $cache.expires_in(key).should be_close(12.hours, 5.seconds)
139
- end
140
-
141
- it 'should not make the textile field an Ajax toggle' do
142
- toggle_div_id = "blog_post_#{@blog_post.id}_textile"
143
- response.body.should_not match(
144
- %r|new Ajax.Updater\('#{toggle_div_id}'|
145
- )
146
- end
147
- end
148
-
149
- describe 'with a published blog post' do
150
- before :all do
151
- $cache.flush
152
- BlogPost.destroy_all
153
- BlogPost.create!(
154
- :title => "published blog post", :user => @user,
155
- :published_at => Time.now.utc
156
- )
157
- end
158
-
159
- before :each do
160
- get :index
161
- end
162
-
163
- it 'should not show the blog post' do
164
- response.body.should_not match(/published blog post/)
165
- response.body.should match(/No posts found/)
166
- end
167
- end
168
-
169
- describe 'when searching by user' do
170
- before :all do
171
- User.destroy_all
172
- tiffany = User.create!(:username => 'tiffany')
173
- BlogPost.create! :title => "By Tiffany", :user => tiffany
174
- BlogPost.create!(
175
- :title => "Already published", :user => tiffany,
176
- :published_at => Time.now
177
- )
178
- bill = User.create! :username => 'bill', :password => 'parsimony'
179
- BlogPost.create! :title => "By Bill", :user => bill
180
- brooklyn_steve = User.create!(
181
- :username => 'brooklyn_steve', :state => 'NY'
182
- )
183
- BlogPost.create! :title => "By Brooklyn Steve", :user => brooklyn_steve
184
- sadie = User.create!(
185
- :username => 'Sadie', :password => 'sadie', :state => 'KY'
186
- )
187
- BlogPost.create! :title => "By Sadie", :user => sadie
188
- end
189
-
190
- before :each do
191
- get(
192
- :index,
193
- :search => {
194
- :body => "", :textile => "", :id => "", :user => 'ny',
195
- :has_short_title => ''
196
- }
197
- )
198
- response.should be_success
199
- end
200
-
201
- it 'should match the string to the username' do
202
- response.body.should match(/By Tiffany/)
203
- end
204
-
205
- it 'should match the string to the password' do
206
- response.body.should match(/By Bill/)
207
- end
208
-
209
- it 'should match the string to the state' do
210
- response.body.should match(/By Brooklyn Steve/)
211
- end
212
-
213
- it "should skip blog posts that don't match anything on the user" do
214
- response.body.should_not match(/By Sadie/)
215
- end
216
-
217
- it 'should skip blog posts that have already been published' do
218
- response.body.should_not match(/Already published/)
219
- end
220
- end
221
-
222
- describe 'with blog posts from two different users' do
223
- before :all do
224
- aardvark_man = User.create!(:username => 'aardvark_man')
225
- BlogPost.create! :title => 'AARDVARKS!!!!!1', :user => aardvark_man
226
- ziggurat = User.create!(:username => 'zigguratz')
227
- BlogPost.create! :title => "Wanna go climbing?", :user => ziggurat
228
- end
229
-
230
- before :each do
231
- get :index
232
- response.should be_success
233
- end
234
-
235
- it 'should sort by username' do
236
- response.body.should match(%r|AARDVARKS!!!!!1.*Wanna go climbing|m)
237
- end
238
- end
239
- end
240
-
241
- describe '#index when search for a blank body' do
242
- before :all do
243
- BlogPost.destroy_all
244
- @nil_body_post = BlogPost.create!(
245
- :title => "nil", :user => @user, :body => nil
246
- )
247
- @empty_string_body_post = BlogPost.create!(
248
- :title => "empty string", :user => @user, :body => ''
249
- )
250
- @non_blank_body_post = BlogPost.create!(
251
- :title => "non-blank", :user => @user, :body => 'foo'
252
- )
253
- end
254
-
255
- before :each do
256
- get(
257
- :index,
258
- :search => {
259
- "body(blank)" => '1', :user => '', :body => '', :title => '',
260
- :textile => '', :id => '', '(all_or_any)' => 'all',
261
- :has_short_title => ''
262
- }
263
- )
264
- end
265
-
266
- it 'should retrieve a blog post with a nil body' do
267
- response.should have_tag("tr[id=?]", "blog_post_#{@nil_body_post.id}")
268
- end
269
-
270
- it 'should retrieve a blog post with a space-only string body' do
271
- response.should have_tag(
272
- "tr[id=?]", "blog_post_#{@empty_string_body_post.id}"
273
- )
274
- end
275
-
276
- it 'should not retrieve a blog post with a non-blank body' do
277
- response.should_not have_tag(
278
- "tr[id=?]", "blog_post_#{@non_blank_body_post.id}"
279
- )
280
- end
281
-
282
- it 'should have a checked blank checkbox for the body search field' do
283
- response.should have_tag('form[id=search_form][method=get]') do
284
- with_tag(
285
- "input[type=checkbox][checked=checked][name=?]",
286
- "search[body(blank)]"
287
- )
288
- end
289
- end
290
- end
291
-
292
- describe '#index when searching and there are blog posts with varying title lengths' do
293
- before :all do
294
- BlogPost.destroy_all
295
- @bp1 = BlogPost.create!(
296
- :title => 'short', :body => 'foobar', :user => @user
297
- )
298
- @bp2 = BlogPost.create!(
299
- :title => "longer title", :body => 'foobar', :user => @user
300
- )
301
- end
302
-
303
- describe 'when searching for short-titled blog posts' do
304
- before :each do
305
- get(
306
- :index,
307
- :search => {
308
- :body => "", "body(blank)" => '0', :textile => "", :id => "",
309
- :user => '', :has_short_title => 'true'
310
- }
311
- )
312
- end
313
-
314
- it 'should return a short-titled blog post' do
315
- response.should have_tag('td', :text => 'short')
316
- end
317
-
318
- it 'should not return a longer-title blog post' do
319
- response.should_not have_tag('td', :text => 'longer title')
320
- end
321
-
322
- it "should pre-select 'true' in the has_short_title search field" do
323
- response.should have_tag('form[id=search_form][method=get]') do
324
- with_tag('select[name=?]', 'search[has_short_title]') do
325
- with_tag("option[value='']", :text => '')
326
- with_tag("option[value='true'][selected=selected]", :text => 'Yes')
327
- with_tag("option[value='false']", :text => 'No')
328
- end
329
- end
330
- end
331
- end
332
-
333
- describe 'when searching for long-titled blog posts' do
334
- before :each do
335
- get(
336
- :index,
337
- :search => {
338
- :body => "", "body(blank)" => '0', :textile => "", :id => "",
339
- :user => '', :has_short_title => 'false'
340
- }
341
- )
342
- end
343
-
344
- it 'should not return a short-titled blog post' do
345
- response.should_not have_tag('td', :text => 'short')
346
- end
347
-
348
- it 'should return a longer-title blog post' do
349
- response.should have_tag('td', :text => 'longer title')
350
- end
351
-
352
- it "should pre-select 'false' in the has_short_title search field" do
353
- response.should have_tag('form[id=search_form][method=get]') do
354
- with_tag('select[name=?]', 'search[has_short_title]') do
355
- with_tag("option[value='']", :text => '')
356
- with_tag("option[value='true']", :text => 'Yes')
357
- with_tag("option[value='false'][selected=selected]", :text => 'No')
358
- end
359
- end
360
- end
361
- end
362
-
363
- describe 'when searching for blog posts of any title-length' do
364
- before :each do
365
- get(
366
- :index,
367
- :search => {
368
- :body => 'foobar', "body(blank)" => '0', :textile => "", :id => "",
369
- :user => '', :has_short_title => ''
370
- }
371
- )
372
- end
373
-
374
- it 'should return a short-titled blog post' do
375
- response.should have_tag('td', :text => 'short')
376
- end
377
-
378
- it 'should return a longer-title blog post' do
379
- response.should have_tag('td', :text => 'longer title')
380
- end
381
- end
382
- end
383
-
384
- describe '#index when searching by ID' do
385
- before :all do
386
- BlogPost.destroy_all
387
- @blog_post1 = BlogPost.create! :title => random_word, :user => @user
388
- blog_post2 = BlogPost.create! :title => random_word, :user => @user
389
- BlogPost.update_all(
390
- "id = #{@blog_post1.id * 10}", "id = #{blog_post2.id}"
391
- )
392
- @blog_post2 = BlogPost.find(@blog_post1.id * 10)
393
- end
394
-
395
- before :each do
396
- get(
397
- :index,
398
- :search => {
399
- :body => '', "body(blank)" => '0', :textile => "",
400
- :id => @blog_post1.id.to_s, :user => '', :has_short_title => ''
401
- }
402
- )
403
- end
404
-
405
- it 'should match the record with that ID' do
406
- response.should have_tag("tr[id=?]", "blog_post_#{@blog_post1.id}")
407
- end
408
-
409
- it 'should not match a record with an ID that has the ID as a substring' do
410
- response.should_not have_tag("tr[id=?]", "blog_post_#{@blog_post2.id}")
411
- end
412
- end
413
-
414
- describe '#index when the blank-body count has been cached in memcache but the request is looking for the default index' do
415
- before :all do
416
- $cache.flush
417
- another_key =
418
- "AdminAssistant::Admin::BlogPosts3Controller_count__body_is_null_or_body______"
419
- $cache.write another_key, 1_000_000, :expires_in => 12.hours
420
- end
421
-
422
- before :each do
423
- get :index
424
- end
425
-
426
- it 'should not read a value from memcache' do
427
- response.body.should_not match(/1000000 posts found/)
428
- end
429
-
430
- it 'should set the count in memcache' do
431
- key =
432
- "AdminAssistant::Admin::BlogPosts3Controller_count_published_at_is_null_"
433
- $cache.read(key).should_not be_nil
434
- $cache.expires_in(key).should be_close(12.hours, 5.seconds)
435
- end
436
- end
437
-
438
- describe '#index when the count has been cached in memcache' do
439
- before :all do
440
- key =
441
- "AdminAssistant::Admin::BlogPosts3Controller_count_published_at_is_null_"
442
- $cache.write key, 1_000_000, :expires_in => 12.hours
443
- end
444
-
445
- before :each do
446
- $cache.raise_on_write
447
- get :index
448
- end
449
-
450
- it 'should read memcache and not hit the database' do
451
- response.body.should match(/1000000 posts found/)
452
- end
453
- end
454
-
455
- describe "#index with more than one page's worth of unpublished blog posts" do
456
- before :all do
457
- $cache.flush
458
- BlogPost.destroy_all
459
- 1.upto(26) do |i|
460
- BlogPost.create!(
461
- :title => "unpublished blog post #{i}", :user => @user,
462
- :published_at => nil
463
- )
464
- end
465
- @unpub_count = BlogPost.count "published_at is null"
466
- end
467
-
468
- before :each do
469
- $cache.flush
470
- get :index
471
- end
472
-
473
- it "should cache the total number of entries, not the entries on just this page" do
474
- key =
475
- "AdminAssistant::Admin::BlogPosts3Controller_count_published_at_is_null_"
476
- $cache.read(key).should == @unpub_count
477
- $cache.expires_in(key).should be_close(12.hours, 5.seconds)
478
- end
479
- end
480
-
481
- describe '#new' do
482
- before :each do
483
- @request_time = Time.now.utc
484
- get :new
485
- end
486
-
487
- it 'should not have a body field' do
488
- response.should_not have_tag('textarea[name=?]', 'blog_post[body]')
489
- end
490
-
491
- it 'should have a published_at select that starts in the year 2009' do
492
- name = 'blog_post[published_at(1i)]'
493
- response.should have_tag('select[name=?]', name) do
494
- with_tag "option[value='2009']"
495
- with_tag "option[value='2010']"
496
- without_tag "option[value='2008']"
497
- end
498
- end
499
-
500
- it 'should have a published_at select that is set to now' do
501
- name = 'blog_post[published_at(3i)]'
502
- response.should have_tag('select[name=?]', name) do
503
- with_tag "option[value=?][selected=selected]", @request_time.day
504
- end
505
- end
506
-
507
- it 'should not show a nullify link for published_at' do
508
- response.body.should_not have_tag(
509
- 'a', :text => "Set \"published at\" to nil"
510
- )
511
- end
512
-
513
- it "should say 'New post'" do
514
- response.should have_tag('h2', :text => 'New post')
515
- end
516
- end
517
-
518
- describe '#show' do
519
- before :all do
520
- @blog_post = BlogPost.create! :title => "title", :user => @user
521
- end
522
-
523
- before :each do
524
- get :show, :id => @blog_post.id
525
- response.should be_success
526
- end
527
-
528
- it "should say 'Post [ID]'" do
529
- response.should have_tag('h2', :text => "Post #{@blog_post.id}")
530
- end
531
- end
532
- end