yousty-activeadmin 1.0.4.pre → 1.0.5.pre

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 (467) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +261 -211
  3. data/CONTRIBUTING.md +73 -39
  4. data/Gemfile +38 -20
  5. data/Guardfile +1 -0
  6. data/LICENSE +1 -1
  7. data/README.md +48 -24
  8. data/Rakefile +12 -4
  9. data/activeadmin.gemspec +21 -26
  10. data/app/assets/javascripts/active_admin/application.js.coffee +34 -5
  11. data/app/assets/javascripts/active_admin/base.js.coffee +11 -2
  12. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
  13. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
  14. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +39 -0
  15. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +3 -4
  16. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +51 -55
  17. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
  18. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
  19. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +37 -0
  20. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +27 -0
  21. data/app/assets/javascripts/active_admin/lib/popover.js.coffee +29 -58
  22. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +2 -3
  23. data/app/assets/stylesheets/active_admin/{_base.css.scss → _base.scss} +3 -0
  24. data/app/assets/stylesheets/active_admin/{_forms.css.scss → _forms.scss} +51 -15
  25. data/app/assets/stylesheets/active_admin/{_header.css.scss → _header.scss} +9 -5
  26. data/app/assets/stylesheets/active_admin/{_mixins.css.scss → _mixins.scss} +0 -0
  27. data/app/assets/stylesheets/active_admin/{_typography.css.scss → _typography.scss} +0 -0
  28. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +11 -0
  29. data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -1
  30. data/app/assets/stylesheets/active_admin/components/{_comments.css.scss → _comments.scss} +0 -0
  31. data/app/assets/stylesheets/active_admin/components/{_date_picker.css.scss → _date_picker.scss} +40 -12
  32. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +3 -1
  33. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
  34. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
  35. data/app/assets/stylesheets/active_admin/components/_pagination.scss +10 -0
  36. data/app/assets/stylesheets/active_admin/components/{_popovers.css.scss → _popovers.scss} +0 -0
  37. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +4 -0
  38. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
  39. data/app/assets/stylesheets/active_admin/components/{_tables.css.scss → _tables.scss} +1 -0
  40. data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
  41. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  42. data/app/assets/stylesheets/active_admin/mixins/{_all.css.scss → _all.scss} +0 -0
  43. data/app/assets/stylesheets/active_admin/mixins/{_buttons.css.scss → _buttons.scss} +0 -0
  44. data/app/assets/stylesheets/active_admin/mixins/{_gradients.css.scss → _gradients.scss} +1 -1
  45. data/app/assets/stylesheets/active_admin/mixins/{_icons.css.scss → _icons.scss} +1 -2
  46. data/app/assets/stylesheets/active_admin/mixins/{_reset.css.scss → _reset.scss} +0 -0
  47. data/app/assets/stylesheets/active_admin/mixins/{_rounded.css.scss → _rounded.scss} +0 -0
  48. data/app/assets/stylesheets/active_admin/mixins/{_sections.css.scss → _sections.scss} +7 -1
  49. data/app/assets/stylesheets/active_admin/mixins/{_shadows.css.scss → _shadows.scss} +0 -0
  50. data/app/assets/stylesheets/active_admin/mixins/{_variables.css.scss → _variables.scss} +10 -8
  51. data/app/assets/stylesheets/active_admin/{print.css.scss → print.scss} +4 -0
  52. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +10 -7
  53. data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  54. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  55. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +1 -1
  56. data/app/views/active_admin/devise/passwords/edit.html.erb +9 -10
  57. data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
  58. data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
  59. data/app/views/active_admin/devise/sessions/new.html.erb +8 -8
  60. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  61. data/app/views/active_admin/devise/unlocks/new.html.erb +5 -4
  62. data/app/views/layouts/active_admin_logged_out.html.erb +3 -5
  63. data/config/locales/ar.yml +120 -0
  64. data/config/locales/bg.yml +26 -6
  65. data/config/locales/bs.yml +122 -0
  66. data/config/locales/ca.yml +10 -1
  67. data/config/locales/cs.yml +7 -2
  68. data/config/locales/da.yml +7 -3
  69. data/config/locales/de-CH.yml +14 -31
  70. data/config/locales/de.yml +33 -33
  71. data/config/locales/el.yml +127 -0
  72. data/config/locales/en-GB.yml +11 -4
  73. data/config/locales/en.yml +21 -4
  74. data/config/locales/{es_MX.yml → es-MX.yml} +14 -24
  75. data/config/locales/es.yml +32 -25
  76. data/config/locales/fa.yml +120 -0
  77. data/config/locales/fi.yml +9 -5
  78. data/config/locales/fr.yml +28 -12
  79. data/config/locales/he.yml +7 -3
  80. data/config/locales/hr.yml +42 -11
  81. data/config/locales/hu.yml +10 -3
  82. data/config/locales/it.yml +31 -3
  83. data/config/locales/ja.yml +17 -4
  84. data/config/locales/ko.yml +7 -1
  85. data/config/locales/lt.yml +42 -11
  86. data/config/locales/lv.yml +7 -3
  87. data/config/locales/{no-NB.yml → nb.yml} +46 -15
  88. data/config/locales/nl.yml +36 -5
  89. data/config/locales/pl.yml +13 -8
  90. data/config/locales/pt-BR.yml +36 -5
  91. data/config/locales/pt-PT.yml +8 -4
  92. data/config/locales/ro.yml +7 -3
  93. data/config/locales/ru.yml +26 -5
  94. data/config/locales/sv-SE.yml +9 -5
  95. data/config/locales/tr.yml +10 -3
  96. data/config/locales/uk.yml +36 -12
  97. data/config/locales/vi.yml +7 -3
  98. data/config/locales/zh-CN.yml +26 -10
  99. data/config/locales/zh-TW.yml +19 -13
  100. data/docs/0-installation.md +14 -6
  101. data/docs/1-general-configuration.md +8 -5
  102. data/docs/10-custom-pages.md +68 -70
  103. data/docs/11-decorators.md +48 -59
  104. data/docs/12-arbre-components.md +79 -73
  105. data/docs/13-authorization-adapter.md +128 -107
  106. data/docs/14-gotchas.md +90 -0
  107. data/docs/2-resource-customization.md +82 -15
  108. data/docs/3-index-pages.md +71 -12
  109. data/docs/3-index-pages/custom-index.md +31 -0
  110. data/docs/3-index-pages/index-as-table.md +45 -2
  111. data/docs/4-csv-format.md +1 -1
  112. data/docs/5-forms.md +78 -29
  113. data/docs/6-show-pages.md +31 -3
  114. data/docs/7-sidebars.md +46 -25
  115. data/docs/8-custom-actions.md +98 -77
  116. data/docs/9-batch-actions.md +211 -133
  117. data/docs/README.md +24 -0
  118. data/features/action_item.feature +3 -3
  119. data/features/authorization_pundit.feature +37 -0
  120. data/features/belongs_to.feature +3 -0
  121. data/features/breadcrumb.feature +48 -0
  122. data/features/comments/commenting.feature +44 -13
  123. data/features/development_reloading.feature +3 -4
  124. data/features/edit_page.feature +9 -19
  125. data/features/favicon.feature +3 -3
  126. data/features/i18n.feature +5 -0
  127. data/features/index/batch_actions.feature +41 -0
  128. data/features/index/filters.feature +23 -0
  129. data/features/index/format_as_csv.feature +90 -4
  130. data/features/index/index_as_blog.feature +4 -4
  131. data/features/index/index_as_table.feature +102 -6
  132. data/features/index/index_blank_slate.feature +22 -0
  133. data/features/index/index_scope_to.feature +16 -16
  134. data/features/index/page_title.feature +11 -0
  135. data/features/index/pagination.feature +1 -1
  136. data/features/index/switch_index_view.feature +14 -14
  137. data/features/new_page.feature +10 -20
  138. data/features/registering_pages.feature +1 -1
  139. data/features/renamed_resource.feature +32 -0
  140. data/features/show/page_title.feature +11 -0
  141. data/features/show/tabs.feature +27 -0
  142. data/features/sidebar_sections.feature +12 -0
  143. data/features/specifying_actions.feature +3 -3
  144. data/features/step_definitions/action_item_steps.rb +2 -2
  145. data/features/step_definitions/action_link_steps.rb +14 -1
  146. data/features/step_definitions/additional_web_steps.rb +17 -18
  147. data/features/step_definitions/asset_steps.rb +3 -3
  148. data/features/step_definitions/attribute_steps.rb +8 -3
  149. data/features/step_definitions/batch_action_steps.rb +26 -9
  150. data/features/step_definitions/blog_steps.rb +3 -0
  151. data/features/step_definitions/breadcrumb_steps.rb +1 -1
  152. data/features/step_definitions/comment_steps.rb +1 -1
  153. data/features/step_definitions/configuration_steps.rb +1 -1
  154. data/features/step_definitions/dashboard_steps.rb +2 -2
  155. data/features/step_definitions/factory_steps.rb +6 -6
  156. data/features/step_definitions/filter_steps.rb +25 -3
  157. data/features/step_definitions/flash_steps.rb +3 -3
  158. data/features/step_definitions/format_steps.rb +17 -10
  159. data/features/step_definitions/index_scope_steps.rb +5 -5
  160. data/features/step_definitions/layout_steps.rb +1 -1
  161. data/features/step_definitions/member_link_steps.rb +2 -2
  162. data/features/step_definitions/menu_steps.rb +3 -3
  163. data/features/step_definitions/pagination_steps.rb +2 -3
  164. data/features/step_definitions/sidebar_steps.rb +8 -3
  165. data/features/step_definitions/site_title_steps.rb +6 -4
  166. data/features/step_definitions/symbol_leak_steps.rb +1 -1
  167. data/features/step_definitions/tab_steps.rb +5 -0
  168. data/features/step_definitions/table_steps.rb +4 -4
  169. data/features/step_definitions/user_steps.rb +15 -9
  170. data/features/step_definitions/web_steps.rb +10 -11
  171. data/features/sti_resource.feature +2 -10
  172. data/features/strong_parameters.feature +73 -0
  173. data/features/support/env.rb +35 -2
  174. data/features/support/paths.rb +2 -2
  175. data/features/support/selectors.rb +1 -1
  176. data/features/users/resetting_password.feature +7 -7
  177. data/lib/active_admin.rb +18 -13
  178. data/lib/active_admin/abstract_view_factory.rb +7 -17
  179. data/lib/active_admin/application.rb +50 -25
  180. data/lib/active_admin/asset_registration.rb +2 -2
  181. data/lib/active_admin/authorization_adapter.rb +2 -2
  182. data/lib/active_admin/base_controller.rb +2 -3
  183. data/lib/active_admin/base_controller/authorization.rb +13 -31
  184. data/lib/active_admin/batch_actions.rb +1 -1
  185. data/lib/active_admin/batch_actions/controller.rb +13 -7
  186. data/lib/active_admin/batch_actions/resource_extension.rb +43 -17
  187. data/lib/active_admin/batch_actions/views/batch_action_form.rb +7 -4
  188. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +3 -3
  189. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -17
  190. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -4
  191. data/lib/active_admin/callbacks.rb +25 -24
  192. data/lib/active_admin/cancan_adapter.rb +7 -11
  193. data/lib/active_admin/csv_builder.rb +92 -15
  194. data/lib/active_admin/dependency.rb +93 -0
  195. data/lib/active_admin/deprecation.rb +6 -7
  196. data/lib/active_admin/devise.rb +26 -14
  197. data/lib/active_admin/dsl.rb +18 -11
  198. data/lib/active_admin/engine.rb +7 -2
  199. data/lib/active_admin/error.rb +59 -0
  200. data/lib/active_admin/filters/dsl.rb +2 -2
  201. data/lib/active_admin/filters/forms.rb +19 -30
  202. data/lib/active_admin/filters/formtastic_addons.rb +20 -11
  203. data/lib/active_admin/filters/resource_extension.rb +16 -9
  204. data/lib/active_admin/form_builder.rb +94 -105
  205. data/lib/active_admin/helpers/collection.rb +7 -13
  206. data/lib/active_admin/helpers/i18n.rb +7 -0
  207. data/lib/active_admin/helpers/optional_display.rb +5 -5
  208. data/lib/active_admin/helpers/scope_chain.rb +1 -1
  209. data/lib/active_admin/helpers/settings.rb +16 -9
  210. data/lib/active_admin/iconic.rb +17 -15
  211. data/lib/active_admin/iconic/icons.rb +136 -136
  212. data/lib/active_admin/inputs.rb +11 -7
  213. data/lib/active_admin/inputs/datepicker_input.rb +1 -1
  214. data/lib/active_admin/inputs/filters/base.rb +42 -0
  215. data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
  216. data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
  217. data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
  218. data/lib/active_admin/inputs/filters/date_range_input.rb +36 -0
  219. data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
  220. data/lib/active_admin/inputs/filters/select_input.rb +54 -0
  221. data/lib/active_admin/inputs/filters/string_input.rb +26 -0
  222. data/lib/active_admin/menu.rb +3 -3
  223. data/lib/active_admin/menu_collection.rb +1 -4
  224. data/lib/active_admin/namespace.rb +52 -29
  225. data/lib/active_admin/order_clause.rb +26 -0
  226. data/lib/active_admin/orm/active_record.rb +2 -0
  227. data/lib/active_admin/orm/active_record/comments.rb +48 -51
  228. data/lib/active_admin/orm/active_record/comments/comment.rb +16 -10
  229. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -1
  230. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -1
  231. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +15 -13
  232. data/lib/active_admin/page.rb +5 -1
  233. data/lib/active_admin/page_dsl.rb +1 -1
  234. data/lib/active_admin/page_presenter.rb +2 -2
  235. data/lib/active_admin/pundit_adapter.rb +68 -0
  236. data/lib/active_admin/resource.rb +12 -3
  237. data/lib/active_admin/resource/action_items.rb +15 -8
  238. data/lib/active_admin/resource/belongs_to.rb +7 -3
  239. data/lib/active_admin/resource/controllers.rb +1 -0
  240. data/lib/active_admin/resource/includes.rb +12 -0
  241. data/lib/active_admin/resource/menu.rb +5 -5
  242. data/lib/active_admin/resource/naming.rb +25 -47
  243. data/lib/active_admin/resource/page_presenters.rb +1 -1
  244. data/lib/active_admin/resource/routes.rb +26 -10
  245. data/lib/active_admin/resource/scope_to.rb +7 -7
  246. data/lib/active_admin/resource/sidebars.rb +1 -0
  247. data/lib/active_admin/resource_collection.rb +44 -16
  248. data/lib/active_admin/resource_controller.rb +6 -5
  249. data/lib/active_admin/resource_controller/data_access.rb +87 -82
  250. data/lib/active_admin/resource_controller/decorators.rb +91 -9
  251. data/lib/active_admin/resource_controller/streaming.rb +37 -0
  252. data/lib/active_admin/resource_dsl.rb +54 -10
  253. data/lib/active_admin/router.rb +7 -7
  254. data/lib/active_admin/scope.rb +6 -6
  255. data/lib/active_admin/sidebar_section.rb +10 -2
  256. data/lib/active_admin/version.rb +1 -1
  257. data/lib/active_admin/view_factory.rb +17 -16
  258. data/lib/active_admin/view_helpers.rb +0 -1
  259. data/lib/active_admin/view_helpers/auto_link_helper.rb +23 -12
  260. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +13 -6
  261. data/lib/active_admin/view_helpers/display_helper.rb +30 -17
  262. data/lib/active_admin/view_helpers/download_format_links_helper.rb +21 -24
  263. data/lib/active_admin/view_helpers/fields_for.rb +2 -2
  264. data/lib/active_admin/view_helpers/flash_helper.rb +4 -3
  265. data/lib/active_admin/view_helpers/form_helper.rb +5 -9
  266. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +6 -6
  267. data/lib/active_admin/views/action_items.rb +2 -2
  268. data/lib/active_admin/views/components/action_list_popover.rb +1 -1
  269. data/lib/active_admin/views/components/active_admin_form.rb +123 -0
  270. data/lib/active_admin/views/components/attributes_table.rb +22 -13
  271. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  272. data/lib/active_admin/views/components/columns.rb +13 -7
  273. data/lib/active_admin/views/components/dropdown_menu.rb +6 -6
  274. data/lib/active_admin/views/components/index_list.rb +7 -7
  275. data/lib/active_admin/views/components/paginated_collection.rb +33 -17
  276. data/lib/active_admin/views/components/panel.rb +8 -2
  277. data/lib/active_admin/views/components/popover.rb +1 -1
  278. data/lib/active_admin/views/components/scopes.rb +1 -1
  279. data/lib/active_admin/views/components/sidebar_section.rb +3 -2
  280. data/lib/active_admin/views/components/site_title.rb +2 -2
  281. data/lib/active_admin/views/components/status_tag.rb +34 -11
  282. data/lib/active_admin/views/components/table_for.rb +67 -22
  283. data/lib/active_admin/views/components/tabs.rb +28 -0
  284. data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
  285. data/lib/active_admin/views/footer.rb +3 -3
  286. data/lib/active_admin/views/header.rb +3 -3
  287. data/lib/active_admin/views/index_as_blog.rb +6 -6
  288. data/lib/active_admin/views/index_as_grid.rb +2 -2
  289. data/lib/active_admin/views/index_as_table.rb +127 -40
  290. data/lib/active_admin/views/pages/base.rb +22 -18
  291. data/lib/active_admin/views/pages/form.rb +16 -6
  292. data/lib/active_admin/views/pages/index.rb +36 -20
  293. data/lib/active_admin/views/pages/layout.rb +1 -1
  294. data/lib/active_admin/views/pages/show.rb +4 -4
  295. data/lib/active_admin/views/tabbed_navigation.rb +7 -3
  296. data/lib/active_admin/views/title_bar.rb +10 -8
  297. data/lib/generators/active_admin/assets/assets_generator.rb +1 -3
  298. data/lib/generators/active_admin/devise/devise_generator.rb +20 -28
  299. data/lib/generators/active_admin/install/install_generator.rb +8 -9
  300. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -22
  301. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +12 -9
  302. data/lib/generators/active_admin/install/templates/dashboard.rb +4 -4
  303. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +3 -3
  304. data/lib/generators/active_admin/page/USAGE +8 -0
  305. data/lib/generators/active_admin/page/page_generator.rb +12 -0
  306. data/lib/generators/active_admin/page/templates/page.rb +5 -0
  307. data/lib/generators/active_admin/resource/resource_generator.rb +2 -4
  308. data/lib/generators/active_admin/resource/templates/admin.rb +15 -0
  309. data/lib/ransack_ext.rb +4 -4
  310. data/script/local +2 -2
  311. data/script/travis_cache +107 -0
  312. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
  313. data/spec/javascripts/fixtures/flashes.html +2 -0
  314. data/spec/rails_helper.rb +154 -0
  315. data/spec/{integration → requests}/default_namespace_spec.rb +6 -6
  316. data/spec/{integration → requests}/javascript_spec.rb +5 -5
  317. data/spec/requests/memory_spec.rb +23 -0
  318. data/spec/requests/stylesheets_spec.rb +18 -0
  319. data/spec/spec_helper.rb +12 -170
  320. data/spec/support/detect_rails_version.rb +31 -39
  321. data/spec/support/rails_template.rb +61 -34
  322. data/spec/support/rails_template_with_data.rb +14 -14
  323. data/spec/support/templates/admin/stores.rb +3 -5
  324. data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
  325. data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
  326. data/spec/support/templates/policies/admin_user_policy.rb +11 -0
  327. data/spec/support/templates/policies/application_policy.rb +45 -0
  328. data/spec/support/templates/policies/category_policy.rb +7 -0
  329. data/spec/support/templates/policies/post_policy.rb +15 -0
  330. data/spec/support/templates/policies/store_policy.rb +11 -0
  331. data/spec/support/templates/policies/user_policy.rb +11 -0
  332. data/spec/support/templates/post_decorator.rb +4 -46
  333. data/spec/unit/abstract_view_factory_spec.rb +11 -11
  334. data/spec/unit/action_builder_spec.rb +24 -18
  335. data/spec/unit/active_admin_spec.rb +2 -2
  336. data/spec/unit/application_spec.rb +30 -31
  337. data/spec/unit/asset_registration_spec.rb +11 -11
  338. data/spec/unit/authorization/authorization_adapter_spec.rb +7 -7
  339. data/spec/unit/authorization/controller_authorization_spec.rb +11 -11
  340. data/spec/unit/authorization/index_overriding_spec.rb +22 -0
  341. data/spec/unit/auto_link_spec.rb +42 -5
  342. data/spec/unit/batch_actions/resource_spec.rb +15 -14
  343. data/spec/unit/batch_actions/settings_spec.rb +18 -18
  344. data/spec/unit/belongs_to_spec.rb +26 -17
  345. data/spec/unit/cancan_adapter_spec.rb +4 -4
  346. data/spec/unit/comments_spec.rb +99 -39
  347. data/spec/unit/component_spec.rb +3 -3
  348. data/spec/unit/config_shared_examples.rb +8 -8
  349. data/spec/unit/controller_filters_spec.rb +26 -14
  350. data/spec/unit/csv_builder_spec.rb +152 -24
  351. data/spec/unit/dependency_spec.rb +135 -0
  352. data/spec/unit/devise_spec.rb +17 -37
  353. data/spec/unit/dsl_spec.rb +70 -9
  354. data/spec/unit/event_spec.rb +9 -9
  355. data/spec/unit/filters/filter_form_builder_spec.rb +167 -157
  356. data/spec/unit/filters/resource_spec.rb +35 -33
  357. data/spec/unit/form_builder_spec.rb +383 -145
  358. data/spec/unit/generators/install_spec.rb +5 -5
  359. data/spec/unit/helpers/collection_spec.rb +18 -18
  360. data/spec/unit/helpers/scope_chain_spec.rb +5 -5
  361. data/spec/unit/helpers/settings_spec.rb +4 -4
  362. data/spec/unit/i18n_spec.rb +12 -0
  363. data/spec/unit/menu_collection_spec.rb +14 -14
  364. data/spec/unit/menu_item_spec.rb +42 -42
  365. data/spec/unit/menu_spec.rb +20 -20
  366. data/spec/unit/namespace/authorization_spec.rb +5 -5
  367. data/spec/unit/namespace/register_page_spec.rb +9 -9
  368. data/spec/unit/namespace/register_resource_spec.rb +26 -28
  369. data/spec/unit/namespace_spec.rb +20 -20
  370. data/spec/unit/order_clause_spec.rb +81 -0
  371. data/spec/unit/page_controller_spec.rb +1 -1
  372. data/spec/unit/page_spec.rb +18 -12
  373. data/spec/unit/pretty_format_spec.rb +42 -14
  374. data/spec/unit/pundit_adapter_spec.rb +98 -0
  375. data/spec/unit/resource/action_items_spec.rb +13 -10
  376. data/spec/unit/resource/includes_spec.rb +21 -0
  377. data/spec/unit/resource/menu_spec.rb +1 -1
  378. data/spec/unit/resource/naming_spec.rb +23 -23
  379. data/spec/unit/resource/page_presenters_spec.rb +8 -8
  380. data/spec/unit/resource/pagination_spec.rb +6 -6
  381. data/spec/unit/resource/routes_spec.rb +10 -10
  382. data/spec/unit/resource/scopes_spec.rb +14 -7
  383. data/spec/unit/resource/sidebars_spec.rb +6 -6
  384. data/spec/unit/resource_collection_spec.rb +66 -68
  385. data/spec/unit/resource_controller/data_access_spec.rb +39 -21
  386. data/spec/unit/resource_controller/decorators_spec.rb +83 -0
  387. data/spec/unit/resource_controller/sidebars_spec.rb +7 -8
  388. data/spec/unit/resource_controller_spec.rb +66 -62
  389. data/spec/unit/resource_registration_spec.rb +12 -12
  390. data/spec/unit/resource_spec.rb +75 -40
  391. data/spec/unit/routing_spec.rb +39 -31
  392. data/spec/unit/scope_spec.rb +112 -30
  393. data/spec/unit/settings_spec.rb +51 -21
  394. data/spec/unit/view_factory_spec.rb +2 -2
  395. data/spec/unit/view_helpers/breadcrumbs_spec.rb +137 -69
  396. data/spec/unit/view_helpers/display_name_spec.rb +49 -21
  397. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +5 -5
  398. data/spec/unit/view_helpers/fields_for_spec.rb +18 -18
  399. data/spec/unit/view_helpers/flash_helper_spec.rb +25 -0
  400. data/spec/unit/view_helpers/form_helper_spec.rb +9 -22
  401. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +59 -21
  402. data/spec/unit/views/components/action_list_popover_spec.rb +16 -6
  403. data/spec/unit/views/components/attributes_table_spec.rb +94 -52
  404. data/spec/unit/views/components/batch_action_popover_spec.rb +20 -6
  405. data/spec/unit/views/components/blank_slate_spec.rb +14 -4
  406. data/spec/unit/views/components/columns_spec.rb +52 -22
  407. data/spec/unit/views/components/index_list_spec.rb +11 -8
  408. data/spec/unit/views/components/index_table_for_spec.rb +46 -0
  409. data/spec/unit/views/components/paginated_collection_spec.rb +68 -59
  410. data/spec/unit/views/components/panel_spec.rb +32 -21
  411. data/spec/unit/views/components/popover_spec.rb +7 -7
  412. data/spec/unit/views/components/sidebar_section_spec.rb +18 -8
  413. data/spec/unit/views/components/site_title_spec.rb +8 -8
  414. data/spec/unit/views/components/status_tag_spec.rb +178 -38
  415. data/spec/unit/views/components/table_for_spec.rb +227 -44
  416. data/spec/unit/views/components/tabs_spec.rb +39 -0
  417. data/spec/unit/views/components/unsupported_browser_spec.rb +47 -0
  418. data/spec/unit/views/pages/form_spec.rb +17 -10
  419. data/spec/unit/views/pages/index_spec.rb +60 -0
  420. data/spec/unit/views/pages/layout_spec.rb +17 -21
  421. data/spec/unit/views/pages/show_spec.rb +16 -3
  422. data/spec/unit/views/tabbed_navigation_spec.rb +61 -52
  423. data/tasks/docs.rake +1 -1
  424. data/tasks/parallel_tests.rake +8 -2
  425. data/tasks/test.rake +8 -4
  426. data/tasks/yard.rake +7 -5
  427. metadata +180 -101
  428. data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
  429. data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
  430. data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  431. data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
  432. data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  433. data/app/assets/images/active_admin/index_list_icons/block_icon.svg +0 -10
  434. data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +0 -4
  435. data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +0 -13
  436. data/app/assets/images/active_admin/index_list_icons/table_icon.svg +0 -3
  437. data/app/assets/images/active_admin/loading.gif +0 -0
  438. data/app/assets/javascripts/active_admin/components/application.js.coffee +0 -23
  439. data/app/assets/javascripts/active_admin/components/batch_actions.js.coffee +0 -26
  440. data/app/assets/javascripts/active_admin/components/has_many.js.coffee +0 -41
  441. data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +0 -11
  442. data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +0 -39
  443. data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +0 -95
  444. data/app/views/active_admin/dashboard/index.html.arb +0 -1
  445. data/app/views/active_admin/resource/index.csv.erb +0 -17
  446. data/docs/3-index-pages/create-an-index.md +0 -29
  447. data/lib/active_admin/inputs/filter_base.rb +0 -33
  448. data/lib/active_admin/inputs/filter_base/search_method_select.rb +0 -73
  449. data/lib/active_admin/inputs/filter_boolean_input.rb +0 -32
  450. data/lib/active_admin/inputs/filter_check_boxes_input.rb +0 -51
  451. data/lib/active_admin/inputs/filter_date_range_input.rb +0 -34
  452. data/lib/active_admin/inputs/filter_numeric_input.rb +0 -10
  453. data/lib/active_admin/inputs/filter_select_input.rb +0 -61
  454. data/lib/active_admin/inputs/filter_string_input.rb +0 -24
  455. data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +0 -7
  456. data/spec/integration/memory_spec.rb +0 -29
  457. data/spec/integration/stylesheets_spec.rb +0 -41
  458. data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +0 -60
  459. data/spec/javascripts/compiled/jquery.aa.popover-spec.js +0 -106
  460. data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +0 -37
  461. data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +0 -108
  462. data/spec/javascripts/helpers/vendor/jasmine-jquery.js +0 -288
  463. data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +0 -2915
  464. data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +0 -34
  465. data/spec/javascripts/support/jquery.min.js +0 -4
  466. data/spec/spec_helper_without_rails.rb +0 -16
  467. data/tasks/js.rake +0 -32
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe "Batch Actions Settings" do
4
4
  let(:app) { ActiveAdmin::Application.new }
@@ -8,54 +8,54 @@ describe "Batch Actions Settings" do
8
8
  it "should be disabled globally by default" do
9
9
  # Note: the default initializer would set it to true
10
10
 
11
- app.batch_actions.should be_false
12
- ns.batch_actions.should be_false
13
- post_resource.batch_actions_enabled?.should be_false
11
+ expect(app.batch_actions).to be_falsey
12
+ expect(ns.batch_actions).to be_falsey
13
+ expect(post_resource.batch_actions_enabled?).to be_falsey
14
14
  end
15
15
 
16
16
  it "should be settable to true" do
17
17
  app.batch_actions = true
18
- app.batch_actions.should == true
18
+ expect(app.batch_actions).to be_truthy
19
19
  end
20
20
 
21
21
  it "should be an inheritable_setting" do
22
22
  app.batch_actions = true
23
- ns.batch_actions.should == true
23
+ expect(ns.batch_actions).to be_truthy
24
24
  end
25
25
 
26
26
  it "should be settable at the namespace level" do
27
27
  app.batch_actions = true
28
28
  ns.batch_actions = false
29
29
 
30
- app.batch_actions.should == true
31
- ns.batch_actions.should == false
30
+ expect(app.batch_actions).to be_truthy
31
+ expect(ns.batch_actions).to be_falsey
32
32
  end
33
33
 
34
34
  it "should be settable at the resource level" do
35
- post_resource.batch_actions_enabled?.should == false
35
+ expect(post_resource.batch_actions_enabled?).to be_falsey
36
36
  post_resource.batch_actions = true
37
- post_resource.batch_actions_enabled?.should == true
37
+ expect(post_resource.batch_actions_enabled?).to be_truthy
38
38
  end
39
39
 
40
40
  it "should inherit the setting on the resource from the namespace" do
41
41
  ns.batch_actions = false
42
- post_resource.batch_actions_enabled?.should == false
43
- post_resource.batch_actions.should be_empty
42
+ expect(post_resource.batch_actions_enabled?).to be_falsey
43
+ expect(post_resource.batch_actions).to be_empty
44
44
 
45
45
  post_resource.batch_actions = true
46
- post_resource.batch_actions_enabled?.should == true
47
- post_resource.batch_actions.should_not be_empty
46
+ expect(post_resource.batch_actions_enabled?).to be_truthy
47
+ expect(post_resource.batch_actions).to_not be_empty
48
48
  end
49
49
 
50
50
  it "should inherit the setting from the namespace when set to nil" do
51
51
  ns.batch_actions = true
52
52
 
53
53
  post_resource.batch_actions = true
54
- post_resource.batch_actions_enabled?.should == true
55
- post_resource.batch_actions.should_not be_empty
54
+ expect(post_resource.batch_actions_enabled?).to be_truthy
55
+ expect(post_resource.batch_actions).to_not be_empty
56
56
 
57
57
  post_resource.batch_actions = nil
58
- post_resource.batch_actions_enabled?.should == true # inherited from namespace
59
- post_resource.batch_actions.should_not be_empty
58
+ expect(post_resource.batch_actions_enabled?).to be_truthy # inherited from namespace
59
+ expect(post_resource.batch_actions).to_not be_empty
60
60
  end
61
61
  end
@@ -1,32 +1,25 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe ActiveAdmin::Resource::BelongsTo do
4
4
 
5
-
6
- let(:application){ ActiveAdmin::Application.new }
7
- let(:namespace){ ActiveAdmin::Namespace.new(application, :admin) }
8
- let(:post){ namespace.register(Post) }
9
- let(:belongs_to){ ActiveAdmin::Resource::BelongsTo.new(post, :user) }
5
+ let(:user_config){ ActiveAdmin.register User }
6
+ let(:post_config){ ActiveAdmin.register Post do belongs_to :user end }
7
+ let(:belongs_to){ post_config.belongs_to_config }
10
8
 
11
9
  it "should have an owner" do
12
- belongs_to.owner.should == post
13
- end
14
-
15
- it "should have a namespace" do
16
- belongs_to.namespace.should == namespace
10
+ expect(belongs_to.owner).to eq post_config
17
11
  end
18
12
 
19
13
  describe "finding the target" do
20
14
  context "when the resource has been registered" do
21
- let(:user){ namespace.register(User) }
22
- before { user } # Ensure user is registered
23
-
24
15
  it "should return the target resource" do
25
- belongs_to.target.should == user
16
+ expect(belongs_to.target).to eq user_config
26
17
  end
27
18
  end
28
19
 
29
20
  context "when the resource has not been registered" do
21
+ let(:belongs_to){ ActiveAdmin::Resource::BelongsTo.new post_config, :missing }
22
+
30
23
  it "should raise a ActiveAdmin::BelongsTo::TargetNotFound" do
31
24
  expect {
32
25
  belongs_to.target
@@ -36,7 +29,23 @@ describe ActiveAdmin::Resource::BelongsTo do
36
29
  end
37
30
 
38
31
  it "should be optional" do
39
- belongs_to = ActiveAdmin::Resource::BelongsTo.new post, :user, :optional => true
40
- belongs_to.should be_optional
32
+ belongs_to = ActiveAdmin::Resource::BelongsTo.new post_config, :user, optional: true
33
+ expect(belongs_to).to be_optional
34
+ end
35
+
36
+ describe "controller" do
37
+ let(:controller) { post_config.controller.new }
38
+ before do
39
+ user = User.create!
40
+ request = double 'Request', format: 'application/json'
41
+ allow(controller).to receive(:params) { {user_id: user.id} }
42
+ allow(controller).to receive(:request){ request }
43
+ end
44
+ it 'should be able to access the collection' do
45
+ expect(controller.send :collection).to be_a ActiveRecord::Relation
46
+ end
47
+ it 'should be able to build a new resource' do
48
+ expect(controller.send :build_resource).to be_a Post
49
+ end
41
50
  end
42
51
  end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe ActiveAdmin::CanCanAdapter do
4
4
 
@@ -28,13 +28,13 @@ describe ActiveAdmin::CanCanAdapter do
28
28
  end
29
29
 
30
30
  it "should initialize the ability stored in the namespace configuration" do
31
- auth.authorized?(:read, Post).should == true
32
- auth.authorized?(:update, Post).should == false
31
+ expect(auth.authorized?(:read, Post)).to eq true
32
+ expect(auth.authorized?(:update, Post)).to eq false
33
33
  end
34
34
 
35
35
  it "should scope the collection with accessible_by" do
36
36
  collection = double
37
- collection.should_receive(:accessible_by).with(auth.cancan_ability, :edit)
37
+ expect(collection).to receive(:accessible_by).with(auth.cancan_ability, :edit)
38
38
  auth.scope_collection(collection, :edit)
39
39
  end
40
40
 
@@ -1,71 +1,132 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe "Comments" do
4
- let(:application){ ActiveAdmin::Application.new }
4
+ let(:application) { ActiveAdmin::Application.new }
5
5
 
6
6
  describe ActiveAdmin::Comment do
7
- subject { ActiveAdmin::Comment.new }
8
-
9
- describe "Associations and Validations" do
10
- it { should belong_to :resource }
11
- it { should belong_to :author }
12
- it { should validate_presence_of :resource }
13
- it { should validate_presence_of :body }
14
- it { should validate_presence_of :namespace }
7
+ subject(:comment){ ActiveAdmin::Comment.new }
8
+
9
+ it "has valid Associations and Validations" do
10
+ expect(comment).to belong_to :resource
11
+ expect(comment).to belong_to :author
12
+ expect(comment).to validate_presence_of :resource
13
+ expect(comment).to validate_presence_of :body
14
+ expect(comment).to validate_presence_of :namespace
15
15
  end
16
16
 
17
17
  describe ".find_for_resource_in_namespace" do
18
- let(:post){ Post.create!(:title => "Hello World") }
19
- let(:namespace_name){ "admin" }
18
+ let(:post) { Post.create!(title: "Hello World") }
19
+ let(:namespace_name) { "admin" }
20
20
 
21
21
  before do
22
- @comment = ActiveAdmin::Comment.create! :resource => post,
23
- :body => "A Comment",
24
- :namespace => namespace_name
22
+ @comment = ActiveAdmin::Comment.create! resource: post,
23
+ body: "A Comment",
24
+ namespace: namespace_name
25
25
  end
26
26
 
27
27
  it "should return a comment for the resource in the same namespace" do
28
- ActiveAdmin::Comment.find_for_resource_in_namespace(post, namespace_name).should == [@comment]
28
+ expect(ActiveAdmin::Comment.find_for_resource_in_namespace(post, namespace_name)).to eq [@comment]
29
29
  end
30
30
 
31
31
  it "should not return a comment for the same resource in a different namespace" do
32
- ActiveAdmin::Comment.find_for_resource_in_namespace(post, 'public').should == []
32
+ expect(ActiveAdmin::Comment.find_for_resource_in_namespace(post, 'public')).to eq []
33
33
  end
34
34
 
35
35
  it "should not return a comment for a different resource" do
36
- another_post = Post.create! :title => "Another Hello World"
37
- ActiveAdmin::Comment.find_for_resource_in_namespace(another_post, namespace_name).should == []
36
+ another_post = Post.create! title: "Another Hello World"
37
+ expect(ActiveAdmin::Comment.find_for_resource_in_namespace(another_post, namespace_name)).to eq []
38
+ end
39
+
40
+ it "should return the most recent comment first" do
41
+ ActiveAdmin::Comment.class_eval { attr_accessible :created_at } if Rails::VERSION::MAJOR == 3
42
+ another_comment = ActiveAdmin::Comment.create! resource: post,
43
+ body: "Another Comment",
44
+ namespace: namespace_name,
45
+ created_at: @comment.created_at + 20.minutes
46
+
47
+ yet_another_comment = ActiveAdmin::Comment.create! resource: post,
48
+ body: "Yet Another Comment",
49
+ namespace: namespace_name,
50
+ created_at: @comment.created_at + 10.minutes
51
+
52
+ comments = ActiveAdmin::Comment.find_for_resource_in_namespace(post, namespace_name)
53
+ expect(comments.size).to eq 3
54
+ expect(comments.first).to eq(@comment)
55
+ expect(comments.second).to eq(yet_another_comment)
56
+ expect(comments.last).to eq(another_comment)
38
57
  end
39
58
  end
40
59
 
41
60
  describe ".resource_id_cast" do
42
- let(:post) { Post.create!(:title => "Testing.") }
61
+ let(:post) { Post.create!(title: "Testing.") }
43
62
  let(:namespace_name) { "admin" }
44
63
 
45
64
  it "should cast resource_id as string" do
46
- comment = ActiveAdmin::Comment.create! :resource => post,
47
- :body => "Another Comment",
48
- :namespace => namespace_name
49
- ActiveAdmin::Comment.resource_id_cast(comment).class.should eql String
65
+ comment = ActiveAdmin::Comment.create! resource: post,
66
+ body: "Another Comment",
67
+ namespace: namespace_name
68
+ expect(ActiveAdmin::Comment.resource_id_cast(comment).class).to eql String
69
+ end
70
+ end
71
+
72
+ describe ".resource_type" do
73
+ let(:post) { Post.create!(title: "Testing.") }
74
+ let(:post_decorator) { double 'PostDecorator' }
75
+
76
+ before do
77
+ allow(post_decorator).to receive(:model).and_return(post)
78
+ allow(post_decorator).to receive(:decorated?).and_return(true)
79
+ end
80
+
81
+ context "when a decorated object is passed" do
82
+ let(:resource) { post_decorator }
83
+
84
+ it "returns undeorated object class string" do
85
+ expect(ActiveAdmin::Comment.resource_type resource).to eql 'Post'
86
+ end
87
+ end
88
+
89
+ context "when an undecorated object is passed" do
90
+ let(:resource) { post }
91
+
92
+ it "returns object class string" do
93
+ expect(ActiveAdmin::Comment.resource_type resource).to eql 'Post'
94
+ end
50
95
  end
51
96
  end
52
97
 
53
98
  describe ".resource_id_type" do
54
99
  it "should be :string" do
55
- ActiveAdmin::Comment.resource_id_type.should eql :string
100
+ expect(ActiveAdmin::Comment.resource_id_type).to eql :string
56
101
  end
57
102
  end
58
103
 
59
104
  describe "Commenting on resource with string id" do
60
- let(:tag){ Tag.create!(:name => "cooltags") }
61
- let(:namespace_name){ "admin" }
105
+ let(:tag) { Tag.create!(name: "cooltags") }
106
+ let(:namespace_name) { "admin" }
62
107
 
63
108
  it "should allow commenting" do
64
- comment = ActiveAdmin::Comment.create! :resource => tag,
65
- :body => "Another Comment",
66
- :namespace => namespace_name
109
+ comment = ActiveAdmin::Comment.create!(
110
+ resource: tag,
111
+ body: "Another Comment",
112
+ namespace: namespace_name)
67
113
 
68
- ActiveAdmin::Comment.find_for_resource_in_namespace(tag, namespace_name).should == [comment]
114
+ expect(ActiveAdmin::Comment.find_for_resource_in_namespace(tag, namespace_name)).to eq [comment]
115
+ end
116
+ end
117
+
118
+ describe "commenting on child of STI resource" do
119
+ let(:publisher) { Publisher.create!(username: "tenderlove") }
120
+ let(:namespace_name) { "admin" }
121
+
122
+ it "should assign child class as commented resource" do
123
+ comment = ActiveAdmin::Comment.create!(
124
+ resource: publisher,
125
+ body: "Lorem Ipsum",
126
+ namespace: namespace_name)
127
+
128
+ expect(ActiveAdmin::Comment.find_for_resource_in_namespace(publisher, namespace_name).last.resource_type).
129
+ to eq("User")
69
130
  end
70
131
  end
71
132
  end
@@ -75,16 +136,15 @@ describe "Comments" do
75
136
 
76
137
  it "should have comments when the namespace allows comments" do
77
138
  ns = ActiveAdmin::Namespace.new(application, :admin)
78
- ns.allow_comments = true
79
- ns.comments?.should be_true
139
+ ns.comments = true
140
+ expect(ns.comments?).to be_truthy
80
141
  end
81
142
 
82
143
  it "should not have comments when the namespace does not allow comments" do
83
144
  ns = ActiveAdmin::Namespace.new(application, :admin)
84
- ns.allow_comments = false
85
- ns.comments?.should be_false
145
+ ns.comments = false
146
+ expect(ns.comments?).to be_falsey
86
147
  end
87
-
88
148
  end
89
149
  end
90
150
 
@@ -92,15 +152,15 @@ describe "Comments" do
92
152
  it "should add an attr_accessor :comments to ActiveAdmin::Resource" do
93
153
  ns = ActiveAdmin::Namespace.new(application, :admin)
94
154
  resource = ActiveAdmin::Resource.new(ns, Post)
95
- resource.comments.should be_nil
155
+ expect(resource.comments).to be_nil
96
156
  resource.comments = true
97
- resource.comments.should be_true
157
+ expect(resource.comments).to be_truthy
98
158
  end
99
159
  it "should disable comments if set to false" do
100
160
  ns = ActiveAdmin::Namespace.new(application, :admin)
101
161
  resource = ActiveAdmin::Resource.new(ns, Post)
102
162
  resource.comments = false
103
- resource.comments?.should be_false
163
+ expect(resource.comments?).to be_falsey
104
164
  end
105
165
  end
106
166
  end
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  class MockComponentClass < ActiveAdmin::Component; end
4
4
 
@@ -8,11 +8,11 @@ describe ActiveAdmin::Component do
8
8
  let(:component){ component_class.new }
9
9
 
10
10
  it "should be a subclass of an html div" do
11
- ActiveAdmin::Component.ancestors.should include(Arbre::HTML::Div)
11
+ expect(ActiveAdmin::Component.ancestors).to include(Arbre::HTML::Div)
12
12
  end
13
13
 
14
14
  it "should render to a div, even as a subclass" do
15
- component.tag_name.should == 'div'
15
+ expect(component.tag_name).to eq 'div'
16
16
  end
17
17
 
18
18
  end
@@ -1,13 +1,13 @@
1
- shared_examples_for "ActiveAdmin::Config" do
1
+ shared_examples_for "ActiveAdmin::Resource" do
2
2
  describe "namespace" do
3
3
  it "should return the namespace" do
4
- config.namespace.should == namespace
4
+ expect(config.namespace).to eq(namespace)
5
5
  end
6
6
  end
7
7
 
8
8
  describe "page_presenters" do
9
9
  it "should return an empty hash by default" do
10
- config.page_presenters.should == {}
10
+ expect(config.page_presenters).to eq({})
11
11
  end
12
12
  end
13
13
 
@@ -34,24 +34,24 @@ shared_examples_for "ActiveAdmin::Config" do
34
34
  describe "#menu_item_options" do
35
35
 
36
36
  it "initializes a new menu item with defaults" do
37
- config.menu_item_options[:label].call.should == config.plural_resource_label
37
+ expect(config.menu_item_options[:label].call).to eq(config.plural_resource_label)
38
38
  end
39
39
 
40
40
  it "initialize a new menu item with custom options" do
41
- config.menu_item_options = { :label => "Hello" }
42
- config.menu_item_options[:label].should == "Hello"
41
+ config.menu_item_options = { label: "Hello" }
42
+ expect(config.menu_item_options[:label]).to eq("Hello")
43
43
  end
44
44
 
45
45
  end
46
46
 
47
47
  describe "#include_in_menu?" do
48
48
  it "should be included in menu by default" do
49
- config.include_in_menu?.should == true
49
+ expect(config.include_in_menu?).to eq(true)
50
50
  end
51
51
 
52
52
  it "should not be included in menu when menu set to false" do
53
53
  config.menu_item_options = false
54
- config.include_in_menu?.should == false
54
+ expect(config.include_in_menu?).to eq(false)
55
55
  end
56
56
  end
57
57
 
@@ -1,32 +1,44 @@
1
- require 'spec_helper'
1
+ require 'rails_helper'
2
2
 
3
3
  describe ActiveAdmin::Application do
4
4
  let(:application){ ActiveAdmin::Application.new }
5
- let(:controllers){ [ActiveAdmin::BaseController, ActiveAdmin::Devise::SessionsController,
6
- ActiveAdmin::Devise::UnlocksController, ActiveAdmin::Devise::PasswordsController] }
5
+ let(:controllers){ application.controllers_for_filters }
6
+
7
+ it 'controllers_for_filters' do
8
+ expect(application.controllers_for_filters).to eq [
9
+ ActiveAdmin::BaseController, ActiveAdmin::Devise::SessionsController,
10
+ ActiveAdmin::Devise::PasswordsController, ActiveAdmin::Devise::UnlocksController,
11
+ ActiveAdmin::Devise::RegistrationsController, ActiveAdmin::Devise::ConfirmationsController
12
+ ]
13
+ end
7
14
 
8
15
  it 'before_filter' do
9
- controllers.each{ |c| c.should_receive(:before_filter).and_return(true) }
10
- application.before_filter :my_filter, :only => :show
16
+ controllers.each{ |c| expect(c).to receive(:before_filter).and_return(true) }
17
+ application.before_filter :my_filter, only: :show
11
18
  end
12
19
 
13
20
  it 'skip_before_filter' do
14
- controllers.each{ |c| c.should_receive(:skip_before_filter).and_return(true) }
15
- application.skip_before_filter :my_filter, :only => :show
21
+ controllers.each{ |c| expect(c).to receive(:skip_before_filter).and_return(true) }
22
+ application.skip_before_filter :my_filter, only: :show
16
23
  end
17
24
 
18
25
  it 'after_filter' do
19
- controllers.each{ |c| c.should_receive(:after_filter).and_return(true) }
20
- application.after_filter :my_filter, :only => :show
26
+ controllers.each{ |c| expect(c).to receive(:after_filter).and_return(true) }
27
+ application.after_filter :my_filter, only: :show
28
+ end
29
+
30
+ it 'skip after_filter' do
31
+ controllers.each{ |c| expect(c).to receive(:skip_after_filter).and_return(true) }
32
+ application.skip_after_filter :my_filter, only: :show
21
33
  end
22
34
 
23
35
  it 'around_filter' do
24
- controllers.each{ |c| c.should_receive(:around_filter).and_return(true) }
25
- application.around_filter :my_filter, :only => :show
36
+ controllers.each{ |c| expect(c).to receive(:around_filter).and_return(true) }
37
+ application.around_filter :my_filter, only: :show
26
38
  end
27
-
39
+
28
40
  it 'skip_filter' do
29
- controllers.each{ |c| c.should_receive(:skip_filter).and_return(true) }
30
- application.skip_filter :my_filter, :only => :show
41
+ controllers.each{ |c| expect(c).to receive(:skip_filter).and_return(true) }
42
+ application.skip_filter :my_filter, only: :show
31
43
  end
32
44
  end