activeadmin 1.0.0.pre4 → 2.4.0

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

Potentially problematic release.


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

Files changed (542) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +529 -52
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +129 -58
  5. data/README.md +80 -79
  6. data/app/assets/javascripts/active_admin/base.es6 +23 -0
  7. data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
  8. data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
  9. data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
  10. data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
  11. data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
  12. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
  13. data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +59 -0
  14. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
  15. data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
  16. data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
  17. data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
  18. data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
  19. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
  20. data/app/assets/stylesheets/active_admin/_base.scss +2 -2
  21. data/app/assets/stylesheets/active_admin/_forms.scss +19 -26
  22. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  24. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  25. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  26. data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
  27. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  28. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
  29. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  30. data/app/assets/stylesheets/active_admin/print.scss +2 -3
  31. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  32. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  33. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  34. data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
  35. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  36. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  37. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  38. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  39. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  40. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  41. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  42. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  43. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  44. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  45. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  46. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  47. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  48. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  49. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  50. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  51. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  52. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  53. data/config/locales/ar.yml +4 -5
  54. data/config/locales/bg.yml +1 -3
  55. data/config/locales/bs.yml +1 -2
  56. data/config/locales/ca.yml +2 -4
  57. data/config/locales/cs.yml +1 -2
  58. data/config/locales/da.yml +45 -14
  59. data/config/locales/de-CH.yml +2 -3
  60. data/config/locales/de.yml +30 -3
  61. data/config/locales/el.yml +3 -4
  62. data/config/locales/en-CA.yml +139 -0
  63. data/config/locales/en-GB.yml +44 -3
  64. data/config/locales/en.yml +31 -5
  65. data/config/locales/eo.yml +145 -0
  66. data/config/locales/es-MX.yml +5 -3
  67. data/config/locales/es.yml +32 -6
  68. data/config/locales/fa.yml +1 -2
  69. data/config/locales/fi.yml +2 -3
  70. data/config/locales/fr.yml +27 -5
  71. data/config/locales/he.yml +53 -7
  72. data/config/locales/hr.yml +1 -2
  73. data/config/locales/hu.yml +5 -2
  74. data/config/locales/id.yml +2 -3
  75. data/config/locales/it.yml +15 -7
  76. data/config/locales/ja.yml +8 -3
  77. data/config/locales/ko.yml +1 -2
  78. data/config/locales/lt.yml +27 -6
  79. data/config/locales/lv.yml +1 -2
  80. data/config/locales/mk.yml +134 -0
  81. data/config/locales/nb.yml +16 -7
  82. data/config/locales/nl.yml +13 -3
  83. data/config/locales/pl.yml +75 -5
  84. data/config/locales/pt-BR.yml +10 -3
  85. data/config/locales/pt-PT.yml +1 -2
  86. data/config/locales/ro.yml +1 -2
  87. data/config/locales/ru.yml +5 -3
  88. data/config/locales/sk.yml +168 -0
  89. data/config/locales/sv-SE.yml +4 -3
  90. data/config/locales/tr.yml +10 -2
  91. data/config/locales/uk.yml +4 -3
  92. data/config/locales/vi.yml +48 -8
  93. data/config/locales/zh-CN.yml +38 -7
  94. data/config/locales/zh-TW.yml +2 -3
  95. data/docs/.gitignore +1 -0
  96. data/docs/0-installation.md +19 -13
  97. data/docs/1-general-configuration.md +37 -4
  98. data/docs/10-custom-pages.md +47 -3
  99. data/docs/11-decorators.md +4 -0
  100. data/docs/12-arbre-components.md +73 -9
  101. data/docs/13-authorization-adapter.md +72 -35
  102. data/docs/14-gotchas.md +57 -19
  103. data/docs/2-resource-customization.md +64 -20
  104. data/docs/3-index-pages/custom-index.md +5 -1
  105. data/docs/3-index-pages/index-as-block.md +3 -5
  106. data/docs/3-index-pages/index-as-blog.md +4 -6
  107. data/docs/3-index-pages/index-as-grid.md +3 -5
  108. data/docs/3-index-pages/index-as-table.md +33 -12
  109. data/docs/3-index-pages.md +65 -9
  110. data/docs/4-csv-format.md +16 -0
  111. data/docs/5-forms.md +78 -17
  112. data/docs/6-show-pages.md +5 -29
  113. data/docs/7-sidebars.md +5 -1
  114. data/docs/8-custom-actions.md +18 -1
  115. data/docs/9-batch-actions.md +8 -4
  116. data/docs/CNAME +1 -0
  117. data/docs/Gemfile +3 -0
  118. data/docs/Gemfile.lock +248 -0
  119. data/docs/_config.yml +4 -0
  120. data/docs/_includes/footer.html +8 -0
  121. data/docs/_includes/google-analytics.html +16 -0
  122. data/docs/_includes/head.html +7 -0
  123. data/docs/_includes/toc.html +98 -0
  124. data/docs/_includes/top-menu.html +17 -0
  125. data/docs/_layouts/default.html +21 -0
  126. data/docs/documentation.md +60 -0
  127. data/docs/images/activeadmin.png +0 -0
  128. data/docs/images/code-header.png +0 -0
  129. data/docs/images/divider.png +0 -0
  130. data/docs/images/features.png +0 -0
  131. data/docs/images/tidelift.svg +14 -0
  132. data/docs/index.html +226 -0
  133. data/docs/stylesheets/main.css +1205 -0
  134. data/lib/active_admin/abstract_view_factory.rb +13 -51
  135. data/lib/active_admin/application.rb +50 -140
  136. data/lib/active_admin/application_settings.rb +42 -0
  137. data/lib/active_admin/authorization_adapter.rb +0 -3
  138. data/lib/active_admin/base_controller/authorization.rb +4 -7
  139. data/lib/active_admin/base_controller/menu.rb +10 -14
  140. data/lib/active_admin/base_controller.rb +8 -14
  141. data/lib/active_admin/batch_actions/controller.rb +3 -3
  142. data/lib/active_admin/batch_actions/resource_extension.rb +9 -13
  143. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -1
  144. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -1
  145. data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
  146. data/lib/active_admin/callbacks.rb +1 -1
  147. data/lib/active_admin/controller_action.rb +2 -1
  148. data/lib/active_admin/csv_builder.rb +15 -12
  149. data/lib/active_admin/dependency.rb +8 -76
  150. data/lib/active_admin/deprecation.rb +0 -25
  151. data/lib/active_admin/devise.rb +3 -3
  152. data/lib/active_admin/dsl.rb +3 -16
  153. data/lib/active_admin/dynamic_setting.rb +38 -0
  154. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  155. data/lib/active_admin/engine.rb +5 -0
  156. data/lib/active_admin/error.rb +5 -3
  157. data/lib/active_admin/filters/active.rb +13 -14
  158. data/lib/active_admin/filters/active_filter.rb +124 -0
  159. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  160. data/lib/active_admin/filters/forms.rb +6 -4
  161. data/lib/active_admin/filters/formtastic_addons.rb +2 -2
  162. data/lib/active_admin/filters/resource_extension.rb +28 -43
  163. data/lib/active_admin/filters.rb +2 -0
  164. data/lib/active_admin/form_builder.rb +100 -59
  165. data/lib/active_admin/generators/boilerplate.rb +12 -4
  166. data/lib/active_admin/helpers/collection.rb +2 -0
  167. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  168. data/lib/active_admin/inputs/datepicker_input.rb +12 -5
  169. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  170. data/lib/active_admin/inputs/filters/date_range_input.rb +21 -8
  171. data/lib/active_admin/inputs/filters/select_input.rb +6 -3
  172. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  173. data/lib/active_admin/inputs.rb +1 -0
  174. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  175. data/lib/active_admin/localizers.rb +11 -0
  176. data/lib/active_admin/menu.rb +6 -12
  177. data/lib/active_admin/menu_collection.rb +0 -2
  178. data/lib/active_admin/menu_item.rb +4 -32
  179. data/lib/active_admin/namespace.rb +36 -17
  180. data/lib/active_admin/namespace_settings.rb +123 -0
  181. data/lib/active_admin/order_clause.rb +30 -8
  182. data/lib/active_admin/orm/active_record/comments/comment.rb +3 -17
  183. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +19 -7
  184. data/lib/active_admin/orm/active_record/comments.rb +17 -11
  185. data/lib/active_admin/page.rb +23 -4
  186. data/lib/active_admin/page_controller.rb +2 -6
  187. data/lib/active_admin/page_dsl.rb +5 -1
  188. data/lib/active_admin/page_presenter.rb +2 -1
  189. data/lib/active_admin/pundit_adapter.rb +18 -5
  190. data/lib/active_admin/resource/action_items.rb +17 -5
  191. data/lib/active_admin/resource/attributes.rb +47 -0
  192. data/lib/active_admin/resource/belongs_to.rb +10 -1
  193. data/lib/active_admin/resource/menu.rb +7 -4
  194. data/lib/active_admin/resource/model.rb +15 -0
  195. data/lib/active_admin/resource/naming.rb +3 -3
  196. data/lib/active_admin/resource/ordering.rb +11 -0
  197. data/lib/active_admin/resource/page_presenters.rb +1 -1
  198. data/lib/active_admin/resource/routes.rb +52 -20
  199. data/lib/active_admin/resource/scopes.rb +5 -3
  200. data/lib/active_admin/resource/sidebars.rb +1 -1
  201. data/lib/active_admin/resource.rb +59 -7
  202. data/lib/active_admin/resource_collection.rb +2 -2
  203. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  204. data/lib/active_admin/resource_controller/data_access.rb +32 -27
  205. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  206. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  207. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  208. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  209. data/lib/active_admin/resource_controller.rb +15 -0
  210. data/lib/active_admin/resource_dsl.rb +58 -24
  211. data/lib/active_admin/router.rb +90 -82
  212. data/lib/active_admin/scope.rb +20 -12
  213. data/lib/active_admin/settings_node.rb +19 -0
  214. data/lib/active_admin/sidebar_section.rb +3 -1
  215. data/lib/active_admin/version.rb +1 -1
  216. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
  217. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  218. data/lib/active_admin/view_helpers/display_helper.rb +28 -16
  219. data/lib/active_admin/view_helpers/download_format_links_helper.rb +13 -0
  220. data/lib/active_admin/view_helpers/fields_for.rb +1 -2
  221. data/lib/active_admin/view_helpers/form_helper.rb +2 -2
  222. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +8 -1
  223. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  224. data/lib/active_admin/view_helpers.rb +2 -1
  225. data/lib/active_admin/views/action_items.rb +1 -1
  226. data/lib/active_admin/views/components/active_admin_form.rb +43 -11
  227. data/lib/active_admin/views/components/attributes_table.rb +4 -4
  228. data/lib/active_admin/views/components/columns.rb +3 -3
  229. data/lib/active_admin/views/components/dropdown_menu.rb +4 -4
  230. data/lib/active_admin/views/components/index_list.rb +4 -3
  231. data/lib/active_admin/views/components/menu.rb +32 -0
  232. data/lib/active_admin/views/components/menu_item.rb +58 -0
  233. data/lib/active_admin/views/components/paginated_collection.rb +7 -11
  234. data/lib/active_admin/views/components/scopes.rb +14 -8
  235. data/lib/active_admin/views/components/sidebar.rb +13 -0
  236. data/lib/active_admin/views/components/site_title.rb +5 -6
  237. data/lib/active_admin/views/components/status_tag.rb +11 -16
  238. data/lib/active_admin/views/components/table_for.rb +7 -16
  239. data/lib/active_admin/views/components/tabs.rb +15 -3
  240. data/lib/active_admin/views/footer.rb +14 -4
  241. data/lib/active_admin/views/header.rb +3 -16
  242. data/lib/active_admin/views/index_as_blog.rb +2 -3
  243. data/lib/active_admin/views/index_as_grid.rb +25 -25
  244. data/lib/active_admin/views/index_as_table.rb +39 -13
  245. data/lib/active_admin/views/pages/base.rb +36 -57
  246. data/lib/active_admin/views/pages/form.rb +2 -3
  247. data/lib/active_admin/views/pages/layout.rb +1 -1
  248. data/lib/active_admin/views/pages/show.rb +8 -2
  249. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  250. data/lib/active_admin/views/title_bar.rb +4 -4
  251. data/lib/active_admin/views.rb +1 -1
  252. data/lib/active_admin.rb +11 -7
  253. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  254. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  255. data/lib/generators/active_admin/devise/devise_generator.rb +8 -5
  256. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  257. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +60 -4
  258. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
  259. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  260. data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
  261. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  262. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  263. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  264. data/lib/ransack_ext.rb +5 -5
  265. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  266. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  267. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  268. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  269. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  270. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  271. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  272. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  273. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  274. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  275. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  276. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  277. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  278. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  279. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  280. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  281. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  282. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  283. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  284. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  285. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  286. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  287. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  288. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  289. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  290. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  291. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  292. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  293. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  294. metadata +190 -539
  295. data/.gitignore +0 -49
  296. data/.hound.yml +0 -14
  297. data/.travis.yml +0 -46
  298. data/.yardopts +0 -8
  299. data/Gemfile +0 -75
  300. data/Guardfile +0 -8
  301. data/Rakefile +0 -33
  302. data/activeadmin.gemspec +0 -31
  303. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  304. data/app/assets/javascripts/active_admin/base.js.coffee +0 -9
  305. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  306. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  307. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -7
  308. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -10
  309. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -15
  310. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -3
  311. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -11
  312. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  313. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
  314. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  315. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  316. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  317. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  318. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -31
  319. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  320. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  321. data/cucumber.yml +0 -3
  322. data/features/action_item.feature +0 -73
  323. data/features/authorization.feature +0 -64
  324. data/features/authorization_cancan.feature +0 -52
  325. data/features/authorization_pundit.feature +0 -37
  326. data/features/belongs_to.feature +0 -66
  327. data/features/breadcrumb.feature +0 -75
  328. data/features/comments/commenting.feature +0 -171
  329. data/features/comments/viewing_index.feature +0 -19
  330. data/features/dashboard.feature +0 -16
  331. data/features/decorators.feature +0 -43
  332. data/features/development_reloading.feature +0 -30
  333. data/features/edit_page.feature +0 -117
  334. data/features/favicon.feature +0 -20
  335. data/features/first_boot.feature +0 -16
  336. data/features/global_navigation.feature +0 -29
  337. data/features/i18n.feature +0 -43
  338. data/features/index/batch_actions.feature +0 -196
  339. data/features/index/filters.feature +0 -161
  340. data/features/index/format_as_csv.feature +0 -203
  341. data/features/index/formats.feature +0 -66
  342. data/features/index/index_as_block.feature +0 -15
  343. data/features/index/index_as_blog.feature +0 -69
  344. data/features/index/index_as_grid.feature +0 -45
  345. data/features/index/index_as_table.feature +0 -291
  346. data/features/index/index_blank_slate.feature +0 -83
  347. data/features/index/index_parameters.feature +0 -75
  348. data/features/index/index_scope_to.feature +0 -56
  349. data/features/index/index_scopes.feature +0 -251
  350. data/features/index/page_title.feature +0 -42
  351. data/features/index/pagination.feature +0 -63
  352. data/features/index/switch_index_view.feature +0 -73
  353. data/features/menu.feature +0 -53
  354. data/features/meta_tags.feature +0 -21
  355. data/features/new_page.feature +0 -109
  356. data/features/registering_assets.feature +0 -34
  357. data/features/registering_pages.feature +0 -148
  358. data/features/registering_resources.feature +0 -33
  359. data/features/renamed_resource.feature +0 -32
  360. data/features/root_to.feature +0 -17
  361. data/features/show/columns.feature +0 -40
  362. data/features/show/default_content.feature +0 -44
  363. data/features/show/page_title.feature +0 -59
  364. data/features/show/tabs.feature +0 -27
  365. data/features/sidebar_sections.feature +0 -210
  366. data/features/site_title.feature +0 -47
  367. data/features/specifying_actions.feature +0 -93
  368. data/features/step_definitions/action_item_steps.rb +0 -7
  369. data/features/step_definitions/action_link_steps.rb +0 -20
  370. data/features/step_definitions/additional_web_steps.rb +0 -81
  371. data/features/step_definitions/asset_steps.rb +0 -15
  372. data/features/step_definitions/attribute_steps.rb +0 -18
  373. data/features/step_definitions/batch_action_steps.rb +0 -81
  374. data/features/step_definitions/blog_steps.rb +0 -3
  375. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  376. data/features/step_definitions/column_steps.rb +0 -8
  377. data/features/step_definitions/comment_steps.rb +0 -12
  378. data/features/step_definitions/configuration_steps.rb +0 -100
  379. data/features/step_definitions/dashboard_steps.rb +0 -15
  380. data/features/step_definitions/factory_steps.rb +0 -35
  381. data/features/step_definitions/filter_steps.rb +0 -39
  382. data/features/step_definitions/flash_steps.rb +0 -11
  383. data/features/step_definitions/format_steps.rb +0 -52
  384. data/features/step_definitions/i18n_steps.rb +0 -3
  385. data/features/step_definitions/index_scope_steps.rb +0 -21
  386. data/features/step_definitions/index_views_steps.rb +0 -3
  387. data/features/step_definitions/layout_steps.rb +0 -3
  388. data/features/step_definitions/member_link_steps.rb +0 -7
  389. data/features/step_definitions/menu_steps.rb +0 -11
  390. data/features/step_definitions/meta_tag_steps.rb +0 -3
  391. data/features/step_definitions/pagination_steps.rb +0 -15
  392. data/features/step_definitions/sidebar_steps.rb +0 -13
  393. data/features/step_definitions/site_title_steps.rb +0 -17
  394. data/features/step_definitions/symbol_leak_steps.rb +0 -3
  395. data/features/step_definitions/tab_steps.rb +0 -8
  396. data/features/step_definitions/table_steps.rb +0 -120
  397. data/features/step_definitions/user_steps.rb +0 -45
  398. data/features/step_definitions/web_steps.rb +0 -85
  399. data/features/sti_resource.feature +0 -65
  400. data/features/strong_parameters.feature +0 -73
  401. data/features/support/env.rb +0 -162
  402. data/features/support/paths.rb +0 -71
  403. data/features/support/selectors.rb +0 -45
  404. data/features/symbol_leak.feature +0 -35
  405. data/features/users/logging_in.feature +0 -34
  406. data/features/users/logging_out.feature +0 -13
  407. data/features/users/resetting_password.feature +0 -34
  408. data/lib/active_admin/event.rb +0 -24
  409. data/lib/active_admin/filters/humanized.rb +0 -68
  410. data/lib/active_admin/helpers/settings.rb +0 -115
  411. data/lib/active_admin/reloader.rb +0 -25
  412. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  413. data/lib/generators/active_admin/resource/templates/admin.rb +0 -45
  414. data/script/local +0 -53
  415. data/script/travis_cache +0 -107
  416. data/script/use_rails +0 -53
  417. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  418. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  419. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  420. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  421. data/spec/javascripts/fixtures/flashes.html +0 -2
  422. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  423. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  424. data/spec/javascripts/support/jasmine.yml +0 -74
  425. data/spec/javascripts/support/jasmine_config.rb +0 -23
  426. data/spec/javascripts/support/jasmine_runner.rb +0 -32
  427. data/spec/rails_helper.rb +0 -169
  428. data/spec/requests/default_namespace_spec.rb +0 -61
  429. data/spec/requests/javascript_spec.rb +0 -22
  430. data/spec/requests/memory_spec.rb +0 -21
  431. data/spec/requests/stylesheets_spec.rb +0 -18
  432. data/spec/spec_helper.rb +0 -17
  433. data/spec/support/active_admin_request_helpers.rb +0 -27
  434. data/spec/support/deferred_garbage_collection.rb +0 -19
  435. data/spec/support/detect_rails_version.rb +0 -34
  436. data/spec/support/jslint.yml +0 -80
  437. data/spec/support/rails_template.rb +0 -158
  438. data/spec/support/rails_template_with_data.rb +0 -55
  439. data/spec/support/templates/admin/stores.rb +0 -9
  440. data/spec/support/templates/en.yml +0 -8
  441. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  442. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  443. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  444. data/spec/support/templates/policies/application_policy.rb +0 -45
  445. data/spec/support/templates/policies/category_policy.rb +0 -7
  446. data/spec/support/templates/policies/post_policy.rb +0 -15
  447. data/spec/support/templates/policies/store_policy.rb +0 -11
  448. data/spec/support/templates/policies/user_policy.rb +0 -11
  449. data/spec/support/templates/post_decorator.rb +0 -11
  450. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  451. data/spec/unit/action_builder_spec.rb +0 -134
  452. data/spec/unit/active_admin_spec.rb +0 -11
  453. data/spec/unit/application_spec.rb +0 -165
  454. data/spec/unit/asset_registration_spec.rb +0 -52
  455. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  456. data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
  457. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  458. data/spec/unit/auto_link_spec.rb +0 -69
  459. data/spec/unit/batch_actions/resource_spec.rb +0 -97
  460. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  461. data/spec/unit/belongs_to_spec.rb +0 -65
  462. data/spec/unit/cancan_adapter_spec.rb +0 -43
  463. data/spec/unit/comments_spec.rb +0 -188
  464. data/spec/unit/component_spec.rb +0 -18
  465. data/spec/unit/config_shared_examples.rb +0 -59
  466. data/spec/unit/controller_filters_spec.rb +0 -41
  467. data/spec/unit/csv_builder_spec.rb +0 -303
  468. data/spec/unit/dependency_spec.rb +0 -135
  469. data/spec/unit/devise_spec.rb +0 -96
  470. data/spec/unit/dsl_spec.rb +0 -122
  471. data/spec/unit/filters/filter_form_builder_spec.rb +0 -434
  472. data/spec/unit/filters/humanized_spec.rb +0 -56
  473. data/spec/unit/filters/resource_spec.rb +0 -128
  474. data/spec/unit/form_builder_spec.rb +0 -815
  475. data/spec/unit/generators/install_spec.rb +0 -24
  476. data/spec/unit/helpers/collection_spec.rb +0 -65
  477. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  478. data/spec/unit/helpers/settings_spec.rb +0 -30
  479. data/spec/unit/i18n_spec.rb +0 -12
  480. data/spec/unit/menu_collection_spec.rb +0 -62
  481. data/spec/unit/menu_item_spec.rb +0 -143
  482. data/spec/unit/menu_spec.rb +0 -71
  483. data/spec/unit/namespace/authorization_spec.rb +0 -27
  484. data/spec/unit/namespace/register_page_spec.rb +0 -73
  485. data/spec/unit/namespace/register_resource_spec.rb +0 -160
  486. data/spec/unit/namespace_spec.rb +0 -103
  487. data/spec/unit/order_clause_spec.rb +0 -81
  488. data/spec/unit/page_controller_spec.rb +0 -5
  489. data/spec/unit/page_spec.rb +0 -78
  490. data/spec/unit/pretty_format_spec.rb +0 -77
  491. data/spec/unit/pundit_adapter_spec.rb +0 -98
  492. data/spec/unit/resource/action_items_spec.rb +0 -65
  493. data/spec/unit/resource/includes_spec.rb +0 -21
  494. data/spec/unit/resource/menu_spec.rb +0 -18
  495. data/spec/unit/resource/naming_spec.rb +0 -122
  496. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  497. data/spec/unit/resource/pagination_spec.rb +0 -38
  498. data/spec/unit/resource/routes_spec.rb +0 -77
  499. data/spec/unit/resource/scopes_spec.rb +0 -50
  500. data/spec/unit/resource/sidebars_spec.rb +0 -43
  501. data/spec/unit/resource_collection_spec.rb +0 -175
  502. data/spec/unit/resource_controller/data_access_spec.rb +0 -140
  503. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  504. data/spec/unit/resource_controller/sidebars_spec.rb +0 -38
  505. data/spec/unit/resource_controller_spec.rb +0 -269
  506. data/spec/unit/resource_registration_spec.rb +0 -56
  507. data/spec/unit/resource_spec.rb +0 -331
  508. data/spec/unit/routing_spec.rb +0 -185
  509. data/spec/unit/scope_spec.rb +0 -185
  510. data/spec/unit/settings_spec.rb +0 -118
  511. data/spec/unit/view_factory_spec.rb +0 -19
  512. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
  513. data/spec/unit/view_helpers/display_helper_spec.rb +0 -165
  514. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  515. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  516. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  517. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  518. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  519. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  520. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  521. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  522. data/spec/unit/views/components/columns_spec.rb +0 -189
  523. data/spec/unit/views/components/index_list_spec.rb +0 -35
  524. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  525. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  526. data/spec/unit/views/components/panel_spec.rb +0 -58
  527. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  528. data/spec/unit/views/components/site_title_spec.rb +0 -78
  529. data/spec/unit/views/components/status_tag_spec.rb +0 -249
  530. data/spec/unit/views/components/table_for_spec.rb +0 -434
  531. data/spec/unit/views/components/tabs_spec.rb +0 -39
  532. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  533. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  534. data/spec/unit/views/pages/form_spec.rb +0 -51
  535. data/spec/unit/views/pages/index_spec.rb +0 -60
  536. data/spec/unit/views/pages/layout_spec.rb +0 -59
  537. data/spec/unit/views/pages/show_spec.rb +0 -33
  538. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  539. data/tasks/docs.rake +0 -37
  540. data/tasks/parallel_tests.rake +0 -66
  541. data/tasks/test.rake +0 -91
  542. data/tasks/yard.rake +0 -9
@@ -1,24 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe "AA installation" do
4
- context "should create" do
5
-
6
- it "active_admin.scss" do
7
- path = Rails.root + "app/assets/stylesheets/active_admin.scss"
8
- expect(File.exists? path).to eq true
9
- end
10
-
11
- it "active_admin.js.coffee" do
12
- expect(File.exists?(Rails.root + "app/assets/javascripts/active_admin.js.coffee")).to eq true
13
- end
14
-
15
- it "the dashboard" do
16
- expect(File.exists?(Rails.root + "app/admin/dashboard.rb")).to eq true
17
- end
18
-
19
- it "the initializer" do
20
- expect(File.exists?(Rails.root + "config/initializers/active_admin.rb")).to eq true
21
- end
22
-
23
- end
24
- end
@@ -1,65 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Helpers::Collection do
4
-
5
- include ActiveAdmin::Helpers::Collection
6
-
7
- before(:all) do
8
- Post.delete_all
9
- Post.create!(title: "A post")
10
- Post.create!(title: "A post")
11
- Post.create!(title: "An other post")
12
- end
13
-
14
- after(:all) do
15
- Post.delete_all
16
- end
17
-
18
- describe "#collection_size" do
19
- it "should return the collection size for an ActiveRecord class" do
20
- expect(collection_size(Post.where(nil))).to eq 3
21
- end
22
-
23
- it "should return the collection size for an ActiveRecord::Relation" do
24
- expect(collection_size(Post.where(title: "A post"))).to eq 2
25
- end
26
-
27
- it "should return the collection size for a collection with group by" do
28
- expect(collection_size(Post.group(:title))).to eq 2
29
- end
30
-
31
- it "should return the collection size for a collection with group by, select and custom order" do
32
- expect(collection_size(Post.select("title, count(*) as nb_posts").group(:title).order("nb_posts"))).to eq 2
33
- end
34
-
35
- it "should take the defined collection by default" do
36
- def collection; Post.where(nil); end
37
-
38
- expect(collection_size).to eq 3
39
-
40
- def collection; Post.where(title: "An other post"); end
41
-
42
- expect(collection_size).to eq 1
43
- end
44
- end
45
-
46
- describe "#collection_is_empty?" do
47
- it "should return true when the collection is empty" do
48
- expect(collection_is_empty?(Post.where(title: "Non existing post"))).to eq true
49
- end
50
-
51
- it "should return false when the collection is not empty" do
52
- expect(collection_is_empty?(Post.where(title: "A post"))).to eq false
53
- end
54
-
55
- it "should take the defined collection by default" do
56
- def collection; Post.where(nil); end
57
-
58
- expect(collection_is_empty?).to eq false
59
-
60
- def collection; Post.where(title: "Non existing post"); end
61
-
62
- expect(collection_is_empty?).to eq true
63
- end
64
- end
65
- end
@@ -1,36 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::ScopeChain do
4
-
5
- include ActiveAdmin::ScopeChain
6
-
7
- describe "#scope_chain" do
8
- let(:relation) { double }
9
-
10
- context "when Scope has a scope method" do
11
- let(:scope) { ActiveAdmin::Scope.new :published }
12
-
13
- it "should call the method on the relation and return it" do
14
- expect(relation).to receive(:published).and_return(:scoped_relation)
15
- expect(scope_chain(scope, relation)).to eq :scoped_relation
16
- end
17
- end
18
-
19
- context "when Scope has the scope method method ':all'" do
20
- let(:scope) { ActiveAdmin::Scope.new :all }
21
-
22
- it "should return the relation" do
23
- expect(scope_chain(scope, relation)).to eq relation
24
- end
25
- end
26
-
27
- context "when Scope has a name and a scope block" do
28
- let(:scope) { ActiveAdmin::Scope.new("My Scope"){|s| :scoped_relation } }
29
-
30
- it "should instance_exec the block and return it" do
31
- expect(scope_chain(scope, relation)).to eq :scoped_relation
32
- end
33
- end
34
- end
35
- end
36
-
@@ -1,30 +0,0 @@
1
- require 'rails_helper'
2
- require 'active_admin/helpers/settings'
3
-
4
- describe ActiveAdmin::Settings do
5
-
6
- # A Class with settings module included
7
- let(:klass) do
8
- Class.new do
9
- include ActiveAdmin::Settings
10
- end
11
- end
12
-
13
- it "should add a new setting with a default" do
14
- klass.setting :my_setting, "Hello World"
15
- expect(klass.default_settings[:my_setting]).to eq "Hello World"
16
- end
17
-
18
- it "should initialize the defaults" do
19
- klass.setting :my_setting, "Hello World"
20
- expect(klass.new.my_setting).to eq "Hello World"
21
- end
22
-
23
- it "should support settings of nil" do
24
- klass.setting :my_setting, :some_val
25
- inst = klass.new
26
- inst.my_setting = nil
27
- expect(inst.my_setting).to eq nil
28
- end
29
-
30
- end
@@ -1,12 +0,0 @@
1
- require 'rails_helper'
2
-
3
- Dir.glob('config/locales/*.yml') do |locale_file|
4
- describe locale_file do
5
- it { is_expected.to be_parseable }
6
- it { is_expected.to have_one_top_level_namespace }
7
- it { is_expected.to be_named_like_top_level_namespace }
8
- it { is_expected.to_not have_legacy_interpolations }
9
- it { is_expected.to have_a_valid_locale }
10
- it { is_expected.to be_a_subset_of 'config/locales/en.yml' }
11
- end
12
- end
@@ -1,62 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::MenuCollection do
4
-
5
- let(:menus) { ActiveAdmin::MenuCollection.new }
6
-
7
- describe "#add" do
8
-
9
- it "should initialize a new menu when first item" do
10
- menus.add :default, label: "Hello World"
11
-
12
- expect(menus.fetch(:default).items.size).to eq 1
13
- expect(menus.fetch(:default)["Hello World"]).to be_an_instance_of(ActiveAdmin::MenuItem)
14
- end
15
-
16
- it "should add items to an existing menu" do
17
- menus.add :default, label: "Hello World"
18
- menus.add :default, label: "Hello World Again"
19
-
20
- expect(menus.fetch(:default).items.size).to eq 2
21
- end
22
-
23
- end
24
-
25
- describe "#clear!" do
26
-
27
- it "should remove all menus" do
28
- menus.add :default, label: "Hello World"
29
-
30
- menus.clear!
31
-
32
- expect {
33
- menus.fetch(:non_default_menu)
34
- }.to raise_error(ActiveAdmin::NoMenuError)
35
-
36
- end
37
-
38
- end
39
-
40
- describe "#on_build" do
41
-
42
- it "runs a callback when fetching a menu" do
43
- menus.on_build do |m|
44
- m.add :default, label: "Hello World"
45
- end
46
-
47
- expect(menus.fetch(:default)["Hello World"]).to_not eq nil
48
- end
49
-
50
- it "re-runs the callbacks when the menu is cleared" do
51
- menus.on_build do |m|
52
- m.add :default, label: "Hello World"
53
- end
54
-
55
- expect(menus.fetch(:default)["Hello World"]).to_not eq nil
56
- menus.clear!
57
- expect(menus.fetch(:default)["Hello World"]).to_not eq nil
58
- end
59
-
60
- end
61
-
62
- end
@@ -1,143 +0,0 @@
1
- require 'spec_helper'
2
- require 'active_admin/menu'
3
- require 'active_admin/menu_item'
4
-
5
- module ActiveAdmin
6
- describe MenuItem do
7
-
8
- it "should have a label" do
9
- item = MenuItem.new(label: "Dashboard")
10
- expect(item.label).to eq "Dashboard"
11
- end
12
-
13
- it "should have a url" do
14
- item = MenuItem.new(url: "/admin")
15
- expect(item.url).to eq "/admin"
16
- end
17
-
18
- it "should have a priority of 10 by default" do
19
- item = MenuItem.new
20
- expect(item.priority).to eq 10
21
- end
22
-
23
- context "conditional display" do
24
- it "should store a Proc internally and evaluate it when requested" do
25
- item = MenuItem.new
26
- expect(item.instance_variable_get(:@should_display)).to be_a Proc
27
- expect(item.display?).to_not be_a Proc
28
- end
29
-
30
- it "should show the item by default" do
31
- expect(MenuItem.new.display?).to eq true
32
- end
33
-
34
- it "should hide the item" do
35
- expect(MenuItem.new(if: proc{false}).display?).to eq false
36
- end
37
- end
38
-
39
- it "should default to an empty hash for html_options" do
40
- item = MenuItem.new
41
- expect(item.html_options).to be_empty
42
- end
43
-
44
- it "should accept an options hash for link_to" do
45
- item = MenuItem.new html_options: { target: :blank }
46
- expect(item.html_options).to include(target: :blank)
47
- end
48
-
49
- context "with no items" do
50
- it "should be empty" do
51
- item = MenuItem.new
52
- expect(item.items).to be_empty
53
- end
54
-
55
- it "should accept new children" do
56
- item = MenuItem.new label: "Dashboard"
57
- item.add label: "My Child Dashboard"
58
- expect(item.items.first).to be_a MenuItem
59
- expect(item.items.first.label).to eq "My Child Dashboard"
60
- end
61
- end
62
-
63
- context "with many children" do
64
- let(:item) do
65
- i = MenuItem.new(label: "Dashboard")
66
- i.add label: "Blog"
67
- i.add label: "Cars"
68
- i.add label: "Users", priority: 1
69
- i.add label: "Settings", priority: 2
70
- i.add label: "Analytics", priority: 44
71
- i
72
- end
73
-
74
- it "should contain 5 submenu items" do
75
- expect(item.items.count).to eq 5
76
- end
77
-
78
- it "should give access to the menu item as an array" do
79
- expect(item['Blog'].label).to eq 'Blog'
80
- end
81
-
82
- it "should sort items based on priority and name" do
83
- expect(item.items[0].label).to eq 'Users'
84
- expect(item.items[1].label).to eq 'Settings'
85
- expect(item.items[2].label).to eq 'Blog'
86
- expect(item.items[3].label).to eq 'Cars'
87
- expect(item.items[4].label).to eq 'Analytics'
88
- end
89
-
90
- it "children should hold a reference to their parent" do
91
- expect(item["Blog"].parent).to eq item
92
- end
93
- end
94
-
95
- describe "accessing ancestory" do
96
- let(:item){ MenuItem.new label: "Blog" }
97
-
98
- context "with no parent" do
99
- it "should return an empty array" do
100
- expect(item.ancestors).to eq []
101
- end
102
- end
103
-
104
- context "with one parent" do
105
- let(:sub_item) do
106
- item.add label: "Create New"
107
- item["Create New"]
108
- end
109
- it "should return an array with the parent" do
110
- expect(sub_item.ancestors).to eq [item]
111
- end
112
- end
113
-
114
- context "with many parents" do
115
- before(:each) do
116
- c1 = {label: "C1"}
117
- c2 = {label: "C2"}
118
- c3 = {label: "C3"}
119
-
120
- item.add(c1).add(c2).add(c3)
121
-
122
- item
123
- end
124
- let(:sub_item){ item["C1"]["C2"]["C3"] }
125
- it "should return an array with the parents in reverse order" do
126
- expect(sub_item.ancestors).to eq [item["C1"]["C2"], item["C1"], item]
127
- end
128
- end
129
- end # accessing ancestory
130
-
131
-
132
- describe "#id" do
133
- it "should be normalized" do
134
- expect(MenuItem.new(id: "Foo Bar").id).to eq "foo_bar"
135
- end
136
-
137
- it "should not accept Procs" do
138
- expect{ MenuItem.new(id: proc{"Dynamic"}).id }.to raise_error TypeError
139
- end
140
- end
141
-
142
- end
143
- end
@@ -1,71 +0,0 @@
1
- require 'rails_helper'
2
- require 'active_admin/menu'
3
- require 'active_admin/menu_item'
4
-
5
- include ActiveAdmin
6
-
7
- describe ActiveAdmin::Menu do
8
-
9
- context "with no items" do
10
- it "should have an empty item collection" do
11
- menu = Menu.new
12
- expect(menu.items).to be_empty
13
- end
14
-
15
- it "should accept new items" do
16
- menu = Menu.new
17
- menu.add label: "Dashboard"
18
- expect(menu.items.first.label).to eq "Dashboard"
19
- end
20
- end
21
-
22
- context "with many items" do
23
- let(:menu) do
24
- Menu.new do |m|
25
- m.add label: "Dashboard"
26
- m.add label: "Blog"
27
- end
28
- end
29
-
30
- it "should give access to the menu item as an array" do
31
- expect(menu['Dashboard'].label).to eq 'Dashboard'
32
- end
33
- end
34
-
35
- describe "adding items with children" do
36
- it "should add an empty item if the parent does not exist" do
37
- menu = Menu.new
38
- menu.add parent: "Admin", label: "Users"
39
-
40
- expect(menu["Admin"]["Users"]).to be_an_instance_of(ActiveAdmin::MenuItem)
41
- end
42
-
43
- it "should add a child to a parent if it exists" do
44
- menu = Menu.new
45
- menu.add parent: "Admin", label: "Users"
46
- menu.add parent: "Admin", label: "Projects"
47
-
48
- expect(menu["Admin"]["Projects"]).to be_an_instance_of(ActiveAdmin::MenuItem)
49
- end
50
-
51
- it "should assign children regardless of resource file load order" do
52
- menu = Menu.new
53
- menu.add parent: "Users", label: "Posts"
54
- menu.add label: "Users", url: "/some/url"
55
-
56
- expect(menu["Users"].url).to eq "/some/url"
57
- expect(menu["Users"]["Posts"]).to be_a ActiveAdmin::MenuItem
58
- end
59
- end
60
-
61
- describe "sorting items" do
62
- it "should sort children by the result of their label proc" do
63
- menu = Menu.new
64
- menu.add label: proc{ "G" }, id: "not related 1"
65
- menu.add label: proc{ "B" }, id: "not related 2"
66
- menu.add label: proc{ "A" }, id: "not related 3"
67
-
68
- expect(menu.items.map(&:label)).to eq %w[A B G]
69
- end
70
- end
71
- end
@@ -1,27 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Resource, "authorization" do
4
-
5
- let(:app){ ActiveAdmin::Application.new }
6
- let(:namespace){ ActiveAdmin::Namespace.new(app, :admin) }
7
- let(:auth){ double }
8
-
9
- describe "authorization_adapter" do
10
-
11
- it "should return AuthorizationAdapter by default" do
12
- expect(app.authorization_adapter).to eq ActiveAdmin::AuthorizationAdapter
13
- expect(namespace.authorization_adapter).to eq ActiveAdmin::AuthorizationAdapter
14
- end
15
-
16
- it "should be settable on the namespace" do
17
- namespace.authorization_adapter = auth
18
- expect(namespace.authorization_adapter).to eq auth
19
- end
20
-
21
- it "should be settable on the application" do
22
- app.authorization_adapter = auth
23
- expect(app.authorization_adapter).to eq auth
24
- end
25
-
26
- end
27
- end
@@ -1,73 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Namespace, "registering a page" do
4
- let(:application){ ActiveAdmin::Application.new }
5
- let(:namespace){ ActiveAdmin::Namespace.new(application, :admin) }
6
- let(:menu){ namespace.fetch_menu(:default) }
7
-
8
- context "with no configuration" do
9
- before do
10
- namespace.register_page "Status"
11
- end
12
-
13
- it "should store the namespaced registered configuration" do
14
- expect(namespace.resources.keys).to include('Status')
15
- end
16
-
17
- it "should create a new controller in the default namespace" do
18
- expect(defined?(Admin::StatusController)).to eq 'constant'
19
- end
20
-
21
- it "should create a menu item" do
22
- expect(menu["Status"]).to be_an_instance_of(ActiveAdmin::MenuItem)
23
- end
24
- end
25
-
26
- context "with a block configuration" do
27
- it "should be evaluated in the dsl" do
28
- expect{ |block|
29
- namespace.register_page "Status", &block
30
- }.to yield_control
31
- end
32
- end
33
-
34
- describe "adding to the menu" do
35
- describe "adding as a top level item" do
36
- before do
37
- namespace.register_page "Status"
38
- end
39
-
40
- it "should add a new menu item" do
41
- expect(menu['Status']).to_not eq nil
42
- end
43
- end
44
-
45
- describe "adding as a child" do
46
- before do
47
- namespace.register_page "Status" do
48
- menu parent: 'Extra'
49
- end
50
- end
51
-
52
- it "should generate the parent menu item" do
53
- expect( menu['Extra']).to_not eq nil
54
- end
55
-
56
- it "should generate its own child item" do
57
- expect(menu['Extra']['Status']).to_not eq nil
58
- end
59
- end
60
-
61
- describe "disabling the menu" do
62
- before do
63
- namespace.register_page "Status" do
64
- menu false
65
- end
66
- end
67
-
68
- it "should not create a menu item" do
69
- expect(menu["Status"]).to eq nil
70
- end
71
- end
72
- end
73
- end