obitum-rails_admin 0.0.1

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 (401) hide show
  1. data/Gemfile +57 -0
  2. data/LICENSE.md +20 -0
  3. data/README.md +206 -0
  4. data/Rakefile +14 -0
  5. data/app/assets/images/rails_admin/aristo/images/bg_fallback.png +0 -0
  6. data/app/assets/images/rails_admin/aristo/images/icon_sprite.png +0 -0
  7. data/app/assets/images/rails_admin/aristo/images/progress_bar.gif +0 -0
  8. data/app/assets/images/rails_admin/aristo/images/slider_handles.png +0 -0
  9. data/app/assets/images/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  10. data/app/assets/images/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  11. data/app/assets/images/rails_admin/bullet_black.png +0 -0
  12. data/app/assets/images/rails_admin/bullet_white.png +0 -0
  13. data/app/assets/images/rails_admin/calendar.png +0 -0
  14. data/app/assets/images/rails_admin/clock.png +0 -0
  15. data/app/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
  16. data/app/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
  17. data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
  18. data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
  19. data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
  20. data/app/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
  21. data/app/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
  22. data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
  23. data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
  24. data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
  25. data/app/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
  26. data/app/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
  27. data/app/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
  28. data/app/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
  29. data/app/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
  30. data/app/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
  31. data/app/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
  32. data/app/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
  33. data/app/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
  34. data/app/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
  35. data/app/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
  36. data/app/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
  37. data/app/assets/images/rails_admin/colorpicker/select.png +0 -0
  38. data/app/assets/images/rails_admin/colorpicker/select2.png +0 -0
  39. data/app/assets/images/rails_admin/colorpicker/slider.png +0 -0
  40. data/app/assets/images/rails_admin/logo.png +0 -0
  41. data/app/assets/images/rails_admin/magnifier.png +0 -0
  42. data/app/assets/images/rails_admin/multiselect/icon_sprite.png +0 -0
  43. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-dark.png +0 -0
  44. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-light.png +0 -0
  45. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-dark.png +0 -0
  46. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-light.png +0 -0
  47. data/app/assets/javascripts/rails_admin/custom/ui.js +12 -0
  48. data/app/assets/javascripts/rails_admin/jquery-ui-1.8.16.custom.js +5271 -0
  49. data/app/assets/javascripts/rails_admin/jquery.colorpicker.js +484 -0
  50. data/app/assets/javascripts/rails_admin/jquery.pjax.js +266 -0
  51. data/app/assets/javascripts/rails_admin/jquery.ui.timepicker.js +1219 -0
  52. data/app/assets/javascripts/rails_admin/jquery_nested_form.js +58 -0
  53. data/app/assets/javascripts/rails_admin/ra.datetimepicker.js +67 -0
  54. data/app/assets/javascripts/rails_admin/ra.filter-box.js +120 -0
  55. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +280 -0
  56. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +181 -0
  57. data/app/assets/javascripts/rails_admin/ra.remote-form.js +148 -0
  58. data/app/assets/javascripts/rails_admin/rails_admin.js.erb +19 -0
  59. data/app/assets/javascripts/rails_admin/themes/default/ui.js +12 -0
  60. data/app/assets/javascripts/rails_admin/ui.js.coffee +33 -0
  61. data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
  62. data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
  63. data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
  64. data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
  65. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  66. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  67. data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.css.scss +733 -0
  68. data/app/assets/stylesheets/rails_admin/base/README +2 -0
  69. data/app/assets/stylesheets/rails_admin/base/mixins.css.scss +1 -0
  70. data/app/assets/stylesheets/rails_admin/base/theming.css.scss +145 -0
  71. data/app/assets/stylesheets/rails_admin/base/variables.css.scss +1 -0
  72. data/app/assets/stylesheets/rails_admin/custom/mixins.css.scss +12 -0
  73. data/app/assets/stylesheets/rails_admin/custom/theming.css.scss +13 -0
  74. data/app/assets/stylesheets/rails_admin/custom/variables.css.scss +15 -0
  75. data/app/assets/stylesheets/rails_admin/imports.css.scss.erb +41 -0
  76. data/app/assets/stylesheets/rails_admin/jquery.colorpicker.css.scss +180 -0
  77. data/app/assets/stylesheets/rails_admin/jquery.ui.timepicker.css.scss +53 -0
  78. data/app/assets/stylesheets/rails_admin/ra.calendar-additions.css.scss +25 -0
  79. data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.css.scss +85 -0
  80. data/app/assets/stylesheets/rails_admin/rails_admin.css +4 -0
  81. data/app/assets/stylesheets/rails_admin/themes/default/mixins.css.scss +8 -0
  82. data/app/assets/stylesheets/rails_admin/themes/default/theming.css.scss +11 -0
  83. data/app/assets/stylesheets/rails_admin/themes/default/variables.css.scss +12 -0
  84. data/app/controllers/rails_admin/application_controller.rb +87 -0
  85. data/app/controllers/rails_admin/main_controller.rb +148 -0
  86. data/app/helpers/rails_admin/application_helper.rb +97 -0
  87. data/app/helpers/rails_admin/form_builder.rb +106 -0
  88. data/app/helpers/rails_admin/main_helper.rb +36 -0
  89. data/app/views/kaminari/twitter-bootstrap/_gap.html.haml +2 -0
  90. data/app/views/kaminari/twitter-bootstrap/_next_page.html.haml +4 -0
  91. data/app/views/kaminari/twitter-bootstrap/_page.html.haml +4 -0
  92. data/app/views/kaminari/twitter-bootstrap/_paginator.html.haml +10 -0
  93. data/app/views/kaminari/twitter-bootstrap/_prev_page.html.haml +4 -0
  94. data/app/views/layouts/rails_admin/_navigation.html.haml +17 -0
  95. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +11 -0
  96. data/app/views/layouts/rails_admin/application.html.haml +39 -0
  97. data/app/views/rails_admin/main/_dashboard_history.html.haml +10 -0
  98. data/app/views/rails_admin/main/_delete_notice.html.haml +19 -0
  99. data/app/views/rails_admin/main/_form_colorpicker.html.haml +23 -0
  100. data/app/views/rails_admin/main/_form_datetime.html.haml +4 -0
  101. data/app/views/rails_admin/main/_form_enumeration.html.haml +4 -0
  102. data/app/views/rails_admin/main/_form_field.html.haml +1 -0
  103. data/app/views/rails_admin/main/_form_file_upload.html.haml +17 -0
  104. data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +57 -0
  105. data/app/views/rails_admin/main/_form_filtering_select.html.haml +46 -0
  106. data/app/views/rails_admin/main/_form_nested_many.html.haml +6 -0
  107. data/app/views/rails_admin/main/_form_nested_one.html.haml +6 -0
  108. data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +34 -0
  109. data/app/views/rails_admin/main/_form_text.html.haml +9 -0
  110. data/app/views/rails_admin/main/_submit_buttons.html.haml +13 -0
  111. data/app/views/rails_admin/main/bulk_delete.html.haml +7 -0
  112. data/app/views/rails_admin/main/dashboard.html.haml +31 -0
  113. data/app/views/rails_admin/main/delete.html.haml +14 -0
  114. data/app/views/rails_admin/main/edit.html.haml +2 -0
  115. data/app/views/rails_admin/main/export.html.haml +71 -0
  116. data/app/views/rails_admin/main/history.html.haml +42 -0
  117. data/app/views/rails_admin/main/index.html.haml +123 -0
  118. data/app/views/rails_admin/main/new.html.haml +2 -0
  119. data/app/views/rails_admin/main/show.html.haml +14 -0
  120. data/config/initializers/active_record_extensions.rb +19 -0
  121. data/config/initializers/devise_patch.rb +9 -0
  122. data/config/initializers/haml.rb +3 -0
  123. data/config/locales/rails_admin.en.yml +129 -0
  124. data/config/routes.rb +12 -0
  125. data/lib/generators/rails_admin/install_generator.rb +84 -0
  126. data/lib/generators/rails_admin/templates/drop.rb +18 -0
  127. data/lib/generators/rails_admin/templates/initializer.erb +101 -0
  128. data/lib/generators/rails_admin/templates/migration.rb +18 -0
  129. data/lib/generators/rails_admin/uninstall_generator.rb +22 -0
  130. data/lib/generators/rails_admin/utils.rb +30 -0
  131. data/lib/rails_admin.rb +39 -0
  132. data/lib/rails_admin/abstract_model.rb +73 -0
  133. data/lib/rails_admin/abstract_object.rb +28 -0
  134. data/lib/rails_admin/adapters/active_record.rb +347 -0
  135. data/lib/rails_admin/config.rb +293 -0
  136. data/lib/rails_admin/config/actions.rb +121 -0
  137. data/lib/rails_admin/config/actions/base.rb +105 -0
  138. data/lib/rails_admin/config/actions/bulk_delete.rb +56 -0
  139. data/lib/rails_admin/config/actions/dashboard.rb +40 -0
  140. data/lib/rails_admin/config/actions/delete.rb +50 -0
  141. data/lib/rails_admin/config/actions/edit.rb +52 -0
  142. data/lib/rails_admin/config/actions/export.rb +37 -0
  143. data/lib/rails_admin/config/actions/history_index.rb +34 -0
  144. data/lib/rails_admin/config/actions/history_show.rb +34 -0
  145. data/lib/rails_admin/config/actions/index.rb +73 -0
  146. data/lib/rails_admin/config/actions/new.rb +60 -0
  147. data/lib/rails_admin/config/actions/show.rb +27 -0
  148. data/lib/rails_admin/config/actions/show_in_app.rb +23 -0
  149. data/lib/rails_admin/config/base.rb +111 -0
  150. data/lib/rails_admin/config/fields.rb +97 -0
  151. data/lib/rails_admin/config/fields/association.rb +115 -0
  152. data/lib/rails_admin/config/fields/base.rb +274 -0
  153. data/lib/rails_admin/config/fields/factories/carrierwave.rb +12 -0
  154. data/lib/rails_admin/config/fields/factories/devise.rb +30 -0
  155. data/lib/rails_admin/config/fields/factories/dragonfly.rb +21 -0
  156. data/lib/rails_admin/config/fields/factories/enum.rb +11 -0
  157. data/lib/rails_admin/config/fields/factories/paperclip.rb +27 -0
  158. data/lib/rails_admin/config/fields/factories/password.rb +17 -0
  159. data/lib/rails_admin/config/fields/group.rb +65 -0
  160. data/lib/rails_admin/config/fields/groupable.rb +25 -0
  161. data/lib/rails_admin/config/fields/types.rb +26 -0
  162. data/lib/rails_admin/config/fields/types/all.rb +23 -0
  163. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +43 -0
  164. data/lib/rails_admin/config/fields/types/boolean.rb +29 -0
  165. data/lib/rails_admin/config/fields/types/carrierwave.rb +40 -0
  166. data/lib/rails_admin/config/fields/types/color.rb +37 -0
  167. data/lib/rails_admin/config/fields/types/date.rb +24 -0
  168. data/lib/rails_admin/config/fields/types/datetime.rb +165 -0
  169. data/lib/rails_admin/config/fields/types/decimal.rb +14 -0
  170. data/lib/rails_admin/config/fields/types/dragonfly.rb +59 -0
  171. data/lib/rails_admin/config/fields/types/enum.rb +35 -0
  172. data/lib/rails_admin/config/fields/types/file_upload.rb +65 -0
  173. data/lib/rails_admin/config/fields/types/float.rb +14 -0
  174. data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +14 -0
  175. data/lib/rails_admin/config/fields/types/has_many_association.rb +37 -0
  176. data/lib/rails_admin/config/fields/types/has_one_association.rb +35 -0
  177. data/lib/rails_admin/config/fields/types/hidden.rb +19 -0
  178. data/lib/rails_admin/config/fields/types/integer.rb +20 -0
  179. data/lib/rails_admin/config/fields/types/paperclip.rb +46 -0
  180. data/lib/rails_admin/config/fields/types/password.rb +42 -0
  181. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +76 -0
  182. data/lib/rails_admin/config/fields/types/string.rb +43 -0
  183. data/lib/rails_admin/config/fields/types/text.rb +38 -0
  184. data/lib/rails_admin/config/fields/types/time.rb +36 -0
  185. data/lib/rails_admin/config/fields/types/timestamp.rb +18 -0
  186. data/lib/rails_admin/config/has_fields.rb +135 -0
  187. data/lib/rails_admin/config/has_groups.rb +23 -0
  188. data/lib/rails_admin/config/hideable.rb +28 -0
  189. data/lib/rails_admin/config/model.rb +82 -0
  190. data/lib/rails_admin/config/proxy.rb +40 -0
  191. data/lib/rails_admin/config/sections.rb +38 -0
  192. data/lib/rails_admin/config/sections/base.rb +19 -0
  193. data/lib/rails_admin/config/sections/create.rb +11 -0
  194. data/lib/rails_admin/config/sections/edit.rb +11 -0
  195. data/lib/rails_admin/config/sections/export.rb +11 -0
  196. data/lib/rails_admin/config/sections/list.rb +27 -0
  197. data/lib/rails_admin/config/sections/nested.rb +10 -0
  198. data/lib/rails_admin/config/sections/show.rb +10 -0
  199. data/lib/rails_admin/config/sections/update.rb +10 -0
  200. data/lib/rails_admin/engine.rb +21 -0
  201. data/lib/rails_admin/extension.rb +29 -0
  202. data/lib/rails_admin/extensions/cancan.rb +5 -0
  203. data/lib/rails_admin/extensions/cancan/authorization_adapter.rb +59 -0
  204. data/lib/rails_admin/extensions/history.rb +5 -0
  205. data/lib/rails_admin/extensions/history/auditing_adapter.rb +37 -0
  206. data/lib/rails_admin/extensions/history/history.rb +68 -0
  207. data/lib/rails_admin/extensions/paper_trail.rb +5 -0
  208. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +92 -0
  209. data/lib/rails_admin/generic_support.rb +18 -0
  210. data/lib/rails_admin/i18n_support.rb +43 -0
  211. data/lib/rails_admin/support/core_extensions.rb +44 -0
  212. data/lib/rails_admin/support/csv_converter.rb +109 -0
  213. data/lib/rails_admin/version.rb +6 -0
  214. data/lib/tasks/prepare_ci_env.rake +27 -0
  215. data/lib/tasks/rails_admin.rake +18 -0
  216. data/spec/ci.sh +2 -0
  217. data/spec/controllers/application_controller_spec.rb +30 -0
  218. data/spec/controllers/main_controller_spec.rb +114 -0
  219. data/spec/database_helpers.rb +15 -0
  220. data/spec/dummy_app/Gemfile +53 -0
  221. data/spec/dummy_app/Rakefile +7 -0
  222. data/spec/dummy_app/app/controllers/application_controller.rb +3 -0
  223. data/spec/dummy_app/app/controllers/players_controller.rb +5 -0
  224. data/spec/dummy_app/app/helpers/application_helper.rb +2 -0
  225. data/spec/dummy_app/app/locales/models.en.yml +16 -0
  226. data/spec/dummy_app/app/models/abstract.rb +5 -0
  227. data/spec/dummy_app/app/models/ball.rb +8 -0
  228. data/spec/dummy_app/app/models/category.rb +3 -0
  229. data/spec/dummy_app/app/models/cms.rb +5 -0
  230. data/spec/dummy_app/app/models/cms/basic_page.rb +7 -0
  231. data/spec/dummy_app/app/models/cms/unscoped_page.rb +3 -0
  232. data/spec/dummy_app/app/models/comment.rb +3 -0
  233. data/spec/dummy_app/app/models/division.rb +8 -0
  234. data/spec/dummy_app/app/models/draft.rb +11 -0
  235. data/spec/dummy_app/app/models/fan.rb +5 -0
  236. data/spec/dummy_app/app/models/field_test.rb +20 -0
  237. data/spec/dummy_app/app/models/hardball.rb +2 -0
  238. data/spec/dummy_app/app/models/league.rb +10 -0
  239. data/spec/dummy_app/app/models/nested_field_test.rb +3 -0
  240. data/spec/dummy_app/app/models/player.rb +23 -0
  241. data/spec/dummy_app/app/models/rel_test.rb +6 -0
  242. data/spec/dummy_app/app/models/team.rb +25 -0
  243. data/spec/dummy_app/app/models/user.rb +21 -0
  244. data/spec/dummy_app/app/uploaders/carrierwave_uploader.rb +53 -0
  245. data/spec/dummy_app/app/views/layouts/application.html.erb +13 -0
  246. data/spec/dummy_app/app/views/players/show.html.haml +1 -0
  247. data/spec/dummy_app/config.ru +4 -0
  248. data/spec/dummy_app/config/application.rb +47 -0
  249. data/spec/dummy_app/config/boot.rb +6 -0
  250. data/spec/dummy_app/config/database.yml +22 -0
  251. data/spec/dummy_app/config/environment.rb +5 -0
  252. data/spec/dummy_app/config/environments/development.rb +27 -0
  253. data/spec/dummy_app/config/environments/production.rb +51 -0
  254. data/spec/dummy_app/config/environments/test.rb +39 -0
  255. data/spec/dummy_app/config/initializers/backtrace_silencers.rb +7 -0
  256. data/spec/dummy_app/config/initializers/devise.rb +142 -0
  257. data/spec/dummy_app/config/initializers/inflections.rb +10 -0
  258. data/spec/dummy_app/config/initializers/mime_types.rb +5 -0
  259. data/spec/dummy_app/config/initializers/quiet_assets.rb +10 -0
  260. data/spec/dummy_app/config/initializers/rails_admin.rb +11 -0
  261. data/spec/dummy_app/config/initializers/secret_token.rb +7 -0
  262. data/spec/dummy_app/config/initializers/session_store.rb +8 -0
  263. data/spec/dummy_app/config/routes.rb +10 -0
  264. data/spec/dummy_app/db/migrate/00000000000001_create_divisions_migration.rb +13 -0
  265. data/spec/dummy_app/db/migrate/00000000000002_create_drafts_migration.rb +19 -0
  266. data/spec/dummy_app/db/migrate/00000000000003_create_leagues_migration.rb +12 -0
  267. data/spec/dummy_app/db/migrate/00000000000004_create_players_migration.rb +20 -0
  268. data/spec/dummy_app/db/migrate/00000000000005_create_teams_migration.rb +22 -0
  269. data/spec/dummy_app/db/migrate/00000000000006_devise_create_users.rb +19 -0
  270. data/spec/dummy_app/db/migrate/00000000000007_create_histories_table.rb +16 -0
  271. data/spec/dummy_app/db/migrate/00000000000008_create_fans_migration.rb +12 -0
  272. data/spec/dummy_app/db/migrate/00000000000009_create_fans_teams_migration.rb +11 -0
  273. data/spec/dummy_app/db/migrate/00000000000010_add_revenue_to_team_migration.rb +9 -0
  274. data/spec/dummy_app/db/migrate/00000000000011_add_suspended_to_player_migration.rb +9 -0
  275. data/spec/dummy_app/db/migrate/00000000000012_add_avatar_columns_to_user.rb +16 -0
  276. data/spec/dummy_app/db/migrate/00000000000013_add_roles_to_user.rb +9 -0
  277. data/spec/dummy_app/db/migrate/00000000000014_add_color_to_team_migration.rb +9 -0
  278. data/spec/dummy_app/db/migrate/20101223222233_create_rel_tests.rb +15 -0
  279. data/spec/dummy_app/db/migrate/20110103205808_create_comments.rb +15 -0
  280. data/spec/dummy_app/db/migrate/20110123042530_rename_histories_to_rails_admin_histories.rb +9 -0
  281. data/spec/dummy_app/db/migrate/20110224184303_create_field_tests.rb +22 -0
  282. data/spec/dummy_app/db/migrate/20110328193014_create_cms_basic_pages.rb +14 -0
  283. data/spec/dummy_app/db/migrate/20110329183136_remove_league_id_from_teams.rb +9 -0
  284. data/spec/dummy_app/db/migrate/20110607152842_add_format_to_field_test.rb +9 -0
  285. data/spec/dummy_app/db/migrate/20110714095433_create_balls.rb +12 -0
  286. data/spec/dummy_app/db/migrate/20110831090841_add_protected_field_and_restricted_field_to_field_tests.rb +6 -0
  287. data/spec/dummy_app/db/migrate/20110901131551_change_division_primary_key.rb +19 -0
  288. data/spec/dummy_app/db/migrate/20110901142530_rename_league_id_foreign_key_on_divisions.rb +5 -0
  289. data/spec/dummy_app/db/migrate/20110901150912_set_primary_key_not_null_for_divisions.rb +21 -0
  290. data/spec/dummy_app/db/migrate/20110901154834_change_length_for_rails_admin_histories.rb +9 -0
  291. data/spec/dummy_app/db/migrate/20111103174459_create_unscoped_pages.rb +9 -0
  292. data/spec/dummy_app/db/migrate/20111108143642_add_dragonfly_and_carrierwave_to_field_tests.rb +7 -0
  293. data/spec/dummy_app/db/migrate/20111115041025_add_type_to_balls.rb +5 -0
  294. data/spec/dummy_app/db/migrate/20111123092549_create_nested_field_tests.rb +10 -0
  295. data/spec/dummy_app/db/migrate/20111130075338_add_dragonfly_asset_name_to_field_tests.rb +5 -0
  296. data/spec/dummy_app/db/migrate/20111215083258_create_foo_bars.rb +8 -0
  297. data/spec/dummy_app/db/migrate/20120117151733_add_custom_field_to_teams.rb +5 -0
  298. data/spec/dummy_app/db/migrate/20120118122004_add_categories.rb +7 -0
  299. data/spec/dummy_app/db/seeds.rb +18 -0
  300. data/spec/dummy_app/foo/Gemfile +17 -0
  301. data/spec/dummy_app/foo/MIT-LICENSE +20 -0
  302. data/spec/dummy_app/foo/README.rdoc +3 -0
  303. data/spec/dummy_app/foo/Rakefile +39 -0
  304. data/spec/dummy_app/foo/app/assets/javascripts/foo/application.js +9 -0
  305. data/spec/dummy_app/foo/app/assets/stylesheets/foo/application.css +7 -0
  306. data/spec/dummy_app/foo/app/controllers/foo/application_controller.rb +4 -0
  307. data/spec/dummy_app/foo/app/helpers/foo/application_helper.rb +4 -0
  308. data/spec/dummy_app/foo/app/models/foo/bar.rb +4 -0
  309. data/spec/dummy_app/foo/app/views/layouts/foo/application.html.erb +14 -0
  310. data/spec/dummy_app/foo/config/routes.rb +2 -0
  311. data/spec/dummy_app/foo/foo.gemspec +23 -0
  312. data/spec/dummy_app/foo/lib/foo.rb +4 -0
  313. data/spec/dummy_app/foo/lib/foo/engine.rb +5 -0
  314. data/spec/dummy_app/foo/lib/foo/version.rb +3 -0
  315. data/spec/dummy_app/foo/lib/tasks/foo_tasks.rake +4 -0
  316. data/spec/dummy_app/foo/script/rails +6 -0
  317. data/spec/dummy_app/foo/test/dummy/Rakefile +7 -0
  318. data/spec/dummy_app/foo/test/dummy/app/assets/javascripts/application.js +9 -0
  319. data/spec/dummy_app/foo/test/dummy/app/assets/stylesheets/application.css +7 -0
  320. data/spec/dummy_app/foo/test/dummy/app/controllers/application_controller.rb +3 -0
  321. data/spec/dummy_app/foo/test/dummy/app/helpers/application_helper.rb +2 -0
  322. data/spec/dummy_app/foo/test/dummy/app/views/layouts/application.html.erb +14 -0
  323. data/spec/dummy_app/foo/test/dummy/config.ru +4 -0
  324. data/spec/dummy_app/foo/test/dummy/config/application.rb +45 -0
  325. data/spec/dummy_app/foo/test/dummy/config/boot.rb +10 -0
  326. data/spec/dummy_app/foo/test/dummy/config/database.yml +25 -0
  327. data/spec/dummy_app/foo/test/dummy/config/environment.rb +5 -0
  328. data/spec/dummy_app/foo/test/dummy/config/environments/development.rb +30 -0
  329. data/spec/dummy_app/foo/test/dummy/config/environments/production.rb +60 -0
  330. data/spec/dummy_app/foo/test/dummy/config/environments/test.rb +39 -0
  331. data/spec/dummy_app/foo/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  332. data/spec/dummy_app/foo/test/dummy/config/initializers/inflections.rb +10 -0
  333. data/spec/dummy_app/foo/test/dummy/config/initializers/mime_types.rb +5 -0
  334. data/spec/dummy_app/foo/test/dummy/config/initializers/secret_token.rb +7 -0
  335. data/spec/dummy_app/foo/test/dummy/config/initializers/session_store.rb +8 -0
  336. data/spec/dummy_app/foo/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  337. data/spec/dummy_app/foo/test/dummy/config/locales/en.yml +5 -0
  338. data/spec/dummy_app/foo/test/dummy/config/routes.rb +4 -0
  339. data/spec/dummy_app/foo/test/dummy/db/schema.rb +21 -0
  340. data/spec/dummy_app/foo/test/dummy/public/404.html +26 -0
  341. data/spec/dummy_app/foo/test/dummy/public/422.html +26 -0
  342. data/spec/dummy_app/foo/test/dummy/public/500.html +26 -0
  343. data/spec/dummy_app/foo/test/dummy/public/favicon.ico +0 -0
  344. data/spec/dummy_app/foo/test/dummy/script/rails +6 -0
  345. data/spec/dummy_app/foo/test/fixtures/foo/bars.yml +11 -0
  346. data/spec/dummy_app/foo/test/foo_test.rb +7 -0
  347. data/spec/dummy_app/foo/test/integration/navigation_test.rb +10 -0
  348. data/spec/dummy_app/foo/test/test_helper.rb +10 -0
  349. data/spec/dummy_app/foo/test/unit/foo/bar_test.rb +9 -0
  350. data/spec/dummy_app/public/404.html +0 -0
  351. data/spec/dummy_app/public/favicon.ico +0 -0
  352. data/spec/dummy_app/public/system/dragonfly/development/2011/11/24/10_36_27_888_Pensive_Parakeet.jpg +0 -0
  353. data/spec/dummy_app/public/system/dragonfly/development/2011/11/24/10_36_27_888_Pensive_Parakeet.jpg.meta +1 -0
  354. data/spec/dummy_app/public/system/dragonfly/development/2011/11/30/08_54_39_906_Costa_Rican_Frog.jpg +0 -0
  355. data/spec/dummy_app/public/system/dragonfly/development/2011/11/30/08_54_39_906_Costa_Rican_Frog.jpg.meta +1 -0
  356. data/spec/dummy_app/public/system/paperclip_assets/1/original/Boston City Flow.jpg +0 -0
  357. data/spec/dummy_app/public/system/paperclip_assets/1/thumb/Boston City Flow.jpg +0 -0
  358. data/spec/dummy_app/public/system/paperclip_assets/3/original/Costa Rican Frog.jpg +0 -0
  359. data/spec/dummy_app/public/system/paperclip_assets/3/thumb/Costa Rican Frog.jpg +0 -0
  360. data/spec/dummy_app/public/system/paperclip_assets/6/original/liste-electorale.pdf +0 -0
  361. data/spec/dummy_app/public/system/paperclip_assets/6/thumb/liste-electorale.pdf +148 -0
  362. data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/3/Boston_City_Flow.jpg +0 -0
  363. data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/3/thumb_Boston_City_Flow.jpg +0 -0
  364. data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/4/Costa_Rican_Frog.jpg +0 -0
  365. data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/4/thumb_Costa_Rican_Frog.jpg +0 -0
  366. data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/6/Pensive_Parakeet.jpg +0 -0
  367. data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/6/thumb_Pensive_Parakeet.jpg +0 -0
  368. data/spec/dummy_app/script/rails +6 -0
  369. data/spec/factories.rb +66 -0
  370. data/spec/generator_helpers.rb +30 -0
  371. data/spec/generators/install_generator_spec.rb +85 -0
  372. data/spec/generators/uninstall_generator_spec.rb +35 -0
  373. data/spec/helpers/application_helper_spec.rb +212 -0
  374. data/spec/lib/abstract_object_spec.rb +119 -0
  375. data/spec/lib/custom_field.rb +7 -0
  376. data/spec/lib/rails_admin_spec.rb +301 -0
  377. data/spec/requests/actions.rb +161 -0
  378. data/spec/requests/authorization/cancan_spec.rb +350 -0
  379. data/spec/requests/basic/bulk_action/rails_admin_basic_bulk_action_spec.rb +25 -0
  380. data/spec/requests/basic/bulk_destroy/rails_admin_basic_bulk_destroy_spec.rb +57 -0
  381. data/spec/requests/basic/create/rails_admin_basic_create_spec.rb +143 -0
  382. data/spec/requests/basic/create/rails_admin_namespaced_model_create_spec.rb +39 -0
  383. data/spec/requests/basic/delete/rails_admin_basic_delete_spec.rb +27 -0
  384. data/spec/requests/basic/destroy/rails_admin_basic_destroy_spec.rb +56 -0
  385. data/spec/requests/basic/edit/rails_admin_basic_edit_spec.rb +109 -0
  386. data/spec/requests/basic/export/rails_admin_basic_export_spec.rb +87 -0
  387. data/spec/requests/basic/list/rails_admin_basic_list_spec.rb +417 -0
  388. data/spec/requests/basic/new/rails_admin_basic_new_spec.rb +74 -0
  389. data/spec/requests/basic/new/rails_admin_namespaced_model_new_spec.rb +31 -0
  390. data/spec/requests/basic/show/rails_admin_basic_show_spec.rb +92 -0
  391. data/spec/requests/basic/update/rails_admin_basic_update_spec.rb +191 -0
  392. data/spec/requests/config/edit/rails_admin_config_edit_spec.rb +913 -0
  393. data/spec/requests/config/list/rails_admin_config_list_spec.rb +509 -0
  394. data/spec/requests/config/navigation/rails_admin_config_navigation_spec.rb +107 -0
  395. data/spec/requests/config/rails_admin_config_spec.rb +227 -0
  396. data/spec/requests/config/show/rails_admin_config_show_spec.rb +282 -0
  397. data/spec/requests/history/rails_admin_history_spec.rb +66 -0
  398. data/spec/requests/rails_admin_spec.rb +146 -0
  399. data/spec/requests/relation_spec.rb +26 -0
  400. data/spec/spec_helper.rb +91 -0
  401. metadata +967 -0
@@ -0,0 +1,107 @@
1
+ require 'spec_helper'
2
+
3
+ describe "RailsAdmin Config DSL Navigation Section" do
4
+
5
+ subject { page }
6
+
7
+ describe "order of items" do
8
+
9
+ it "should be alphabetical by default" do
10
+ visit dashboard_path
11
+ ["Balls", "Bars", "Basic pages", "Comments", "Divisions", "Drafts", "Fans", "Hardballs", "Leagues", "Nested field tests", "Players", "Teams", "Unscoped pages", "Users"].each_with_index do |content, i|
12
+ find(:xpath, "//ul[@id='nav']/li[#{i + 1}]").should have_content(content)
13
+ end
14
+ end
15
+
16
+ it "should be ordered by weight and alphabetical order" do
17
+ RailsAdmin.config do |config|
18
+ config.model Team do
19
+ weight -1
20
+ end
21
+ end
22
+ visit dashboard_path
23
+ ["Teams", "Balls", "Bars", "Basic pages", "Comments", "Divisions", "Drafts", "Fans", "Hardballs", "Leagues", "Nested field tests", "Players", "Unscoped pages", "Users"].each_with_index do |content, i|
24
+ find(:xpath, "//ul[@id='nav']/li[#{i + 1}]").should have_content(content)
25
+ end
26
+ end
27
+
28
+ it "should nest menu items with parent" do
29
+ RailsAdmin.config do |config|
30
+ config.model Comment do
31
+ parent Cms::BasicPage
32
+ end
33
+ end
34
+ visit dashboard_path
35
+ ["Balls", "Bars", "Basic pages", "Divisions", "Drafts", "Fans", "Hardballs", "Leagues", "Nested field tests", "Players", "Teams", "Unscoped pages", "Users"].each_with_index do |content, i|
36
+ find(:xpath, "//ul[@id='nav']/li[#{i + 1}]").should have_content(content)
37
+ end
38
+ ["Basic pages", "Comments"].each_with_index do |content, i|
39
+ find(:xpath, "//ul[@id='nav']/li[contains(@class, 'more')]/ul/li[#{i + 1}]").should have_content(content)
40
+ end
41
+ end
42
+
43
+ it "should override parent label with navigation_label" do
44
+ RailsAdmin.config do |config|
45
+ config.model Comment do
46
+ parent Cms::BasicPage
47
+ end
48
+ config.model Cms::BasicPage do
49
+ navigation_label "CMS related"
50
+ end
51
+ end
52
+ visit dashboard_path
53
+ ["Balls", "Bars", "CMS related", "Divisions", "Drafts", "Fans", "Hardballs", "Leagues", "Nested field tests", "Players", "Teams", "Unscoped pages", "Users"].each_with_index do |content, i|
54
+ find(:xpath, "//ul[@id='nav']/li[#{i + 1}]").should have_content(content)
55
+ end
56
+ ["Basic pages", "Comments"].each_with_index do |content, i|
57
+ find(:xpath, "//ul[@id='nav']/li[contains(@class, 'more')]/ul/li[#{i + 1}]").should have_content(content)
58
+ end
59
+ end
60
+
61
+ it "should order navigation_label item according to parent weight" do
62
+ RailsAdmin.config do |config|
63
+ config.model Comment do
64
+ parent Cms::BasicPage
65
+ end
66
+ config.model Cms::BasicPage do
67
+ navigation_label "CMS related"
68
+ weight 1
69
+ end
70
+ end
71
+ visit dashboard_path
72
+ ["Balls", "Bars", "Divisions", "Drafts", "Fans", "Hardballs", "Leagues", "Nested field tests", "Players", "Teams", "Unscoped pages", "Users", "CMS related"].each_with_index do |content, i|
73
+ find(:xpath, "//ul[@id='nav']/li[#{i + 1}]").should have_content(content)
74
+ end
75
+ end
76
+ end
77
+
78
+ describe "label for a model" do
79
+
80
+ it "should be visible and sane by default" do
81
+ visit dashboard_path
82
+ within("#nav") do
83
+ should have_selector("li a", :text => "Fan")
84
+ end
85
+ end
86
+
87
+ it "should be editable" do
88
+ RailsAdmin.config Fan do
89
+ label_plural "Fan tests"
90
+ end
91
+ visit dashboard_path
92
+ within("#nav") do
93
+ should have_selector("li a", :text => "Fan tests")
94
+ end
95
+ end
96
+
97
+ it "should be hideable" do
98
+ RailsAdmin.config Fan do
99
+ hide
100
+ end
101
+ visit dashboard_path
102
+ within("#nav") do
103
+ should have_no_selector("li a", :text => "Fan")
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,227 @@
1
+ require 'spec_helper'
2
+
3
+ describe "RailsAdmin Config DSL" do
4
+
5
+ subject { page }
6
+
7
+ describe "configure" do
8
+ it "should configure without changing the section default list" do
9
+ RailsAdmin.config Team do
10
+ edit do
11
+ configure :name do
12
+ label "Renamed"
13
+ end
14
+ end
15
+ end
16
+ fields = RailsAdmin.config(Team).edit.fields
17
+ fields.find{|f| f.name == :name }.label.should == "Renamed"
18
+ fields.count.should >= 19 # not 1
19
+ end
20
+
21
+ it "should not change the section list if set" do
22
+ RailsAdmin.config Team do
23
+ edit do
24
+ field :manager
25
+ configure :name do
26
+ label "Renamed"
27
+ end
28
+ end
29
+ end
30
+ fields = RailsAdmin.config(Team).edit.fields
31
+ fields.first.name.should == :manager
32
+ fields.count.should == 1 # not 19
33
+ end
34
+ end
35
+
36
+ describe "excluded models" do
37
+ excluded_models = [Division, Draft, Fan]
38
+
39
+ before(:each) do
40
+ RailsAdmin::Config.excluded_models = excluded_models
41
+ end
42
+
43
+ it "should be hidden from navigation" do
44
+ # Make query in team's edit view to make sure loading
45
+ # the related division model config will not mess the navigation
46
+ visit new_path(:model_name => "team")
47
+ within("#nav") do
48
+ excluded_models.each do |model|
49
+ should have_no_selector("li a", :text => model.to_s)
50
+ end
51
+ end
52
+ end
53
+
54
+ it "should raise NotFound for the list view" do
55
+ visit index_path(:model_name => "fan")
56
+ page.driver.status_code.should eql(404)
57
+ find('.alert-message.error').should have_content("Model 'Fan' could not be found")
58
+ end
59
+
60
+ it "should raise NotFound for the create view" do
61
+ visit new_path(:model_name => "fan")
62
+ page.driver.status_code.should eql(404)
63
+ find('.alert-message.error').should have_content("Model 'Fan' could not be found")
64
+ end
65
+
66
+ it "should be hidden from other models relations in the edit view" do
67
+ visit new_path(:model_name => "team")
68
+ should_not have_selector("#team_division")
69
+ should_not have_selector("input#team_fans")
70
+ end
71
+
72
+ it "should raise NoMethodError when an unknown method is called" do
73
+ begin
74
+ RailsAdmin::Config.model Team do
75
+ method_that_doesnt_exist
76
+ fail "calling an unknown method should have failed"
77
+ end
78
+ rescue NoMethodError
79
+ # this is what we want to happen
80
+ end
81
+ end
82
+ end
83
+
84
+ describe "model store does not exist" do
85
+ before(:each) { drop_all_tables }
86
+ after(:all) { migrate_database }
87
+
88
+ it "should not raise an error when the model tables do not exists" do
89
+ config_setup = lambda do
90
+ RailsAdmin.config Team do
91
+ edit do
92
+ field :name
93
+ end
94
+ end
95
+ end
96
+
97
+ config_setup.should_not raise_error
98
+ end
99
+ end
100
+
101
+ describe "object_label_method" do
102
+ it 'should be configurable' do
103
+ RailsAdmin.config League do
104
+ object_label_method { :custom_name }
105
+ end
106
+
107
+ @league = FactoryGirl.create :league
108
+
109
+ RailsAdmin.config('League').with(:object => @league).object_label.should == "League '#{@league.name}'"
110
+ end
111
+ end
112
+
113
+ describe "css_class" do
114
+ it "should have a default and be user customizable" do
115
+ RailsAdmin.config Team do
116
+ list do
117
+ field :division do
118
+ css_class "custom"
119
+ end
120
+ field :name
121
+ end
122
+ end
123
+ RailsAdmin.config('Team').list.fields.find{|f| f.name == :division}.css_class.should == "custom" # custom
124
+ RailsAdmin.config('Team').list.fields.find{|f| f.name == :division}.type_css_class.should == "belongs_to_association_type" # type css class, non-customizable
125
+ RailsAdmin.config('Team').list.fields.find{|f| f.name == :name}.css_class.should == "name_field" # default
126
+ end
127
+ end
128
+
129
+ describe "compact_show_view" do
130
+
131
+ it 'should hide empty fields in show view by default' do
132
+ @player = FactoryGirl.create :player
133
+ visit show_path(:model_name => "league", :id => @player.id)
134
+ should_not have_css(".born_on_field")
135
+ end
136
+
137
+
138
+ it 'should be disactivable' do
139
+ RailsAdmin.config do |c|
140
+ c.compact_show_view = false
141
+ end
142
+
143
+ @player = FactoryGirl.create :player
144
+ visit show_path(:model_name => "player", :id => @player.id)
145
+ should have_css(".born_on_field")
146
+ end
147
+ end
148
+
149
+ describe "searchable and sortable" do
150
+ it 'should be false if column is virtual, true otherwise' do
151
+ RailsAdmin.config League do
152
+ field :virtual_column
153
+ field :name
154
+ end
155
+ @league = FactoryGirl.create :league
156
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :virtual_column }.sortable.should == false
157
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :virtual_column }.searchable.should == false
158
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :name }.sortable.should == true
159
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :name }.searchable.should == true
160
+ end
161
+ end
162
+
163
+ describe "virtual?" do
164
+ it 'should be true if column has no properties, false otherwise' do
165
+ RailsAdmin.config League do
166
+ field :virtual_column
167
+ field :name
168
+ end
169
+ @league = FactoryGirl.create :league
170
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :virtual_column }.virtual?.should == true
171
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :name }.virtual?.should == false
172
+ end
173
+ end
174
+
175
+ describe "search operator" do
176
+ let(:abstract_model) { RailsAdmin::AbstractModel.new('player') }
177
+ let(:model_config) { RailsAdmin.config(abstract_model) }
178
+ let(:queryable_fields) { model_config.list.fields.select(&:queryable?) }
179
+
180
+ context "when no search operator is specified for the field" do
181
+ it "uses 'default' search operator" do
182
+ queryable_fields.should have_at_least(1).field
183
+ queryable_fields.first.search_operator.should == RailsAdmin::Config.default_search_operator
184
+ end
185
+
186
+ it "uses config.default_search_operator if set" do
187
+ RailsAdmin.config do |config|
188
+ config.default_search_operator = 'starts_with'
189
+ end
190
+ queryable_fields.should have_at_least(1).field
191
+ queryable_fields.first.search_operator.should == RailsAdmin::Config.default_search_operator
192
+ end
193
+ end
194
+
195
+ context "when search operator is specified for the field" do
196
+ it "uses specified search operator" do
197
+ RailsAdmin.config Player do
198
+ list do
199
+ fields do
200
+ search_operator "starts_with"
201
+ end
202
+ end
203
+ end
204
+ queryable_fields.should have_at_least(1).field
205
+ queryable_fields.first.search_operator.should == "starts_with"
206
+ end
207
+
208
+ it "uses specified search operator even if config.default_search_operator set" do
209
+ RailsAdmin.config do |config|
210
+ config.default_search_operator = 'starts_with'
211
+
212
+ config.model Player do
213
+ list do
214
+ fields do
215
+ search_operator "ends_with"
216
+ end
217
+ end
218
+ end
219
+ end
220
+ queryable_fields.should have_at_least(1).field
221
+ queryable_fields.first.search_operator.should == "ends_with"
222
+ end
223
+ end
224
+ end
225
+
226
+
227
+ end
@@ -0,0 +1,282 @@
1
+ require 'spec_helper'
2
+
3
+ describe "RailsAdmin Config DSL Show Section" do
4
+ subject { page }
5
+ let(:team) { FactoryGirl.create :team }
6
+
7
+ def do_request
8
+ # tests were done with compact_show_view being false
9
+ RailsAdmin.config do |c|
10
+ c.compact_show_view = false
11
+ end
12
+
13
+ visit show_path(:model_name => "team", :id => team.id)
14
+ end
15
+
16
+ describe "css hooks" do
17
+ it "should be present" do
18
+ do_request
19
+ should have_selector("dt.name_field.string_type")
20
+ end
21
+ end
22
+
23
+ describe "field groupings" do
24
+ it "should be hideable" do
25
+ RailsAdmin.config Team do
26
+ show do
27
+ group :default do
28
+ hide
29
+ end
30
+ end
31
+ end
32
+
33
+ do_request
34
+
35
+ should_not have_selector("h4", :text => "Basic info")
36
+
37
+ %w[division name logo_url manager
38
+ ballpark mascot founded wins
39
+ losses win_percentage revenue
40
+ ].each do |field|
41
+ should_not have_selector(".#{field}_field")
42
+ end
43
+ end
44
+
45
+ it "should hide association groupings by the name of the association" do
46
+ RailsAdmin.config Team do
47
+ show do
48
+ group :players do
49
+ hide
50
+ end
51
+ end
52
+ end
53
+
54
+ do_request
55
+
56
+ should_not have_selector("h4", :text => "Players")
57
+ end
58
+
59
+ it "should be renameable" do
60
+ RailsAdmin.config Team do
61
+ show do
62
+ group :default do
63
+ label "Renamed group"
64
+ end
65
+ end
66
+ end
67
+
68
+ do_request
69
+
70
+ should have_selector("h4", :text => "Renamed group")
71
+ end
72
+
73
+ it "should have accessor for its fields" do
74
+ RailsAdmin.config Team do
75
+ show do
76
+ group :default do
77
+ field :name
78
+ field :logo_url
79
+ end
80
+ group :belongs_to_associations do
81
+ label "Belong's to associations"
82
+ field :division
83
+ end
84
+ end
85
+ end
86
+
87
+ do_request
88
+
89
+ should have_selector("h4", :text => "Basic info")
90
+ should have_selector("h4", :text => "Belong's to associations")
91
+
92
+ should have_selector(".name_field")
93
+ should have_selector(".logo_url_field")
94
+ should have_selector(".division_field")
95
+ end
96
+
97
+ it "should have accessor for its fields by type" do
98
+ RailsAdmin.config Team do
99
+ show do
100
+ group :default do
101
+ field :name
102
+ field :logo_url
103
+ end
104
+ group :other do
105
+ field :division
106
+ field :manager
107
+ field :ballpark
108
+ fields_of_type :string do
109
+ label { "#{label} (STRING)" }
110
+ end
111
+ end
112
+ end
113
+ end
114
+
115
+ do_request
116
+
117
+ should have_selector(".label", :text => "Name")
118
+ should have_selector(".label", :text => "Logo url")
119
+ should have_selector(".label", :text => "Division")
120
+ should have_selector(".label", :text => "Manager (STRING)")
121
+ should have_selector(".label", :text => "Ballpark (STRING)")
122
+ end
123
+ end
124
+
125
+ describe "items' fields" do
126
+
127
+ it "should show all by default" do
128
+ do_request
129
+
130
+ %w[division name logo_url manager
131
+ ballpark mascot founded wins
132
+ losses win_percentage revenue players fans
133
+ ].each do |field|
134
+ should have_selector(".#{field}_field")
135
+ end
136
+ end
137
+
138
+ it "should only show the defined fields and appear in order defined" do
139
+ RailsAdmin.config Team do
140
+ show do
141
+ field :manager
142
+ field :division
143
+ field :name
144
+ end
145
+ end
146
+
147
+ do_request
148
+
149
+ should have_selector(".manager_field")
150
+ should have_selector(".division_field")
151
+ should have_selector(".name_field")
152
+ end
153
+
154
+
155
+ it "should delegates the label option to the ActiveModel API" do
156
+ RailsAdmin.config Team do
157
+ show do
158
+ field :manager
159
+ field :fans
160
+ end
161
+ end
162
+
163
+ do_request
164
+
165
+ should have_selector(".label", :text => "Team Manager")
166
+ should have_selector(".label", :text => "Some Fans")
167
+ end
168
+
169
+ it "should be renameable" do
170
+ RailsAdmin.config Team do
171
+ show do
172
+ field :manager do
173
+ label "Renamed field"
174
+ end
175
+ field :division
176
+ field :name
177
+ end
178
+ end
179
+
180
+ do_request
181
+
182
+ should have_selector(".label", :text => "Renamed field")
183
+ should have_selector(".label", :text => "Division")
184
+ should have_selector(".label", :text => "Name")
185
+ end
186
+
187
+ it "should be renameable by type" do
188
+ RailsAdmin.config Team do
189
+ show do
190
+ fields_of_type :string do
191
+ label { "#{label} (STRING)" }
192
+ end
193
+ end
194
+ end
195
+
196
+ do_request
197
+
198
+ ["Division", "Name (STRING)", "Logo url (STRING)", "Manager (STRING)",
199
+ "Ballpark (STRING)", "Mascot (STRING)", "Founded", "Wins", "Losses",
200
+ "Win percentage", "Revenue", "Players", "Fans"
201
+ ].each do |text|
202
+ should have_selector(".label", :text => text)
203
+ end
204
+ end
205
+
206
+ it "should be globally renameable by type" do
207
+ RailsAdmin::Config.models do
208
+ show do
209
+ fields_of_type :string do
210
+ label { "#{label} (STRING)" }
211
+ end
212
+ end
213
+ end
214
+
215
+ do_request
216
+
217
+ ["Division", "Name (STRING)", "Logo url (STRING)", "Manager (STRING)",
218
+ "Ballpark (STRING)", "Mascot (STRING)", "Founded", "Wins", "Losses",
219
+ "Win percentage", "Revenue", "Players", "Fans"
220
+ ].each do |text|
221
+ should have_selector(".label", :text => text)
222
+ end
223
+ end
224
+
225
+ it "should be hideable" do
226
+ RailsAdmin.config Team do
227
+ show do
228
+ field :manager do
229
+ hide
230
+ end
231
+ field :division
232
+ field :name
233
+ end
234
+ end
235
+
236
+ do_request
237
+
238
+ should have_selector(".division_field")
239
+ should have_selector(".name_field")
240
+ end
241
+
242
+ it "should be hideable by type" do
243
+ RailsAdmin.config Team do
244
+ show do
245
+ fields_of_type :string do
246
+ hide
247
+ end
248
+ end
249
+ end
250
+
251
+ do_request
252
+
253
+ %w[Name Logo\ url Manager Ballpark Mascot].each do |text|
254
+ should_not have_selector(".label", :text => text)
255
+ end
256
+
257
+ %w[Division Founded Wins Losses Win\ percentage Revenue Players Fans].each do |text|
258
+ should have_selector(".label", :text => text)
259
+ end
260
+ end
261
+
262
+ it "should be globally hideable by type" do
263
+ RailsAdmin::Config.models do
264
+ show do
265
+ fields_of_type :string do
266
+ hide
267
+ end
268
+ end
269
+ end
270
+
271
+ do_request
272
+
273
+ %w[Name Logo\ url Manager Ballpark Mascot].each do |text|
274
+ should_not have_selector(".label", :text => text)
275
+ end
276
+
277
+ %w[Division Founded Wins Losses Win\ percentage Revenue Players Fans].each do |text|
278
+ should have_selector(".label", :text => text)
279
+ end
280
+ end
281
+ end
282
+ end