activeadmin 1.3.1 → 2.9.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 (531) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +589 -136
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +83 -61
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.js +517 -0
  7. data/app/assets/stylesheets/active_admin/_base.scss +29 -29
  8. data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
  9. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  10. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  11. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +0 -0
  12. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  14. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  15. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  16. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  17. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  18. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  19. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +8 -0
  20. data/app/assets/stylesheets/active_admin/print.scss +2 -2
  21. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  22. data/app/javascript/active_admin/base.js +28 -0
  23. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  24. data/app/javascript/active_admin/ext/jquery.js +9 -0
  25. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  26. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  27. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  28. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  29. data/app/javascript/active_admin/initializers/filters.js +10 -0
  30. data/app/javascript/active_admin/initializers/has-many.js +95 -0
  31. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  32. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  33. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  34. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  35. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  36. data/app/javascript/active_admin/lib/filters.js +39 -0
  37. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  38. data/app/javascript/active_admin/lib/per-page.js +38 -0
  39. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  40. data/app/javascript/active_admin/lib/utils.js +40 -0
  41. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  42. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  43. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  44. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  45. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  46. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  47. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  48. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  49. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  50. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  51. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  52. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  53. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  54. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  55. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  56. data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
  57. data/config/locales/ar.yml +9 -8
  58. data/config/locales/az.yml +138 -0
  59. data/config/locales/bg.yml +1 -1
  60. data/config/locales/bs.yml +1 -0
  61. data/config/locales/ca.yml +1 -1
  62. data/config/locales/cs.yml +1 -0
  63. data/config/locales/da.yml +1 -0
  64. data/config/locales/de-CH.yml +1 -0
  65. data/config/locales/de.yml +29 -0
  66. data/config/locales/el.yml +1 -0
  67. data/config/locales/en-CA.yml +4 -3
  68. data/config/locales/en-GB.yml +4 -3
  69. data/config/locales/en.yml +23 -4
  70. data/config/locales/eo.yml +1 -0
  71. data/config/locales/es-MX.yml +3 -1
  72. data/config/locales/es.yml +26 -6
  73. data/config/locales/fa.yml +1 -0
  74. data/config/locales/fi.yml +2 -1
  75. data/config/locales/fr.yml +6 -5
  76. data/config/locales/he.yml +1 -1
  77. data/config/locales/hr.yml +1 -0
  78. data/config/locales/hu.yml +5 -0
  79. data/config/locales/id.yml +1 -0
  80. data/config/locales/it.yml +23 -0
  81. data/config/locales/ja.yml +4 -3
  82. data/config/locales/ko.yml +1 -0
  83. data/config/locales/lt.yml +3 -2
  84. data/config/locales/lv.yml +3 -2
  85. data/config/locales/mk.yml +134 -0
  86. data/config/locales/nb.yml +16 -5
  87. data/config/locales/nl.yml +12 -0
  88. data/config/locales/pl.yml +72 -3
  89. data/config/locales/pt-BR.yml +1 -0
  90. data/config/locales/pt-PT.yml +1 -0
  91. data/config/locales/ro.yml +1 -0
  92. data/config/locales/ru.yml +3 -0
  93. data/config/locales/sk.yml +60 -0
  94. data/config/locales/sv-SE.yml +1 -0
  95. data/config/locales/tr.yml +10 -0
  96. data/config/locales/uk.yml +3 -0
  97. data/config/locales/vi.yml +7 -5
  98. data/config/locales/zh-CN.yml +34 -5
  99. data/config/locales/zh-TW.yml +1 -0
  100. data/docs/.gitignore +1 -0
  101. data/docs/0-installation.md +28 -4
  102. data/docs/1-general-configuration.md +36 -1
  103. data/docs/10-custom-pages.md +14 -0
  104. data/docs/11-decorators.md +16 -5
  105. data/docs/12-arbre-components.md +41 -1
  106. data/docs/13-authorization-adapter.md +41 -22
  107. data/docs/2-resource-customization.md +19 -5
  108. data/docs/3-index-pages/custom-index.md +1 -1
  109. data/docs/3-index-pages/index-as-blog.md +1 -1
  110. data/docs/3-index-pages/index-as-table.md +12 -5
  111. data/docs/3-index-pages.md +18 -1
  112. data/docs/5-forms.md +22 -3
  113. data/docs/6-show-pages.md +12 -0
  114. data/docs/8-custom-actions.md +11 -0
  115. data/docs/9-batch-actions.md +2 -2
  116. data/docs/CNAME +1 -1
  117. data/docs/Gemfile +3 -2
  118. data/docs/Gemfile.lock +259 -0
  119. data/docs/_config.yml +3 -1
  120. data/docs/_includes/toc.html +1 -1
  121. data/docs/_includes/top-menu.html +9 -1
  122. data/docs/documentation.md +2 -2
  123. data/docs/images/tidelift.svg +14 -0
  124. data/docs/index.html +110 -9
  125. data/docs/stylesheets/main.css +55 -2
  126. data/lib/active_admin/abstract_view_factory.rb +13 -51
  127. data/lib/active_admin/application.rb +59 -166
  128. data/lib/active_admin/application_settings.rb +42 -0
  129. data/lib/active_admin/asset_registration.rb +0 -8
  130. data/lib/active_admin/authorization_adapter.rb +3 -3
  131. data/lib/active_admin/base_controller/authorization.rb +16 -17
  132. data/lib/active_admin/base_controller.rb +10 -10
  133. data/lib/active_admin/batch_actions/controller.rb +5 -5
  134. data/lib/active_admin/batch_actions/resource_extension.rb +15 -10
  135. data/lib/active_admin/batch_actions/views/batch_action_form.rb +3 -3
  136. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +6 -6
  137. data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
  138. data/lib/active_admin/callbacks.rb +1 -1
  139. data/lib/active_admin/cancan_adapter.rb +1 -1
  140. data/lib/active_admin/collection_decorator.rb +31 -0
  141. data/lib/active_admin/controller_action.rb +2 -1
  142. data/lib/active_admin/csv_builder.rb +14 -9
  143. data/lib/active_admin/dependency.rb +13 -77
  144. data/lib/active_admin/deprecation.rb +0 -25
  145. data/lib/active_admin/devise.rb +5 -5
  146. data/lib/active_admin/dsl.rb +2 -9
  147. data/lib/active_admin/dynamic_setting.rb +38 -0
  148. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  149. data/lib/active_admin/engine.rb +14 -7
  150. data/lib/active_admin/error.rb +4 -4
  151. data/lib/active_admin/filters/active.rb +1 -1
  152. data/lib/active_admin/filters/active_filter.rb +11 -11
  153. data/lib/active_admin/filters/active_sidebar.rb +9 -5
  154. data/lib/active_admin/filters/forms.rb +12 -9
  155. data/lib/active_admin/filters/formtastic_addons.rb +2 -7
  156. data/lib/active_admin/filters/resource_extension.rb +29 -5
  157. data/lib/active_admin/filters.rb +7 -7
  158. data/lib/active_admin/form_builder.rb +109 -70
  159. data/lib/active_admin/generators/boilerplate.rb +12 -4
  160. data/lib/active_admin/helpers/optional_display.rb +2 -2
  161. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  162. data/lib/active_admin/inputs/datepicker_input.rb +9 -2
  163. data/lib/active_admin/inputs/filters/base/search_method_select.rb +6 -6
  164. data/lib/active_admin/inputs/filters/base.rb +1 -1
  165. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
  166. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
  167. data/lib/active_admin/inputs/filters/date_range_input.rb +15 -12
  168. data/lib/active_admin/inputs/filters/select_input.rb +2 -2
  169. data/lib/active_admin/localizers/resource_localizer.rb +3 -3
  170. data/lib/active_admin/localizers.rb +1 -1
  171. data/lib/active_admin/menu.rb +8 -11
  172. data/lib/active_admin/menu_item.rb +10 -38
  173. data/lib/active_admin/namespace.rb +30 -18
  174. data/lib/active_admin/namespace_settings.rb +126 -0
  175. data/lib/active_admin/order_clause.rb +2 -2
  176. data/lib/active_admin/orm/active_record/comments/comment.rb +4 -4
  177. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +29 -24
  178. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  179. data/lib/active_admin/orm/active_record/comments.rb +34 -23
  180. data/lib/active_admin/orm/active_record.rb +1 -1
  181. data/lib/active_admin/page.rb +1 -1
  182. data/lib/active_admin/page_dsl.rb +1 -1
  183. data/lib/active_admin/page_presenter.rb +2 -1
  184. data/lib/active_admin/pundit_adapter.rb +22 -9
  185. data/lib/active_admin/resource/action_items.rb +11 -6
  186. data/lib/active_admin/resource/attributes.rb +8 -5
  187. data/lib/active_admin/resource/belongs_to.rb +8 -3
  188. data/lib/active_admin/resource/controllers.rb +1 -1
  189. data/lib/active_admin/resource/menu.rb +5 -5
  190. data/lib/active_admin/resource/model.rb +15 -0
  191. data/lib/active_admin/resource/naming.rb +5 -5
  192. data/lib/active_admin/resource/routes.rb +25 -14
  193. data/lib/active_admin/resource/scope_to.rb +7 -7
  194. data/lib/active_admin/resource/scopes.rb +3 -3
  195. data/lib/active_admin/resource/sidebars.rb +2 -2
  196. data/lib/active_admin/resource.rb +34 -20
  197. data/lib/active_admin/resource_collection.rb +2 -2
  198. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  199. data/lib/active_admin/resource_controller/data_access.rb +1 -1
  200. data/lib/active_admin/resource_controller/decorators.rb +9 -31
  201. data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
  202. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  203. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  204. data/lib/active_admin/resource_controller/streaming.rb +7 -6
  205. data/lib/active_admin/resource_controller.rb +13 -10
  206. data/lib/active_admin/resource_dsl.rb +11 -9
  207. data/lib/active_admin/router.rb +90 -84
  208. data/lib/active_admin/scope.rb +19 -11
  209. data/lib/active_admin/settings_node.rb +19 -0
  210. data/lib/active_admin/sidebar_section.rb +3 -1
  211. data/lib/active_admin/version.rb +1 -1
  212. data/lib/active_admin/view_factory.rb +17 -17
  213. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +5 -5
  214. data/lib/active_admin/view_helpers/display_helper.rb +16 -7
  215. data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
  216. data/lib/active_admin/view_helpers/fields_for.rb +2 -2
  217. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  218. data/lib/active_admin/view_helpers.rb +1 -1
  219. data/lib/active_admin/views/components/active_admin_form.rb +12 -7
  220. data/lib/active_admin/views/components/attributes_table.rb +8 -8
  221. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  222. data/lib/active_admin/views/components/dropdown_menu.rb +8 -8
  223. data/lib/active_admin/views/components/index_list.rb +3 -3
  224. data/lib/active_admin/views/components/menu.rb +32 -0
  225. data/lib/active_admin/views/components/menu_item.rb +58 -0
  226. data/lib/active_admin/views/components/paginated_collection.rb +21 -20
  227. data/lib/active_admin/views/components/panel.rb +1 -1
  228. data/lib/active_admin/views/components/scopes.rb +17 -8
  229. data/lib/active_admin/views/components/sidebar.rb +13 -0
  230. data/lib/active_admin/views/components/sidebar_section.rb +0 -3
  231. data/lib/active_admin/views/components/site_title.rb +6 -7
  232. data/lib/active_admin/views/components/status_tag.rb +13 -26
  233. data/lib/active_admin/views/components/table_for.rb +21 -29
  234. data/lib/active_admin/views/components/tabs.rb +17 -5
  235. data/lib/active_admin/views/footer.rb +5 -8
  236. data/lib/active_admin/views/header.rb +3 -15
  237. data/lib/active_admin/views/index_as_blog.rb +2 -2
  238. data/lib/active_admin/views/index_as_grid.rb +26 -26
  239. data/lib/active_admin/views/index_as_table.rb +33 -25
  240. data/lib/active_admin/views/pages/base.rb +40 -59
  241. data/lib/active_admin/views/pages/index.rb +15 -13
  242. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  243. data/lib/active_admin/views/title_bar.rb +1 -1
  244. data/lib/active_admin/views.rb +1 -1
  245. data/lib/active_admin.rb +67 -63
  246. data/lib/activeadmin.rb +1 -1
  247. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  248. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  249. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  250. data/lib/generators/active_admin/devise/devise_generator.rb +5 -5
  251. data/lib/generators/active_admin/install/install_generator.rb +18 -8
  252. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
  253. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  254. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  255. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  256. data/lib/generators/active_admin/resource/resource_generator.rb +3 -3
  257. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  258. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  259. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  260. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  261. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  262. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
  263. data/lib/ransack_ext.rb +9 -9
  264. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  265. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  266. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  267. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  268. metadata +120 -553
  269. data/.github/ISSUE_TEMPLATE.md +0 -20
  270. data/.gitignore +0 -49
  271. data/.mdlrc +0 -1
  272. data/.rubocop.yml +0 -76
  273. data/.simplecov +0 -13
  274. data/.travis.yml +0 -51
  275. data/.yardopts +0 -7
  276. data/Gemfile +0 -58
  277. data/Rakefile +0 -54
  278. data/activeadmin.gemspec +0 -32
  279. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  280. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  281. data/app/assets/images/active_admin/orderable.png +0 -0
  282. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  283. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  284. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  285. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  286. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  287. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  288. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  289. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  290. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  291. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  292. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  293. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  294. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  295. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  296. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  297. data/codecov.yml +0 -25
  298. data/config/i18n-tasks.yml +0 -26
  299. data/config/mdl_style.rb +0 -9
  300. data/cucumber.yml +0 -3
  301. data/features/action_item.feature +0 -73
  302. data/features/authorization.feature +0 -64
  303. data/features/authorization_cancan.feature +0 -52
  304. data/features/authorization_pundit.feature +0 -37
  305. data/features/belongs_to.feature +0 -124
  306. data/features/breadcrumb.feature +0 -75
  307. data/features/comments/commenting.feature +0 -178
  308. data/features/comments/viewing_index.feature +0 -19
  309. data/features/create_another.feature +0 -55
  310. data/features/dashboard.feature +0 -16
  311. data/features/decorators.feature +0 -43
  312. data/features/development_reloading.feature +0 -28
  313. data/features/edit_page.feature +0 -116
  314. data/features/favicon.feature +0 -20
  315. data/features/first_boot.feature +0 -16
  316. data/features/footer.feature +0 -28
  317. data/features/global_navigation.feature +0 -29
  318. data/features/i18n.feature +0 -55
  319. data/features/index/batch_actions.feature +0 -218
  320. data/features/index/filters.feature +0 -250
  321. data/features/index/format_as_csv.feature +0 -220
  322. data/features/index/formats.feature +0 -88
  323. data/features/index/index_as_block.feature +0 -15
  324. data/features/index/index_as_blog.feature +0 -69
  325. data/features/index/index_as_grid.feature +0 -45
  326. data/features/index/index_as_table.feature +0 -291
  327. data/features/index/index_blank_slate.feature +0 -83
  328. data/features/index/index_parameters.feature +0 -75
  329. data/features/index/index_scope_to.feature +0 -56
  330. data/features/index/index_scopes.feature +0 -285
  331. data/features/index/page_title.feature +0 -41
  332. data/features/index/pagination.feature +0 -63
  333. data/features/index/switch_index_view.feature +0 -73
  334. data/features/menu.feature +0 -72
  335. data/features/meta_tags.feature +0 -21
  336. data/features/new_page.feature +0 -136
  337. data/features/registering_assets.feature +0 -38
  338. data/features/registering_pages.feature +0 -237
  339. data/features/registering_resources.feature +0 -33
  340. data/features/renamed_resource.feature +0 -30
  341. data/features/root_to.feature +0 -17
  342. data/features/show/attributes_table_title.feature +0 -54
  343. data/features/show/columns.feature +0 -40
  344. data/features/show/default_content.feature +0 -44
  345. data/features/show/page_title.feature +0 -58
  346. data/features/show/tabs.feature +0 -33
  347. data/features/sidebar_sections.feature +0 -210
  348. data/features/site_title.feature +0 -47
  349. data/features/specifying_actions.feature +0 -118
  350. data/features/step_definitions/action_item_steps.rb +0 -7
  351. data/features/step_definitions/action_link_steps.rb +0 -19
  352. data/features/step_definitions/additional_web_steps.rb +0 -81
  353. data/features/step_definitions/asset_steps.rb +0 -15
  354. data/features/step_definitions/attribute_steps.rb +0 -18
  355. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  356. data/features/step_definitions/batch_action_steps.rb +0 -81
  357. data/features/step_definitions/blog_steps.rb +0 -3
  358. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  359. data/features/step_definitions/column_steps.rb +0 -8
  360. data/features/step_definitions/comment_steps.rb +0 -32
  361. data/features/step_definitions/configuration_steps.rb +0 -100
  362. data/features/step_definitions/dashboard_steps.rb +0 -15
  363. data/features/step_definitions/factory_steps.rb +0 -35
  364. data/features/step_definitions/filter_steps.rb +0 -47
  365. data/features/step_definitions/flash_steps.rb +0 -11
  366. data/features/step_definitions/footer_steps.rb +0 -11
  367. data/features/step_definitions/format_steps.rb +0 -56
  368. data/features/step_definitions/i18n_steps.rb +0 -11
  369. data/features/step_definitions/index_scope_steps.rb +0 -29
  370. data/features/step_definitions/index_views_steps.rb +0 -3
  371. data/features/step_definitions/layout_steps.rb +0 -3
  372. data/features/step_definitions/member_link_steps.rb +0 -7
  373. data/features/step_definitions/menu_steps.rb +0 -11
  374. data/features/step_definitions/meta_tag_steps.rb +0 -3
  375. data/features/step_definitions/pagination_steps.rb +0 -15
  376. data/features/step_definitions/sidebar_steps.rb +0 -11
  377. data/features/step_definitions/site_title_steps.rb +0 -17
  378. data/features/step_definitions/tab_steps.rb +0 -8
  379. data/features/step_definitions/table_steps.rb +0 -116
  380. data/features/step_definitions/user_steps.rb +0 -52
  381. data/features/step_definitions/web_steps.rb +0 -86
  382. data/features/sti_resource.feature +0 -65
  383. data/features/strong_parameters.feature +0 -69
  384. data/features/support/env.rb +0 -122
  385. data/features/support/paths.rb +0 -73
  386. data/features/support/regular_env.rb +0 -7
  387. data/features/support/reload_env.rb +0 -7
  388. data/features/support/selectors.rb +0 -45
  389. data/features/users/logging_in.feature +0 -36
  390. data/features/users/logging_out.feature +0 -13
  391. data/features/users/resetting_password.feature +0 -34
  392. data/gemfiles/rails_42.gemfile +0 -10
  393. data/gemfiles/rails_50.gemfile +0 -10
  394. data/gemfiles/rails_51.gemfile +0 -10
  395. data/gemfiles/rails_52.gemfile +0 -11
  396. data/lib/active_admin/event.rb +0 -24
  397. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  398. data/lib/active_admin/helpers/settings.rb +0 -114
  399. data/lib/active_admin/reloader.rb +0 -25
  400. data/lib/bug_report_templates/active_admin_master.rb +0 -112
  401. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  402. data/spec/bug_report_templates_spec.rb +0 -26
  403. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  404. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  405. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  406. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  407. data/spec/javascripts/fixtures/flashes.html +0 -2
  408. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  409. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  410. data/spec/javascripts/support/jasmine.yml +0 -74
  411. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  412. data/spec/rails_helper.rb +0 -59
  413. data/spec/requests/default_namespace_spec.rb +0 -81
  414. data/spec/requests/memory_spec.rb +0 -25
  415. data/spec/requests/stylesheets_spec.rb +0 -18
  416. data/spec/spec_helper.rb +0 -1
  417. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  418. data/spec/support/active_admin_request_helpers.rb +0 -39
  419. data/spec/support/rails_template.rb +0 -153
  420. data/spec/support/rails_template_with_data.rb +0 -327
  421. data/spec/support/templates/admin/stores.rb +0 -7
  422. data/spec/support/templates/en.yml +0 -8
  423. data/spec/support/templates/manifest.js +0 -3
  424. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  425. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  426. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  427. data/spec/support/templates/policies/application_policy.rb +0 -44
  428. data/spec/support/templates/policies/category_policy.rb +0 -7
  429. data/spec/support/templates/policies/post_policy.rb +0 -15
  430. data/spec/support/templates/policies/store_policy.rb +0 -11
  431. data/spec/support/templates/policies/user_policy.rb +0 -11
  432. data/spec/support/templates/post_decorator.rb +0 -24
  433. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  434. data/spec/unit/action_builder_spec.rb +0 -158
  435. data/spec/unit/active_admin_spec.rb +0 -11
  436. data/spec/unit/application_spec.rb +0 -184
  437. data/spec/unit/asset_registration_spec.rb +0 -81
  438. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  439. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  440. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  441. data/spec/unit/auto_link_spec.rb +0 -93
  442. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  443. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  444. data/spec/unit/belongs_to_spec.rb +0 -76
  445. data/spec/unit/cancan_adapter_spec.rb +0 -43
  446. data/spec/unit/comments_spec.rb +0 -176
  447. data/spec/unit/component_spec.rb +0 -18
  448. data/spec/unit/config_shared_examples.rb +0 -59
  449. data/spec/unit/controller_filters_spec.rb +0 -41
  450. data/spec/unit/csv_builder_spec.rb +0 -313
  451. data/spec/unit/dependency_spec.rb +0 -135
  452. data/spec/unit/devise_spec.rb +0 -110
  453. data/spec/unit/dsl_spec.rb +0 -120
  454. data/spec/unit/filters/active_filter_spec.rb +0 -189
  455. data/spec/unit/filters/active_spec.rb +0 -24
  456. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  457. data/spec/unit/filters/resource_spec.rb +0 -128
  458. data/spec/unit/form_builder_spec.rb +0 -990
  459. data/spec/unit/generators/install_spec.rb +0 -31
  460. data/spec/unit/helpers/collection_spec.rb +0 -68
  461. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  462. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  463. data/spec/unit/helpers/settings_spec.rb +0 -30
  464. data/spec/unit/i18n_spec.rb +0 -29
  465. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  466. data/spec/unit/menu_collection_spec.rb +0 -62
  467. data/spec/unit/menu_item_spec.rb +0 -141
  468. data/spec/unit/menu_spec.rb +0 -71
  469. data/spec/unit/namespace/authorization_spec.rb +0 -27
  470. data/spec/unit/namespace/register_page_spec.rb +0 -99
  471. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  472. data/spec/unit/namespace_spec.rb +0 -124
  473. data/spec/unit/order_clause_spec.rb +0 -81
  474. data/spec/unit/page_controller_spec.rb +0 -5
  475. data/spec/unit/page_spec.rb +0 -128
  476. data/spec/unit/pretty_format_spec.rb +0 -82
  477. data/spec/unit/pundit_adapter_spec.rb +0 -98
  478. data/spec/unit/resource/action_items_spec.rb +0 -69
  479. data/spec/unit/resource/attributes_spec.rb +0 -49
  480. data/spec/unit/resource/includes_spec.rb +0 -21
  481. data/spec/unit/resource/menu_spec.rb +0 -18
  482. data/spec/unit/resource/naming_spec.rb +0 -122
  483. data/spec/unit/resource/ordering_spec.rb +0 -35
  484. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  485. data/spec/unit/resource/pagination_spec.rb +0 -38
  486. data/spec/unit/resource/routes_spec.rb +0 -125
  487. data/spec/unit/resource/scopes_spec.rb +0 -50
  488. data/spec/unit/resource/sidebars_spec.rb +0 -43
  489. data/spec/unit/resource_collection_spec.rb +0 -175
  490. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  491. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  492. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  493. data/spec/unit/resource_controller_spec.rb +0 -273
  494. data/spec/unit/resource_registration_spec.rb +0 -61
  495. data/spec/unit/resource_spec.rb +0 -320
  496. data/spec/unit/routing_spec.rb +0 -211
  497. data/spec/unit/scope_spec.rb +0 -209
  498. data/spec/unit/settings_spec.rb +0 -117
  499. data/spec/unit/view_factory_spec.rb +0 -19
  500. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  501. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  502. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  503. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  504. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  505. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  506. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  507. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  508. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  509. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  510. data/spec/unit/views/components/columns_spec.rb +0 -187
  511. data/spec/unit/views/components/index_list_spec.rb +0 -49
  512. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  513. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  514. data/spec/unit/views/components/panel_spec.rb +0 -58
  515. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  516. data/spec/unit/views/components/site_title_spec.rb +0 -76
  517. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  518. data/spec/unit/views/components/table_for_spec.rb +0 -436
  519. data/spec/unit/views/components/tabs_spec.rb +0 -67
  520. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  521. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  522. data/spec/unit/views/pages/form_spec.rb +0 -54
  523. data/spec/unit/views/pages/index_spec.rb +0 -60
  524. data/spec/unit/views/pages/layout_spec.rb +0 -59
  525. data/spec/unit/views/pages/show_spec.rb +0 -32
  526. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  527. data/tasks/docs.rake +0 -64
  528. data/tasks/lint.rake +0 -21
  529. data/tasks/local.rake +0 -25
  530. data/tasks/parallel_tests.rake +0 -66
  531. data/tasks/test.rake +0 -29
@@ -1,138 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe MethodOrProcHelper do
4
- let(:receiver) { double }
5
-
6
- let(:context) do
7
- obj = double receiver_in_context: receiver
8
- obj.extend MethodOrProcHelper
9
- obj
10
- end
11
-
12
- describe "#call_method_or_exec_proc" do
13
-
14
- it "should call the method in the context when a symbol" do
15
- expect(context.call_method_or_exec_proc(:receiver_in_context)).to eq receiver
16
- end
17
-
18
- it "should call the method in the context when a string" do
19
- expect(context.call_method_or_exec_proc("receiver_in_context")).to eq receiver
20
- end
21
-
22
- it "should exec a proc in the context" do
23
- test_proc = Proc.new{ raise "Success" if receiver_in_context }
24
-
25
- expect {
26
- context.call_method_or_exec_proc(test_proc)
27
- }.to raise_error("Success")
28
- end
29
-
30
- end
31
-
32
- describe "#call_method_or_proc_on" do
33
-
34
- [:hello, 'hello'].each do |key|
35
- context "when a #{key.class}" do
36
- it "should call the method on the receiver" do
37
- expect(receiver).to receive(key).and_return 'hello'
38
-
39
- expect(context.call_method_or_proc_on(receiver, key)).to eq 'hello'
40
- end
41
-
42
- it "should receive additional arguments" do
43
- expect(receiver).to receive(key).with(:world).and_return 'hello world'
44
-
45
- expect(context.call_method_or_proc_on(receiver, key, :world)).to eq 'hello world'
46
- end
47
- end
48
- end
49
-
50
- context "when a proc" do
51
-
52
- it "should exec the block in the context and pass in the receiver" do
53
- test_proc = Proc.new do |arg|
54
- raise "Success!" if arg == receiver_in_context
55
- end
56
-
57
- expect {
58
- context.call_method_or_proc_on(receiver, test_proc)
59
- }.to raise_error("Success!")
60
- end
61
-
62
- it "should receive additional arguments" do
63
- test_proc = Proc.new do |arg1, arg2|
64
- raise "Success!" if arg1 == receiver_in_context && arg2 == "Hello"
65
- end
66
-
67
- expect {
68
- context.call_method_or_proc_on(receiver, test_proc, "Hello")
69
- }.to raise_error("Success!")
70
- end
71
-
72
- end
73
-
74
- context "when a proc and exec: false" do
75
-
76
- it "should call the proc and pass in the receiver" do
77
- obj_not_in_context = double
78
-
79
- test_proc = Proc.new do |arg|
80
- raise "Success!" if arg == receiver && obj_not_in_context
81
- end
82
-
83
- expect {
84
- context.call_method_or_proc_on(receiver, test_proc, exec: false)
85
- }.to raise_error("Success!")
86
- end
87
-
88
- end
89
-
90
- end
91
-
92
- describe "#render_or_call_method_or_proc_on" do
93
- [ :symbol, Proc.new{} ].each do |key|
94
- context "when a #{key.class}" do
95
- it "should call #call_method_or_proc_on" do
96
- options = { foo: :bar }
97
- expect(context).to receive(:call_method_or_proc_on).with(receiver, key, options).and_return("data")
98
- expect(context.render_or_call_method_or_proc_on(receiver, key, options)).to eq "data"
99
- end
100
- end
101
- end
102
-
103
- context "when a string" do
104
- it "should return the string" do
105
- expect(context.render_or_call_method_or_proc_on(receiver, "string")).to eq "string"
106
- end
107
- end
108
- end
109
-
110
- describe "#render_in_context" do
111
- let(:args) { [1, 2, 3] }
112
-
113
- context "when a Proc" do
114
- let(:object) { Proc.new { } }
115
-
116
- it "should instance_exec the Proc" do
117
- expect(receiver).to receive(:instance_exec).with(args, &object).and_return("data")
118
- expect(context.render_in_context(receiver, object, args)).to eq "data"
119
- end
120
- end
121
-
122
- context "when a Symbol" do
123
- it "should send the symbol" do
124
- expect(receiver).to receive(:public_send).with(:symbol, args).and_return("data")
125
- expect(context.render_in_context(receiver, :symbol, args)).to eq "data"
126
- end
127
- end
128
-
129
- context "when a Object (not Proc or String)" do
130
- let(:object) { Object.new }
131
-
132
- it "should return the Object" do
133
- expect(context.render_in_context(receiver, object)).to eq object
134
- end
135
- end
136
- end
137
-
138
- end
@@ -1,271 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::AttributesTable do
4
-
5
- describe "creating with the dsl" do
6
- let(:helpers) { action_view }
7
-
8
- let(:post) do
9
- post = Post.new title: "Hello World", body: nil
10
- allow(post).to receive(:id){ 1 }
11
- allow(post).to receive(:new_record?){ false }
12
- post
13
- end
14
-
15
- let(:assigns){ { post: post } }
16
-
17
- # Loop through a few different ways to make the same table
18
- # and ensure that they produce the same results
19
- {
20
- "when attributes are passed in to the builder methods" => proc {
21
- render_arbre_component(assigns) {
22
- attributes_table_for post, :id, :title, :body
23
- }
24
- },
25
- "when attributes are built using the block" => proc {
26
- render_arbre_component(assigns) {
27
- attributes_table_for post do
28
- rows :id, :title, :body
29
- end
30
- }
31
- },
32
- "when each attribute is passed in by itself" => proc {
33
- render_arbre_component(assigns) {
34
- attributes_table_for post do
35
- row :id
36
- row :title
37
- row :body
38
- end
39
- }
40
- },
41
- "when you create each row with a custom block" => proc {
42
- render_arbre_component(assigns) {
43
- attributes_table_for post do
44
- row("Id") { post.id }
45
- row("Title"){ post.title }
46
- row("Body") { post.body }
47
- end
48
- }
49
- },
50
- "when you create each row with a custom block that returns nil" => proc {
51
- render_arbre_component(assigns) {
52
- attributes_table_for post do
53
- row("Id") { text_node post.id; nil }
54
- row("Title"){ text_node post.title; nil }
55
- row("Body") { text_node post.body; nil }
56
- end
57
- }
58
- },
59
- }.each do |context_title, table_decleration|
60
- context context_title do
61
- let(:table) { instance_eval &table_decleration }
62
-
63
- it "should render a div wrapper with the class '.attributes_table'" do
64
- expect(table.tag_name).to eq 'div'
65
- expect(table.attr(:class)).to include('attributes_table')
66
- end
67
-
68
- it "should add id and type class" do
69
- expect(table.class_names).to include("post")
70
- expect(table.id).to eq "attributes_table_post_1"
71
- end
72
-
73
- it "should render 3 rows" do
74
- expect(table.find_by_tag("tr").size).to eq 3
75
- end
76
-
77
- describe "rendering the rows" do
78
- [
79
- ["Id" , "1"],
80
- ["Title" , "Hello World"],
81
- ["Body" , "<span class=\"empty\">Empty</span>"]
82
- ].each_with_index do |(title, content), i|
83
- describe "for #{title}" do
84
- let(:current_row){ table.find_by_tag("tr")[i] }
85
-
86
- it "should have the title '#{title}'" do
87
- expect(current_row.find_by_tag("th").first.content).to eq title
88
- end
89
-
90
- it "should have the content '#{content}'" do
91
- expect(current_row.find_by_tag("td").first.content.chomp.strip).to eq content
92
- end
93
- end
94
- end
95
- end # describe rendering rows
96
-
97
- end
98
- end # describe dsl styles
99
-
100
- it "should add a class for each row based on the col name" do
101
- table = render_arbre_component(assigns) {
102
- attributes_table_for(post) do
103
- row :title
104
- row :created_at
105
- end
106
- }
107
- expect(table.find_by_tag("tr").first.to_s.
108
- split("\n").first.lstrip).
109
- to eq '<tr class="row row-title">'
110
-
111
- expect(table.find_by_tag("tr").last.to_s.
112
- split("\n").first.lstrip).
113
- to eq '<tr class="row row-created_at">'
114
- end
115
-
116
- it "should allow html options for the row itself" do
117
- table = render_arbre_component(assigns) {
118
- attributes_table_for(post) do
119
- row("Wee", class: "custom_row", style: "custom_style") { }
120
- end
121
- }
122
- expect(table.find_by_tag("tr").first.to_s.split("\n").first.lstrip).
123
- to eq '<tr class="row custom_row" style="custom_style">'
124
- end
125
-
126
- it "should allow html content inside the attributes table" do
127
- table = render_arbre_component(assigns) {
128
- attributes_table_for(post) do
129
- row("ID"){ span(post.id, class: 'id') }
130
- end
131
- }
132
- expect(table.find_by_tag("td").first.content.chomp.strip).to eq "<span class=\"id\">1</span>"
133
- end
134
-
135
- context 'an attribute ending in _id' do
136
- before do
137
- post.foo_id = 23
138
- post.author = User.new username: 'john_doe', first_name: 'John', last_name: 'Doe'
139
- end
140
- it 'should call the association if one exists' do
141
- table = render_arbre_component assigns do
142
- attributes_table_for post, :author
143
- end
144
- expect(table.find_by_tag('th').first.content).to eq 'Author'
145
- expect(table.find_by_tag('td').first.content).to eq 'John Doe'
146
- end
147
- it 'should not attempt to call a nonexistant association' do
148
- table = render_arbre_component assigns do
149
- attributes_table_for post, :foo_id
150
- end
151
- expect(table.find_by_tag('th').first.content).to eq 'Foo'
152
- expect(table.find_by_tag('td').first.content).to eq '23'
153
- end
154
- end
155
-
156
- context "with a collection" do
157
- let(:posts) do
158
- [Post.new(title: "Hello World", id: 1), Post.new(title: "Multi Column", id: 2)].each_with_index do |post, index|
159
- allow(post).to receive(:id).and_return(index + 1)
160
- allow(post).to receive(:new_record?).and_return(false)
161
- end
162
- end
163
-
164
- let(:assigns) { { posts: posts } }
165
-
166
- let(:table) do
167
- render_arbre_component(assigns) do
168
- attributes_table_for posts, :id, :title
169
- end
170
- end
171
-
172
- it "does not set id on the table" do
173
- expect(table.attr(:id)).to eq nil
174
- end
175
-
176
- context "colgroup" do
177
- let(:cols) { table.find_by_tag "col" }
178
-
179
- it "contains a col for each record (plus headers)" do
180
- expect(cols.size).to eq (2 + 1)
181
- end
182
-
183
- it "assigns an id to each col" do
184
- cols[1..-1].each_with_index do |col, index|
185
- expect(col.id).to eq "attributes_table_post_#{index + 1}"
186
- end
187
- end
188
-
189
- it "assigns a class to each col" do
190
- cols[1..-1].each_with_index do |col, index|
191
- expect(col.class_names).to include("post")
192
- end
193
- end
194
-
195
- it "assigns alternation classes to each col" do
196
- cols[1..-1].each_with_index do |col, index|
197
- expect(col.class_names).to include(["even", "odd"][index % 2])
198
- end
199
- end
200
- end
201
-
202
- context "when rendering the rows" do
203
- it "should contain 3 columns" do
204
- expect(table.find_by_tag("tr").first.children.size).to eq 3
205
- end
206
-
207
- [
208
- ["Id" , "1", "2"],
209
- ["Title", "Hello World", "Multi Column"],
210
- ].each_with_index do |set, i|
211
- describe "for #{set[0]}" do
212
- let(:title){ set[0] }
213
- let(:content){ set[1] }
214
- let(:current_row){ table.find_by_tag("tr")[i] }
215
-
216
- it "should have the title '#{set[0]}'" do
217
- expect(current_row.find_by_tag("th").first.content).to eq title
218
- end
219
-
220
- context "with defined attribute name translation" do
221
- it "should have the translated attribute name in the title" do
222
- with_translation activerecord: {attributes: {post: {title: 'Translated Title', id: 'Translated Id'}}} do
223
- expect(current_row.find_by_tag("th").first.content).to eq "Translated #{title}"
224
- end
225
- end
226
- end
227
-
228
- set[1..-1].each_with_index do |content, index|
229
- it "column #{index} should have the content '#{content}'" do
230
- expect(current_row.find_by_tag("td")[index].content.chomp.strip).to eq content
231
- end
232
- end
233
- end
234
- end
235
- end # describe rendering rows
236
- end # with a collection
237
-
238
- context "when using a single Hash" do
239
- let(:table) do
240
- render_arbre_component nil, helpers do
241
- attributes_table_for foo: 1, bar: 2 do
242
- row :foo
243
- row :bar
244
- end
245
- end
246
- end
247
- it "should render" do
248
- expect(table.find_by_tag("th")[0].content).to eq "Foo"
249
- expect(table.find_by_tag("th")[1].content).to eq "Bar"
250
- expect(table.find_by_tag("td")[0].content).to eq "1"
251
- expect(table.find_by_tag("td")[1].content).to eq "2"
252
- end
253
- end
254
-
255
- context "when using an Array of Hashes" do
256
- let(:table) do
257
- render_arbre_component nil, helpers do
258
- attributes_table_for [{foo: 1}, {foo: 2}] do
259
- row :foo
260
- end
261
- end
262
- end
263
- it "should render" do
264
- expect(table.find_by_tag("th")[0].content).to eq "Foo"
265
- expect(table.find_by_tag("td")[0].content).to eq "1"
266
- expect(table.find_by_tag("td")[1].content).to eq "2"
267
- end
268
- end
269
- end
270
-
271
- end
@@ -1,43 +0,0 @@
1
- require 'rails_helper'
2
- require 'active_admin/batch_actions/views/batch_action_selector'
3
-
4
- RSpec.describe ActiveAdmin::BatchActions::BatchActionSelector do
5
-
6
- let(:dropdown) do
7
- render_arbre_component do
8
- batch_action_selector [
9
- ActiveAdmin::BatchAction.new(:action_1, "Action 1"),
10
- ActiveAdmin::BatchAction.new(:action_2, "Action 2"),
11
- ActiveAdmin::BatchAction.new(:action_3, "Action 3")
12
- ]
13
- end
14
- end
15
-
16
- describe "the action list" do
17
- subject do
18
- dropdown.find_by_class("dropdown_menu_list").first
19
- end
20
-
21
- describe '#tag_name' do
22
- subject { super().tag_name }
23
- it { is_expected.to eql("ul") }
24
- end
25
-
26
- describe '#content' do
27
- subject { super().content }
28
- it{ is_expected.to include("class=\"batch_action\" data-action=\"action_1\"") }
29
- end
30
-
31
- describe '#content' do
32
- subject { super().content }
33
- it{ is_expected.to include("class=\"batch_action\" data-action=\"action_2\"") }
34
- end
35
-
36
- describe '#content' do
37
- subject { super().content }
38
- it{ is_expected.to include("class=\"batch_action\" data-action=\"action_3\"") }
39
- end
40
-
41
- end
42
-
43
- end
@@ -1,27 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::BlankSlate do
4
-
5
- describe "#blank_slate" do
6
- subject do
7
- render_arbre_component do
8
- blank_slate("There are no Posts yet. <a href=\"/posts/new\">Create one</a></span>")
9
- end
10
- end
11
-
12
- describe '#tag_name' do
13
- subject { super().tag_name }
14
- it { is_expected.to eql 'div' }
15
- end
16
-
17
- describe '#class_list' do
18
- subject { super().class_list }
19
- it { is_expected.to include('blank_slate_container') }
20
- end
21
-
22
- describe '#content' do
23
- subject { super().content }
24
- it { is_expected.to include '<span class="blank_slate">There are no Posts yet. <a href="/posts/new">Create one</a></span>' }
25
- end
26
- end
27
- end
@@ -1,187 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::Columns do
4
-
5
- describe "Rendering zero columns" do
6
- let(:cols) do
7
- render_arbre_component do
8
- columns do
9
- end
10
- end
11
- end
12
-
13
- it "should have the class .columns" do
14
- expect(cols.class_list).to include("columns")
15
- end
16
-
17
- it "should have one column" do
18
- expect(cols.children.first.class_list).not_to include("column")
19
- end
20
- end
21
-
22
- describe "Rendering one column" do
23
- let(:cols) do
24
- render_arbre_component do
25
- columns do
26
- column { span "Hello World" }
27
- end
28
- end
29
- end
30
-
31
- it "should have the class .columns" do
32
- expect(cols.class_list).to include("columns")
33
- end
34
-
35
- it "should have one column" do
36
- expect(cols.children.size).to eq 1
37
- expect(cols.children.first.class_list).to include("column")
38
- end
39
-
40
- it "should have one column with the width 100.0%" do
41
- expect(cols.children.first.attr(:style)).to include("width: 100.0%")
42
- end
43
- end
44
-
45
- describe "Rendering two columns" do
46
- let(:cols) do
47
- render_arbre_component do
48
- columns do
49
- column { span "Hello World" }
50
- column { span "Hello World" }
51
- end
52
- end
53
- end
54
-
55
- it "should have two columns" do
56
- expect(cols.children.size).to eq 2
57
- end
58
-
59
- it "should have a first column with width 49% and margin 2%" do
60
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; margin-right: 2%;"
61
- end
62
-
63
- it "should have a second column with width 49% and no right margin" do
64
- expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
65
- end
66
- end
67
-
68
- describe "Rendering four columns" do
69
- let(:cols) do
70
- render_arbre_component do
71
- columns do
72
- column { span "Hello World" }
73
- column { span "Hello World" }
74
- column { span "Hello World" }
75
- column { span "Hello World" }
76
- end
77
- end
78
- end
79
-
80
- it "should have four columns" do
81
- expect(cols.children.size).to eq 4
82
- end
83
-
84
- (0..2).to_a.each do |index|
85
- it "should have column #{index + 1} with width 49% and margin 2%" do
86
- expect(cols.children[index].attr(:style)).to eq "width: 23.5%; margin-right: 2%;"
87
- end
88
- end
89
-
90
- it "should have column 4 with width 49% and no margin" do
91
- expect(cols.children[3].attr(:style)).to eq "width: 23.5%;"
92
- end
93
- end
94
-
95
- describe "Column Spans" do
96
- let(:cols) do
97
- render_arbre_component do
98
- columns do
99
- column(span: 2){ "Hello World" }
100
- column(){ "Hello World" }
101
- column(){ "Hello World" }
102
- end
103
- end
104
- end
105
-
106
- it "should set the span when declared" do
107
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; margin-right: 2%;"
108
- end
109
-
110
- it "should default to 1 if not passed in" do
111
- expect(cols.children.last.attr(:style)).to eq "width: 23.5%;"
112
- end
113
- end
114
-
115
- describe "Column max width" do
116
-
117
- let(:cols) do
118
- render_arbre_component do
119
- columns do
120
- column(max_width: "100px"){ "Hello World" }
121
- column(){ "Hello World" }
122
- end
123
- end
124
- end
125
-
126
- it "should set the max with if passed in" do
127
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; max-width: 100px; margin-right: 2%;"
128
- end
129
-
130
- it "should omit the value if not present" do
131
- expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
132
- end
133
-
134
- context "when passed an integer value" do
135
- let(:cols) do
136
- render_arbre_component do
137
- columns do
138
- column(max_width: 100){ "Hello World" }
139
- column(){ "Hello World" }
140
- end
141
- end
142
- end
143
-
144
- it "should be treated as pixels" do
145
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; max-width: 100px; margin-right: 2%;"
146
- end
147
- end
148
-
149
- end
150
-
151
- describe "Column min width" do
152
-
153
- let(:cols) do
154
- render_arbre_component do
155
- columns do
156
- column(min_width: "100px"){ "Hello World" }
157
- column(){ "Hello World" }
158
- end
159
- end
160
- end
161
-
162
- it "should set the min with if passed in" do
163
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; min-width: 100px; margin-right: 2%;"
164
- end
165
-
166
- it "should omit the value if not present" do
167
- expect(cols.children.last.attr(:style)).to eq "width: 49.0%;"
168
- end
169
-
170
- context "when passed an integer value" do
171
- let(:cols) do
172
- render_arbre_component do
173
- columns do
174
- column(min_width: 100){ "Hello World" }
175
- column(){ "Hello World" }
176
- end
177
- end
178
- end
179
-
180
- it "should be treated as pixels" do
181
- expect(cols.children.first.attr(:style)).to eq "width: 49.0%; min-width: 100px; margin-right: 2%;"
182
- end
183
- end
184
-
185
- end
186
-
187
- end