activeadmin 1.1.0 → 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 (465) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +469 -100
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +89 -47
  5. data/README.md +73 -19
  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/_forms.scss +3 -15
  21. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  22. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  24. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  25. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  26. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  27. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  28. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  29. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  30. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  31. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  32. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  33. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  34. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  35. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  36. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  37. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  38. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  39. data/config/locales/ar.yml +3 -2
  40. data/config/locales/bg.yml +1 -1
  41. data/config/locales/bs.yml +1 -0
  42. data/config/locales/ca.yml +1 -1
  43. data/config/locales/cs.yml +1 -0
  44. data/config/locales/da.yml +1 -0
  45. data/config/locales/de-CH.yml +1 -0
  46. data/config/locales/de.yml +29 -0
  47. data/config/locales/el.yml +1 -0
  48. data/config/locales/en-CA.yml +1 -0
  49. data/config/locales/en-GB.yml +1 -0
  50. data/config/locales/en.yml +21 -1
  51. data/config/locales/eo.yml +145 -0
  52. data/config/locales/es-MX.yml +1 -0
  53. data/config/locales/es.yml +21 -1
  54. data/config/locales/fa.yml +1 -0
  55. data/config/locales/fi.yml +2 -1
  56. data/config/locales/fr.yml +2 -1
  57. data/config/locales/he.yml +1 -1
  58. data/config/locales/hr.yml +1 -0
  59. data/config/locales/hu.yml +5 -0
  60. data/config/locales/id.yml +1 -0
  61. data/config/locales/it.yml +13 -3
  62. data/config/locales/ja.yml +6 -0
  63. data/config/locales/ko.yml +1 -0
  64. data/config/locales/lt.yml +3 -2
  65. data/config/locales/lv.yml +1 -0
  66. data/config/locales/mk.yml +134 -0
  67. data/config/locales/nb.yml +16 -5
  68. data/config/locales/nl.yml +12 -0
  69. data/config/locales/pl.yml +72 -3
  70. data/config/locales/pt-BR.yml +9 -0
  71. data/config/locales/pt-PT.yml +1 -0
  72. data/config/locales/ro.yml +1 -0
  73. data/config/locales/ru.yml +3 -0
  74. data/config/locales/sk.yml +60 -0
  75. data/config/locales/sv-SE.yml +3 -0
  76. data/config/locales/tr.yml +10 -0
  77. data/config/locales/uk.yml +3 -0
  78. data/config/locales/vi.yml +48 -6
  79. data/config/locales/zh-CN.yml +34 -5
  80. data/config/locales/zh-TW.yml +1 -0
  81. data/docs/.gitignore +1 -0
  82. data/docs/0-installation.md +2 -2
  83. data/docs/1-general-configuration.md +16 -1
  84. data/docs/10-custom-pages.md +14 -0
  85. data/docs/12-arbre-components.md +41 -1
  86. data/docs/13-authorization-adapter.md +41 -22
  87. data/docs/2-resource-customization.md +10 -5
  88. data/docs/3-index-pages/custom-index.md +1 -1
  89. data/docs/3-index-pages/index-as-blog.md +1 -1
  90. data/docs/3-index-pages/index-as-table.md +12 -5
  91. data/docs/3-index-pages.md +17 -0
  92. data/docs/5-forms.md +16 -2
  93. data/docs/8-custom-actions.md +11 -0
  94. data/docs/CNAME +1 -1
  95. data/docs/Gemfile +2 -1
  96. data/docs/Gemfile.lock +248 -0
  97. data/docs/_config.yml +3 -1
  98. data/docs/_includes/toc.html +1 -1
  99. data/docs/_includes/top-menu.html +9 -1
  100. data/docs/documentation.md +1 -1
  101. data/docs/images/tidelift.svg +14 -0
  102. data/docs/index.html +109 -8
  103. data/docs/stylesheets/main.css +55 -2
  104. data/lib/active_admin/abstract_view_factory.rb +13 -51
  105. data/lib/active_admin/application.rb +52 -159
  106. data/lib/active_admin/application_settings.rb +42 -0
  107. data/lib/active_admin/asset_registration.rb +0 -8
  108. data/lib/active_admin/base_controller/authorization.rb +4 -6
  109. data/lib/active_admin/base_controller.rb +6 -6
  110. data/lib/active_admin/batch_actions/controller.rb +2 -2
  111. data/lib/active_admin/batch_actions/resource_extension.rb +9 -5
  112. data/lib/active_admin/callbacks.rb +1 -1
  113. data/lib/active_admin/controller_action.rb +2 -1
  114. data/lib/active_admin/csv_builder.rb +10 -7
  115. data/lib/active_admin/dependency.rb +3 -67
  116. data/lib/active_admin/deprecation.rb +0 -25
  117. data/lib/active_admin/dsl.rb +1 -8
  118. data/lib/active_admin/dynamic_setting.rb +38 -0
  119. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  120. data/lib/active_admin/engine.rb +5 -0
  121. data/lib/active_admin/error.rb +4 -2
  122. data/lib/active_admin/filters/active_filter.rb +49 -12
  123. data/lib/active_admin/filters/active_sidebar.rb +6 -2
  124. data/lib/active_admin/filters/forms.rb +7 -4
  125. data/lib/active_admin/filters/formtastic_addons.rb +1 -1
  126. data/lib/active_admin/filters/resource_extension.rb +28 -4
  127. data/lib/active_admin/form_builder.rb +98 -63
  128. data/lib/active_admin/generators/boilerplate.rb +12 -4
  129. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  130. data/lib/active_admin/inputs/datepicker_input.rb +8 -1
  131. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  132. data/lib/active_admin/inputs/filters/select_input.rb +5 -1
  133. data/lib/active_admin/menu.rb +2 -8
  134. data/lib/active_admin/menu_item.rb +4 -32
  135. data/lib/active_admin/namespace.rb +20 -8
  136. data/lib/active_admin/namespace_settings.rb +123 -0
  137. data/lib/active_admin/order_clause.rb +2 -2
  138. data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
  139. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +17 -7
  140. data/lib/active_admin/orm/active_record/comments.rb +15 -4
  141. data/lib/active_admin/page_dsl.rb +1 -1
  142. data/lib/active_admin/page_presenter.rb +2 -1
  143. data/lib/active_admin/pundit_adapter.rb +18 -5
  144. data/lib/active_admin/resource/action_items.rb +7 -2
  145. data/lib/active_admin/resource/attributes.rb +7 -4
  146. data/lib/active_admin/resource/belongs_to.rb +6 -1
  147. data/lib/active_admin/resource/menu.rb +3 -3
  148. data/lib/active_admin/resource/model.rb +15 -0
  149. data/lib/active_admin/resource/naming.rb +3 -3
  150. data/lib/active_admin/resource/routes.rb +20 -7
  151. data/lib/active_admin/resource/scopes.rb +3 -3
  152. data/lib/active_admin/resource/sidebars.rb +1 -1
  153. data/lib/active_admin/resource.rb +17 -3
  154. data/lib/active_admin/resource_collection.rb +2 -2
  155. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  156. data/lib/active_admin/resource_controller/data_access.rb +5 -1
  157. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  158. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  159. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  160. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  161. data/lib/active_admin/resource_controller.rb +2 -0
  162. data/lib/active_admin/resource_dsl.rb +7 -3
  163. data/lib/active_admin/router.rb +90 -84
  164. data/lib/active_admin/scope.rb +16 -8
  165. data/lib/active_admin/settings_node.rb +19 -0
  166. data/lib/active_admin/sidebar_section.rb +3 -1
  167. data/lib/active_admin/version.rb +1 -1
  168. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  169. data/lib/active_admin/view_helpers/display_helper.rb +13 -4
  170. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  171. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  172. data/lib/active_admin/view_helpers.rb +1 -1
  173. data/lib/active_admin/views/components/active_admin_form.rb +9 -4
  174. data/lib/active_admin/views/components/attributes_table.rb +3 -3
  175. data/lib/active_admin/views/components/menu.rb +32 -0
  176. data/lib/active_admin/views/components/menu_item.rb +58 -0
  177. data/lib/active_admin/views/components/paginated_collection.rb +3 -3
  178. data/lib/active_admin/views/components/scopes.rb +11 -4
  179. data/lib/active_admin/views/components/sidebar.rb +13 -0
  180. data/lib/active_admin/views/components/site_title.rb +5 -6
  181. data/lib/active_admin/views/components/status_tag.rb +6 -19
  182. data/lib/active_admin/views/components/table_for.rb +3 -12
  183. data/lib/active_admin/views/components/tabs.rb +15 -3
  184. data/lib/active_admin/views/footer.rb +3 -7
  185. data/lib/active_admin/views/header.rb +3 -15
  186. data/lib/active_admin/views/index_as_blog.rb +1 -1
  187. data/lib/active_admin/views/index_as_grid.rb +25 -25
  188. data/lib/active_admin/views/index_as_table.rb +18 -10
  189. data/lib/active_admin/views/pages/base.rb +30 -53
  190. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  191. data/lib/active_admin/views.rb +1 -1
  192. data/lib/active_admin.rb +10 -4
  193. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  194. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  195. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  196. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +38 -3
  197. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  198. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  199. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  200. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  201. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  202. data/lib/ransack_ext.rb +3 -3
  203. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  204. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  205. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  206. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  207. metadata +127 -523
  208. data/.github/ISSUE_TEMPLATE.md +0 -20
  209. data/.gitignore +0 -49
  210. data/.mdlrc +0 -1
  211. data/.rubocop.yml +0 -76
  212. data/.simplecov +0 -13
  213. data/.travis.yml +0 -51
  214. data/.yardopts +0 -7
  215. data/Gemfile +0 -58
  216. data/Rakefile +0 -54
  217. data/activeadmin.gemspec +0 -32
  218. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  219. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  220. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  221. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  222. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  223. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  224. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  225. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  226. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  227. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  228. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  229. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  230. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  231. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  232. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  233. data/codecov.yml +0 -25
  234. data/config/i18n-tasks.yml +0 -26
  235. data/config/mdl_style.rb +0 -9
  236. data/cucumber.yml +0 -3
  237. data/features/action_item.feature +0 -73
  238. data/features/authorization.feature +0 -64
  239. data/features/authorization_cancan.feature +0 -52
  240. data/features/authorization_pundit.feature +0 -37
  241. data/features/belongs_to.feature +0 -124
  242. data/features/breadcrumb.feature +0 -75
  243. data/features/comments/commenting.feature +0 -178
  244. data/features/comments/viewing_index.feature +0 -19
  245. data/features/create_another.feature +0 -55
  246. data/features/dashboard.feature +0 -16
  247. data/features/decorators.feature +0 -43
  248. data/features/development_reloading.feature +0 -28
  249. data/features/edit_page.feature +0 -116
  250. data/features/favicon.feature +0 -20
  251. data/features/first_boot.feature +0 -16
  252. data/features/footer.feature +0 -28
  253. data/features/global_navigation.feature +0 -29
  254. data/features/i18n.feature +0 -55
  255. data/features/index/batch_actions.feature +0 -218
  256. data/features/index/filters.feature +0 -239
  257. data/features/index/format_as_csv.feature +0 -220
  258. data/features/index/formats.feature +0 -88
  259. data/features/index/index_as_block.feature +0 -15
  260. data/features/index/index_as_blog.feature +0 -69
  261. data/features/index/index_as_grid.feature +0 -45
  262. data/features/index/index_as_table.feature +0 -291
  263. data/features/index/index_blank_slate.feature +0 -83
  264. data/features/index/index_parameters.feature +0 -75
  265. data/features/index/index_scope_to.feature +0 -56
  266. data/features/index/index_scopes.feature +0 -285
  267. data/features/index/page_title.feature +0 -41
  268. data/features/index/pagination.feature +0 -63
  269. data/features/index/switch_index_view.feature +0 -73
  270. data/features/menu.feature +0 -72
  271. data/features/meta_tags.feature +0 -21
  272. data/features/new_page.feature +0 -107
  273. data/features/registering_assets.feature +0 -38
  274. data/features/registering_pages.feature +0 -237
  275. data/features/registering_resources.feature +0 -33
  276. data/features/renamed_resource.feature +0 -30
  277. data/features/root_to.feature +0 -17
  278. data/features/show/attributes_table_title.feature +0 -54
  279. data/features/show/columns.feature +0 -40
  280. data/features/show/default_content.feature +0 -44
  281. data/features/show/page_title.feature +0 -58
  282. data/features/show/tabs.feature +0 -33
  283. data/features/sidebar_sections.feature +0 -210
  284. data/features/site_title.feature +0 -47
  285. data/features/specifying_actions.feature +0 -118
  286. data/features/step_definitions/action_item_steps.rb +0 -7
  287. data/features/step_definitions/action_link_steps.rb +0 -19
  288. data/features/step_definitions/additional_web_steps.rb +0 -81
  289. data/features/step_definitions/asset_steps.rb +0 -15
  290. data/features/step_definitions/attribute_steps.rb +0 -18
  291. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  292. data/features/step_definitions/batch_action_steps.rb +0 -81
  293. data/features/step_definitions/blog_steps.rb +0 -3
  294. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  295. data/features/step_definitions/column_steps.rb +0 -8
  296. data/features/step_definitions/comment_steps.rb +0 -32
  297. data/features/step_definitions/configuration_steps.rb +0 -100
  298. data/features/step_definitions/dashboard_steps.rb +0 -15
  299. data/features/step_definitions/factory_steps.rb +0 -35
  300. data/features/step_definitions/filter_steps.rb +0 -48
  301. data/features/step_definitions/flash_steps.rb +0 -11
  302. data/features/step_definitions/footer_steps.rb +0 -11
  303. data/features/step_definitions/format_steps.rb +0 -56
  304. data/features/step_definitions/i18n_steps.rb +0 -11
  305. data/features/step_definitions/index_scope_steps.rb +0 -29
  306. data/features/step_definitions/index_views_steps.rb +0 -3
  307. data/features/step_definitions/layout_steps.rb +0 -3
  308. data/features/step_definitions/member_link_steps.rb +0 -7
  309. data/features/step_definitions/menu_steps.rb +0 -11
  310. data/features/step_definitions/meta_tag_steps.rb +0 -3
  311. data/features/step_definitions/pagination_steps.rb +0 -15
  312. data/features/step_definitions/sidebar_steps.rb +0 -11
  313. data/features/step_definitions/site_title_steps.rb +0 -17
  314. data/features/step_definitions/tab_steps.rb +0 -8
  315. data/features/step_definitions/table_steps.rb +0 -116
  316. data/features/step_definitions/user_steps.rb +0 -52
  317. data/features/step_definitions/web_steps.rb +0 -86
  318. data/features/sti_resource.feature +0 -65
  319. data/features/strong_parameters.feature +0 -69
  320. data/features/support/env.rb +0 -122
  321. data/features/support/paths.rb +0 -73
  322. data/features/support/regular_env.rb +0 -7
  323. data/features/support/reload_env.rb +0 -7
  324. data/features/support/selectors.rb +0 -45
  325. data/features/users/logging_in.feature +0 -36
  326. data/features/users/logging_out.feature +0 -13
  327. data/features/users/resetting_password.feature +0 -34
  328. data/gemfiles/rails_42.gemfile +0 -10
  329. data/gemfiles/rails_50.gemfile +0 -10
  330. data/gemfiles/rails_51.gemfile +0 -10
  331. data/lib/active_admin/event.rb +0 -24
  332. data/lib/active_admin/helpers/settings.rb +0 -114
  333. data/lib/active_admin/reloader.rb +0 -25
  334. data/lib/bug_report_templates/active_admin_master.rb +0 -113
  335. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  336. data/spec/bug_report_templates_spec.rb +0 -26
  337. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  338. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  339. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  340. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  341. data/spec/javascripts/fixtures/flashes.html +0 -2
  342. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  343. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  344. data/spec/javascripts/support/jasmine.yml +0 -74
  345. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  346. data/spec/rails_helper.rb +0 -59
  347. data/spec/requests/default_namespace_spec.rb +0 -81
  348. data/spec/requests/memory_spec.rb +0 -25
  349. data/spec/requests/stylesheets_spec.rb +0 -18
  350. data/spec/spec_helper.rb +0 -1
  351. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  352. data/spec/support/active_admin_request_helpers.rb +0 -39
  353. data/spec/support/rails_template.rb +0 -150
  354. data/spec/support/rails_template_with_data.rb +0 -327
  355. data/spec/support/templates/admin/stores.rb +0 -7
  356. data/spec/support/templates/en.yml +0 -8
  357. data/spec/support/templates/manifest.js +0 -3
  358. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  359. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  360. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  361. data/spec/support/templates/policies/application_policy.rb +0 -44
  362. data/spec/support/templates/policies/category_policy.rb +0 -7
  363. data/spec/support/templates/policies/post_policy.rb +0 -15
  364. data/spec/support/templates/policies/store_policy.rb +0 -11
  365. data/spec/support/templates/policies/user_policy.rb +0 -11
  366. data/spec/support/templates/post_decorator.rb +0 -10
  367. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  368. data/spec/unit/action_builder_spec.rb +0 -125
  369. data/spec/unit/active_admin_spec.rb +0 -11
  370. data/spec/unit/application_spec.rb +0 -184
  371. data/spec/unit/asset_registration_spec.rb +0 -81
  372. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  373. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  374. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  375. data/spec/unit/auto_link_spec.rb +0 -93
  376. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  377. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  378. data/spec/unit/belongs_to_spec.rb +0 -76
  379. data/spec/unit/cancan_adapter_spec.rb +0 -43
  380. data/spec/unit/comments_spec.rb +0 -176
  381. data/spec/unit/component_spec.rb +0 -18
  382. data/spec/unit/config_shared_examples.rb +0 -59
  383. data/spec/unit/controller_filters_spec.rb +0 -41
  384. data/spec/unit/csv_builder_spec.rb +0 -304
  385. data/spec/unit/dependency_spec.rb +0 -135
  386. data/spec/unit/devise_spec.rb +0 -110
  387. data/spec/unit/dsl_spec.rb +0 -120
  388. data/spec/unit/filters/active_filter_spec.rb +0 -135
  389. data/spec/unit/filters/active_spec.rb +0 -24
  390. data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
  391. data/spec/unit/filters/resource_spec.rb +0 -128
  392. data/spec/unit/form_builder_spec.rb +0 -990
  393. data/spec/unit/generators/install_spec.rb +0 -31
  394. data/spec/unit/helpers/collection_spec.rb +0 -68
  395. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  396. data/spec/unit/helpers/settings_spec.rb +0 -30
  397. data/spec/unit/i18n_spec.rb +0 -29
  398. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  399. data/spec/unit/menu_collection_spec.rb +0 -62
  400. data/spec/unit/menu_item_spec.rb +0 -141
  401. data/spec/unit/menu_spec.rb +0 -71
  402. data/spec/unit/namespace/authorization_spec.rb +0 -27
  403. data/spec/unit/namespace/register_page_spec.rb +0 -99
  404. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  405. data/spec/unit/namespace_spec.rb +0 -124
  406. data/spec/unit/order_clause_spec.rb +0 -81
  407. data/spec/unit/page_controller_spec.rb +0 -5
  408. data/spec/unit/page_spec.rb +0 -128
  409. data/spec/unit/pretty_format_spec.rb +0 -82
  410. data/spec/unit/pundit_adapter_spec.rb +0 -98
  411. data/spec/unit/resource/action_items_spec.rb +0 -69
  412. data/spec/unit/resource/attributes_spec.rb +0 -49
  413. data/spec/unit/resource/includes_spec.rb +0 -21
  414. data/spec/unit/resource/menu_spec.rb +0 -18
  415. data/spec/unit/resource/naming_spec.rb +0 -122
  416. data/spec/unit/resource/ordering_spec.rb +0 -35
  417. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  418. data/spec/unit/resource/pagination_spec.rb +0 -38
  419. data/spec/unit/resource/routes_spec.rb +0 -125
  420. data/spec/unit/resource/scopes_spec.rb +0 -50
  421. data/spec/unit/resource/sidebars_spec.rb +0 -43
  422. data/spec/unit/resource_collection_spec.rb +0 -175
  423. data/spec/unit/resource_controller/data_access_spec.rb +0 -230
  424. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  425. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  426. data/spec/unit/resource_controller_spec.rb +0 -273
  427. data/spec/unit/resource_registration_spec.rb +0 -61
  428. data/spec/unit/resource_spec.rb +0 -320
  429. data/spec/unit/routing_spec.rb +0 -211
  430. data/spec/unit/scope_spec.rb +0 -209
  431. data/spec/unit/settings_spec.rb +0 -117
  432. data/spec/unit/view_factory_spec.rb +0 -19
  433. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
  434. data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
  435. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  436. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  437. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  438. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  439. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  440. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  441. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  442. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  443. data/spec/unit/views/components/columns_spec.rb +0 -187
  444. data/spec/unit/views/components/index_list_spec.rb +0 -49
  445. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  446. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  447. data/spec/unit/views/components/panel_spec.rb +0 -58
  448. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  449. data/spec/unit/views/components/site_title_spec.rb +0 -76
  450. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  451. data/spec/unit/views/components/table_for_spec.rb +0 -436
  452. data/spec/unit/views/components/tabs_spec.rb +0 -67
  453. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  454. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  455. data/spec/unit/views/pages/form_spec.rb +0 -54
  456. data/spec/unit/views/pages/index_spec.rb +0 -60
  457. data/spec/unit/views/pages/layout_spec.rb +0 -59
  458. data/spec/unit/views/pages/show_spec.rb +0 -32
  459. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  460. data/tasks/docs.rake +0 -64
  461. data/tasks/lint.rake +0 -21
  462. data/tasks/local.rake +0 -25
  463. data/tasks/parallel_tests.rake +0 -66
  464. data/tasks/test.rake +0 -29
  465. /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -1,218 +0,0 @@
1
- Feature: Batch Actions
2
-
3
- @javascript
4
- Scenario: Use default (destroy) batch action
5
- Given 10 posts exist
6
- And an index configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- Then I should see the batch action button
11
- And I should see that the batch action button is disabled
12
- And I should see the batch action popover exists
13
- And I should see 10 posts in the table
14
-
15
- When I check the 1st record
16
- And I check the 2nd record
17
- And I follow "Batch Actions"
18
- Then I should see the batch action :destroy "Delete Selected"
19
-
20
- Given I click "Delete Selected" and accept confirmation
21
- Then I should see a flash with "Successfully destroyed 2 posts"
22
- And I should see 8 posts in the table
23
-
24
- Scenario: Use default (destroy) batch action when default_url_options present
25
- Given 3 posts exist
26
- And an index configuration of:
27
- """
28
- ActiveAdmin.register Post do
29
- controller do
30
- protected
31
-
32
- def default_url_options
33
- { locale: I18n.locale }
34
- end
35
- end
36
- end
37
- """
38
- When I check the 1st record
39
- And I follow "Batch Actions"
40
- Then I should see the batch action :destroy "Delete Selected"
41
-
42
- Given I submit the batch action form with "destroy"
43
- Then I should see a flash with "Successfully destroyed 1 post"
44
- And I should see 2 posts in the table
45
-
46
- Scenario: Use default (destroy) batch action on a decorated resource
47
- Given 5 posts exist
48
- And an index configuration of:
49
- """
50
- ActiveAdmin.register Post do
51
- decorate_with PostDecorator
52
- end
53
- """
54
- When I check the 2nd record
55
- And I check the 4th record
56
- And I follow "Batch Actions"
57
- Then I should see the batch action :destroy "Delete Selected"
58
-
59
- Given I submit the batch action form with "destroy"
60
- Then I should see a flash with "Successfully destroyed 2 posts"
61
- And I should see 3 posts in the table
62
-
63
- @javascript
64
- Scenario: Use default (destroy) batch action on a nested resource
65
- Given I am logged in
66
- And 5 posts written by "John Doe" exist
67
- And a configuration of:
68
- """
69
- ActiveAdmin.register User
70
- ActiveAdmin.register Post do
71
- belongs_to :user
72
- end
73
- """
74
- When I go to the last author's posts
75
- Then I should see the batch action button
76
- And I should see that the batch action button is disabled
77
- And I should see the batch action popover exists
78
- And I should see 5 posts in the table
79
-
80
- When I check the 2nd record
81
- And I check the 4th record
82
- And I follow "Batch Actions"
83
- Then I should see the batch action :destroy "Delete Selected"
84
-
85
- Given I click "Delete Selected" and accept confirmation
86
- Then I should see a flash with "Successfully destroyed 2 posts"
87
- And I should see 3 posts in the table
88
-
89
- Scenario: Disable display of batch action button if all nested buttons hide
90
- Given 1 post exist
91
- And an index configuration of:
92
- """
93
- ActiveAdmin.register Post do
94
- batch_action :destroy, false
95
- batch_action(:flag, if: proc { false } ) do
96
- render text: 42
97
- end
98
- end
99
- """
100
- Then I should not see the batch action selector
101
-
102
- Scenario: Using a custom batch action
103
- Given 10 posts exist
104
- And an index configuration of:
105
- """
106
- ActiveAdmin.register Post do
107
- batch_action(:flag) do
108
- redirect_to collection_path, notice: "Successfully flagged 10 posts"
109
- end
110
- end
111
- """
112
- When I check the 1st record
113
- Given I submit the batch action form with "flag"
114
- Then I should see a flash with "Successfully flagged 10 posts"
115
-
116
- Scenario: Disabling batch actions for a resource
117
- Given 10 posts exist
118
- And an index configuration of:
119
- """
120
- ActiveAdmin.register Post do
121
- config.batch_actions = false
122
- end
123
- """
124
- Then I should not see the batch action selector
125
- And I should not see checkboxes in the table
126
-
127
- Scenario: Disabling the default destroy batch action
128
- Given 10 posts exist
129
- And an index configuration of:
130
- """
131
- ActiveAdmin.register Post do
132
- batch_action :destroy, false
133
- batch_action(:flag) {}
134
- end
135
- """
136
- Then I should see the batch action :flag "Flag Selected"
137
- And I should not see the batch action :destroy "Delete Selected"
138
-
139
- Scenario: Optional display of batch actions
140
- Given 10 posts exist
141
- And an index configuration of:
142
- """
143
- ActiveAdmin.register Post do
144
- batch_action(:flag, if: proc { true }) {}
145
- batch_action(:unflag, if: proc { false }) {}
146
- end
147
- """
148
- Then I should see the batch action :flag "Flag Selected"
149
- And I should not see the batch action :unflag "Unflag Selected"
150
-
151
- Scenario: Sort order priority
152
- Given 10 posts exist
153
- And an index configuration of:
154
- """
155
- ActiveAdmin.register Post do
156
- batch_action(:test, priority: 3) {}
157
- batch_action(:flag, priority: 2) {}
158
- batch_action(:unflag, priority: 1) {}
159
- end
160
- """
161
- Then the 4th batch action should be "Delete Selected"
162
- And the 3rd batch action should be "Test Selected"
163
- And the 2nd batch action should be "Flag Selected"
164
- And the 1st batch action should be "Unflag Selected"
165
-
166
- Scenario: Complex naming
167
- Given 10 posts exist
168
- And an index configuration of:
169
- """
170
- ActiveAdmin.register Post do
171
- batch_action("Very Complex and Time Consuming") {}
172
- batch_action(:passing_a_symbol) {}
173
- end
174
- """
175
- Then I should see the batch action :very_complex_and_time_consuming "Very Complex and Time Consuming Selected"
176
- And I should see the batch action :passing_a_symbol "Passing A Symbol Selected"
177
-
178
- Scenario: Use a Form with text
179
- Given 10 posts exist
180
- And an index configuration of:
181
- """
182
- ActiveAdmin.register Post do
183
- batch_action :destroy, false
184
- batch_action(:action_with_form, form: { name: :text }) {}
185
- end
186
- """
187
-
188
- When I check the 1st record
189
- And I follow "Batch Actions"
190
- Then I should be show a input with name "name" and type "text"
191
-
192
- Scenario: Use a Form with select
193
- Given 10 posts exist
194
- And an index configuration of:
195
- """
196
- ActiveAdmin.register Post do
197
- batch_action :destroy, false
198
- batch_action(:action_with_form, form: { type: ["a", "b"] }) {}
199
- end
200
- """
201
-
202
- When I check the 1st record
203
- And I follow "Batch Actions"
204
- Then I should be show a select with name "type" with the values "a, b"
205
-
206
- Scenario: Use a Form with select values from proc
207
- Given 10 posts exist
208
- And an index configuration of:
209
- """
210
- ActiveAdmin.register Post do
211
- batch_action :destroy, false
212
- batch_action(:action_with_form, form: ->{ {type: ["a", "b"]} }) {}
213
- end
214
- """
215
-
216
- When I check the 1st record
217
- And I follow "Batch Actions"
218
- Then I should be show a select with name "type" with the values "a, b"
@@ -1,239 +0,0 @@
1
- Feature: Index Filtering
2
-
3
- Scenario: Default Resources Filters
4
- Given 3 posts exist
5
- And an index configuration of:
6
- """
7
- ActiveAdmin.register Post
8
- """
9
- When I am on the index page for posts
10
- Then I should see "Displaying all 3 Posts"
11
- And I should see the following filters:
12
- | Author | select |
13
- | Category | select |
14
- | Title | string |
15
- | Body | string |
16
- | Published date | date range |
17
- | Created at | date range |
18
- | Updated at | date range |
19
-
20
- When I fill in "Title" with "Hello World 2"
21
- And I press "Filter"
22
- And I should see 1 posts in the table
23
- And I should see "Hello World 2" within ".index_table"
24
- And I should see current filter "title_contains" equal to "Hello World 2" with label "Title contains"
25
-
26
- Scenario: Filtering posts with no results
27
- Given 3 posts exist
28
- And an index configuration of:
29
- """
30
- ActiveAdmin.register Post
31
- """
32
- When I am on the index page for posts
33
- Then I should see "Displaying all 3 Posts"
34
-
35
- When I fill in "Title" with "THIS IS NOT AN EXISTING TITLE!!"
36
- And I press "Filter"
37
- Then I should not see ".index_table"
38
- And I should not see a sortable table header
39
- And I should not see pagination
40
- And I should see "No Posts found"
41
-
42
- Scenario: Filtering posts with pagination
43
- Given 7 posts with the title "Hello World 3" exist
44
- And 1 post with the title "Hello World 4" exist
45
- And an index configuration of:
46
- """
47
- ActiveAdmin.register Post do
48
- config.per_page = 2
49
- end
50
- """
51
- When I fill in "Title" with "Hello World 3"
52
- And I press "Filter"
53
-
54
- Then I follow "2"
55
- Then I should see "Displaying Posts 3 - 4 of 7 in total"
56
-
57
- Then I follow "3"
58
- Then I should see "Displaying Posts 5 - 6 of 7 in total"
59
-
60
- Scenario: Filtering posts while not on the first page
61
- Given 9 posts exist
62
- And an index configuration of:
63
- """
64
- ActiveAdmin.register Post do
65
- config.per_page = 5
66
- end
67
- """
68
- When I follow "2"
69
- Then I should see "Displaying Posts 6 - 9 of 9 in total"
70
-
71
- When I fill in "Title" with "Hello World 2"
72
- And I press "Filter"
73
- And I should see 1 posts in the table
74
- And I should see "Hello World 2" within ".index_table"
75
-
76
- Scenario: Checkboxes - Filtering posts written by anyone
77
- Given 1 post exists
78
- And a post with the title "Hello World" written by "Jane Doe" exists
79
- And an index configuration of:
80
- """
81
- ActiveAdmin.register Post do
82
- filter :author, as: :check_boxes
83
- end
84
- """
85
- When I press "Filter"
86
- Then I should see 2 posts in the table
87
- And I should see "Hello World" within ".index_table"
88
- And the "Jane Doe" checkbox should not be checked
89
-
90
- Scenario: Checkboxes - Filtering posts written by Jane Doe
91
- Given 1 post exists
92
- And a post with the title "Hello World" written by "Jane Doe" exists
93
- And an index configuration of:
94
- """
95
- ActiveAdmin.register Post do
96
- filter :author, as: :check_boxes
97
- end
98
- """
99
- When I check "Jane Doe"
100
- And I press "Filter"
101
- Then I should see 1 posts in the table
102
- And I should see "Hello World" within ".index_table"
103
- And the "Jane Doe" checkbox should be checked
104
- And I should see current filter "author_id_in" equal to "Jane Doe"
105
-
106
- Scenario: Disabling filters
107
- Given an index configuration of:
108
- """
109
- ActiveAdmin.register Post do
110
- config.filters = false
111
- end
112
- """
113
- Then I should not see a sidebar titled "Filters"
114
-
115
- Scenario: Select - Filtering categories with posts written by Jane Doe
116
- Given a category named "Mystery" exists
117
- And 1 post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
118
- And an index configuration of:
119
- """
120
- ActiveAdmin.register Category
121
- """
122
- When I select "Jane Doe" from "Authors"
123
- And I press "Filter"
124
- Then I should see 1 categories in the table
125
- And I should see "Non-Fiction" within ".index_table"
126
- And I should not see "Mystery" within ".index_table"
127
- And I should see current filter "posts_author_id_eq" equal to "Jane Doe"
128
-
129
- @javascript
130
- Scenario: Clearing filter preserves custom parameters
131
- Given a category named "Mystery" exists
132
- And 1 post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
133
- And 1 post with the title "Lorem Ipsum" written by "Joe Smith" in category "Mystery" exists
134
- And an index configuration of:
135
- """
136
- ActiveAdmin.register Category
137
- ActiveAdmin.application.favicon = false
138
- """
139
- Then I should see "Displaying all 2 Categories"
140
- When I add parameter "scope" with value "all" to the URL
141
- And I add parameter "foo" with value "bar" to the URL
142
- And I select "Hello World" from "Posts"
143
- And I press "Filter"
144
- Then I should see "Non-Fiction"
145
- And I should not see "Mystery"
146
- When I click "Clear Filters"
147
- Then I should see "Non-Fiction"
148
- And I should see "Mystery"
149
- And I should have parameter "foo" with value "bar"
150
- And I should have parameter "scope" with value "all"
151
-
152
- Scenario: Checkboxes - Filtering categories via posts written by anyone
153
- Given a category named "Mystery" exists
154
- And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
155
- And an index configuration of:
156
- """
157
- ActiveAdmin.register Category do
158
- filter :authors, as: :check_boxes
159
- end
160
- """
161
- When I press "Filter"
162
- Then I should see 2 posts in the table
163
- And I should see "Mystery" within ".index_table"
164
- And I should see "Non-Fiction" within ".index_table"
165
- And the "Jane Doe" checkbox should not be checked
166
- And should not see a sidebar titled "Search Status:"
167
-
168
- Scenario: Checkboxes - Filtering categories via posts written by Jane Doe
169
- Given a category named "Mystery" exists
170
- And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
171
- And an index configuration of:
172
- """
173
- ActiveAdmin.register Category do
174
- filter :authors, as: :check_boxes
175
- end
176
-
177
- """
178
- When I check "Jane Doe"
179
- And I press "Filter"
180
- Then I should see 1 categories in the table
181
- And I should see "Non-Fiction" within ".index_table"
182
- And the "Jane Doe" checkbox should be checked
183
-
184
- Scenario: Filtering posts without default scope
185
-
186
- Given a post with the title "Hello World" written by "Jane Doe" exists
187
- Given an index configuration of:
188
- """
189
- ActiveAdmin.register Post do
190
- scope :all
191
- scope :published do |posts|
192
- posts.where("published_date IS NOT NULL")
193
- end
194
-
195
- filter :title
196
- end
197
- """
198
- When I fill in "Title" with "Hello"
199
- And I press "Filter"
200
- Then I should see current filter "title_contains" equal to "Hello" with label "Title contains"
201
-
202
- Scenario: Filtering posts by category
203
- Given a category named "Mystery" exists
204
- And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
205
- Given an index configuration of:
206
- """
207
- ActiveAdmin.register Category
208
- ActiveAdmin.register Post do
209
- filter :category
210
- end
211
- """
212
- And I am on the index page for posts
213
-
214
- When I select "Non-Fiction" from "Category"
215
- And I press "Filter"
216
- Then I should see a sidebar titled "Search Status:"
217
- And I should see link "Non-Fiction" in current filters
218
-
219
- Scenario: Enabling filters status sidebar
220
- Given an index configuration of:
221
- """
222
- ActiveAdmin.application.current_filters = false
223
- ActiveAdmin.register Post do
224
- config.current_filters = true
225
- end
226
- """
227
- And I press "Filter"
228
- Then I should see a sidebar titled "Search Status:"
229
-
230
- Scenario: Disabling filters status sidebar
231
- Given an index configuration of:
232
- """
233
- ActiveAdmin.application.current_filters = true
234
- ActiveAdmin.register Post do
235
- config.current_filters = false
236
- end
237
- """
238
- And I press "Filter"
239
- Then I should not see a sidebar titled "Search Status:"
@@ -1,220 +0,0 @@
1
- Feature: Format as CSV
2
-
3
- Background:
4
- Given I am logged in
5
-
6
- Scenario: Default
7
- Given a configuration of:
8
- """
9
- ActiveAdmin.register Post
10
- """
11
- And a post with the title "Hello World" exists
12
- When I am on the index page for posts
13
- And I follow "CSV"
14
- And I should download a CSV file for "posts" containing:
15
- | Id | Title | Body | Published date | Position | Starred | Foo |Created at | Updated at |
16
- | \d+ | Hello World | | | | | |(.*) | (.*) |
17
-
18
- Scenario: Default with alias
19
- Given a configuration of:
20
- """
21
- ActiveAdmin.register Post, as: "MyArticle"
22
- """
23
- And 1 post exists
24
- When I am on the index page for my_articles
25
- And I follow "CSV"
26
- And I should download a CSV file for "my-articles" containing:
27
- | Id | Title | Body | Published date | Position | Starred | Foo | Created at | Updated at |
28
-
29
- Scenario: With CSV format customization
30
- Given a configuration of:
31
- """
32
- ActiveAdmin.register Post do
33
- csv do
34
- column :title
35
- column("Last update") { |post| post.updated_at }
36
- column("Copyright") { "Greg Bell" }
37
- end
38
- end
39
- """
40
- And a post with the title "Hello, World" exists
41
- When I am on the index page for posts
42
- And I follow "CSV"
43
- And I should download a CSV file for "posts" containing:
44
- | Title | Last update | Copyright |
45
- | Hello, World | (.*) | Greg Bell |
46
-
47
- Scenario: With CSV format customization
48
- Given a configuration of:
49
- """
50
- ActiveAdmin.register Post do
51
- csv col_sep: ';' do
52
- column :title
53
- column :body
54
- end
55
- end
56
- """
57
- And a post with the title "Hello, World" exists
58
- When I am on the index page for posts
59
- And I follow "CSV"
60
- And I should download a CSV file with ";" separator for "posts" containing:
61
- | Title | Body |
62
- | Hello, World | (.*) |
63
-
64
- Scenario: With humanize_name option
65
- Given a configuration of:
66
- """
67
- ActiveAdmin.register Post do
68
- csv humanize_name: false do
69
- column :title
70
- column :body
71
- end
72
- end
73
- """
74
- And a post with the title "Hello, World" exists
75
- When I am on the index page for posts
76
- And I follow "CSV"
77
- And I should download a CSV file with "," separator for "posts" containing:
78
- | title | body |
79
- | Hello, World | (.*) |
80
-
81
- Scenario: With CSV option customization
82
- Given a configuration of:
83
- """
84
- ActiveAdmin.register Post do
85
- csv force_quotes: true, byte_order_mark: "" do
86
- column :title
87
- column :body
88
- end
89
- end
90
- """
91
- And a post with the title "012345" exists
92
- When I am on the index page for posts
93
- And I follow "CSV"
94
- And I should download a CSV file with "," separator for "posts" containing:
95
- | Title | Body |
96
- | 012345 | (.*) |
97
- And the CSV file should contain "012345" in quotes
98
-
99
- Scenario: With default CSV separator option
100
- Given a configuration of:
101
- """
102
- ActiveAdmin.application.csv_options = { col_sep: ';' }
103
- ActiveAdmin.register Post do
104
- csv do
105
- column :title
106
- column :body
107
- end
108
- end
109
- """
110
- And a post with the title "Hello, World" exists
111
- When I am on the index page for posts
112
- And I follow "CSV"
113
- And I should download a CSV file with ";" separator for "posts" containing:
114
- | Title | Body |
115
- | Hello, World | (.*) |
116
-
117
- Scenario: With default CSV options
118
- Given a configuration of:
119
- """
120
- ActiveAdmin.application.csv_options = {col_sep: ',', force_quotes: true}
121
- ActiveAdmin.register Post do
122
- csv do
123
- column :title
124
- column :body
125
- end
126
- end
127
- """
128
- And a post with the title "012345" exists
129
- When I am on the index page for posts
130
- And I follow "CSV"
131
- And I should download a CSV file with "," separator for "posts" containing:
132
- | Title | Body |
133
- | 012345 | (.*) |
134
- And the CSV file should contain "012345" in quotes
135
-
136
- Scenario: Without CVS column names explicitely specified
137
- Given a configuration of:
138
- """
139
- ActiveAdmin.application.csv_options = {col_sep: ',', force_quotes: true}
140
- ActiveAdmin.register Post do
141
- csv column_names: true do
142
- column :title
143
- column :body
144
- end
145
- end
146
- """
147
- And a post with the title "012345" exists
148
- When I am on the index page for posts
149
- And I follow "CSV"
150
- And I should download a CSV file with "," separator for "posts" containing:
151
- | Title | Body |
152
- | 012345 | (.*) |
153
-
154
- Scenario: Without CVS column names
155
- Given a configuration of:
156
- """
157
- ActiveAdmin.application.csv_options = {col_sep: ',', force_quotes: true}
158
- ActiveAdmin.register Post do
159
- csv column_names: false do
160
- column :title
161
- column :body
162
- end
163
- end
164
- """
165
- And a post with the title "012345" exists
166
- When I am on the index page for posts
167
- And I follow "CSV"
168
- And I should download a CSV file with "," separator for "posts" containing:
169
- | 012345 | (.*) |
170
-
171
- Scenario: With encoding CSV options
172
- Given a configuration of:
173
- """
174
- ActiveAdmin.register Post do
175
- csv encoding: 'SJIS' do
176
- column :title
177
- column :body
178
- end
179
- end
180
- """
181
- And a post with the title "あいうえお" exists
182
- When I am on the index page for posts
183
- And I follow "CSV"
184
- And the encoding of the CSV file should be "SJIS"
185
-
186
- Scenario: With default encoding CSV options
187
- Given a configuration of:
188
- """
189
- ActiveAdmin.application.csv_options = { encoding: 'SJIS' }
190
- ActiveAdmin.register Post do
191
- csv do
192
- column :title
193
- column :body
194
- end
195
- end
196
- """
197
- And a post with the title "あいうえお" exists
198
- When I am on the index page for posts
199
- And I follow "CSV"
200
- And the encoding of the CSV file should be "SJIS"
201
-
202
- Scenario: With decorator
203
- Given a configuration of:
204
- """
205
- ActiveAdmin.register Post do
206
- decorate_with PostDecorator
207
-
208
- csv do
209
- column :id
210
- column :title
211
- column :decorator_method
212
- end
213
- end
214
- """
215
- And a post with the title "Hello World" exists
216
- When I am on the index page for posts
217
- And I follow "CSV"
218
- And I should download a CSV file for "posts" containing:
219
- | Id | Title | Decorator method |
220
- | \d+ | Hello World | A method only available on the decorator |