activeadmin 1.3.1 → 1.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 (333) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +467 -0
  3. data/.gitignore +2 -5
  4. data/.rspec +1 -0
  5. data/.rspec_parallel +2 -0
  6. data/.rubocop.yml +25 -7
  7. data/.simplecov +4 -6
  8. data/CHANGELOG.md +175 -83
  9. data/CODE_OF_CONDUCT.md +64 -12
  10. data/CONTRIBUTING.md +77 -40
  11. data/Gemfile +7 -55
  12. data/Gemfile.common +53 -0
  13. data/Gemfile.lock +431 -0
  14. data/README.md +39 -18
  15. data/Rakefile +1 -32
  16. data/app/assets/stylesheets/active_admin/_forms.scss +1 -1
  17. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  18. data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
  19. data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
  20. data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
  21. data/app/views/active_admin/devise/registrations/new.html.erb +1 -1
  22. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  23. data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
  24. data/app/views/layouts/active_admin_logged_out.html.erb +1 -1
  25. data/bin/install_chromedriver.sh +17 -0
  26. data/config/locales/de.yml +10 -0
  27. data/config/locales/en.yml +19 -1
  28. data/config/locales/es.yml +20 -1
  29. data/config/locales/fi.yml +1 -1
  30. data/config/locales/it.yml +4 -0
  31. data/config/locales/nb.yml +15 -5
  32. data/config/locales/nl.yml +11 -0
  33. data/config/locales/pl.yml +71 -3
  34. data/config/locales/ru.yml +2 -0
  35. data/config/locales/tr.yml +9 -0
  36. data/config/locales/zh-CN.yml +33 -5
  37. data/config/mdl_style.rb +2 -0
  38. data/cucumber.yml +7 -3
  39. data/docs/.gitignore +1 -0
  40. data/docs/1-general-configuration.md +16 -1
  41. data/docs/10-custom-pages.md +14 -0
  42. data/docs/12-arbre-components.md +28 -1
  43. data/docs/13-authorization-adapter.md +36 -17
  44. data/docs/2-resource-customization.md +8 -3
  45. data/docs/3-index-pages.md +17 -0
  46. data/docs/3-index-pages/custom-index.md +1 -1
  47. data/docs/3-index-pages/index-as-blog.md +1 -1
  48. data/docs/3-index-pages/index-as-table.md +5 -5
  49. data/docs/5-forms.md +16 -2
  50. data/docs/8-custom-actions.md +11 -0
  51. data/docs/Gemfile +2 -0
  52. data/docs/Gemfile.lock +249 -0
  53. data/docs/_config.yml +1 -1
  54. data/docs/_includes/toc.html +1 -1
  55. data/docs/_includes/top-menu.html +9 -1
  56. data/docs/documentation.md +1 -1
  57. data/docs/images/tidelift.svg +14 -0
  58. data/docs/stylesheets/main.css +26 -2
  59. data/gemfiles/rails_42.gemfile +2 -2
  60. data/gemfiles/rails_42.gemfile.lock +410 -0
  61. data/gemfiles/rails_50.gemfile +2 -2
  62. data/gemfiles/rails_50.gemfile.lock +424 -0
  63. data/gemfiles/rails_51.gemfile +2 -2
  64. data/gemfiles/rails_51.gemfile.lock +423 -0
  65. data/lib/active_admin/abstract_view_factory.rb +13 -51
  66. data/lib/active_admin/application.rb +42 -142
  67. data/lib/active_admin/application_settings.rb +39 -0
  68. data/lib/active_admin/base_controller/authorization.rb +1 -2
  69. data/lib/active_admin/batch_actions/controller.rb +1 -1
  70. data/lib/active_admin/dependency.rb +8 -0
  71. data/lib/active_admin/deprecation.rb +0 -25
  72. data/lib/active_admin/dynamic_setting.rb +38 -0
  73. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  74. data/lib/active_admin/engine.rb +5 -0
  75. data/lib/active_admin/filters/active_filter.rb +1 -1
  76. data/lib/active_admin/filters/resource_extension.rb +1 -1
  77. data/lib/active_admin/form_builder.rb +95 -60
  78. data/lib/active_admin/inputs/datepicker_input.rb +7 -0
  79. data/lib/active_admin/menu.rb +2 -8
  80. data/lib/active_admin/menu_item.rb +3 -31
  81. data/lib/active_admin/namespace.rb +18 -6
  82. data/lib/active_admin/namespace_settings.rb +107 -0
  83. data/lib/active_admin/orm/active_record/comments.rb +11 -0
  84. data/lib/active_admin/orm/active_record/comments/comment.rb +1 -1
  85. data/lib/active_admin/resource/action_items.rb +6 -1
  86. data/lib/active_admin/resource_controller/decorators.rb +3 -3
  87. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  88. data/lib/active_admin/router.rb +89 -84
  89. data/lib/active_admin/scope.rb +5 -1
  90. data/lib/active_admin/settings_node.rb +19 -0
  91. data/lib/active_admin/version.rb +1 -1
  92. data/lib/active_admin/views/components/active_admin_form.rb +2 -3
  93. data/lib/active_admin/views/components/menu.rb +32 -0
  94. data/lib/active_admin/views/components/menu_item.rb +58 -0
  95. data/lib/active_admin/views/components/scopes.rb +11 -4
  96. data/lib/active_admin/views/components/sidebar.rb +13 -0
  97. data/lib/active_admin/views/components/site_title.rb +5 -6
  98. data/lib/active_admin/views/components/table_for.rb +1 -10
  99. data/lib/active_admin/views/components/tabs.rb +4 -1
  100. data/lib/active_admin/views/footer.rb +2 -6
  101. data/lib/active_admin/views/header.rb +3 -15
  102. data/lib/active_admin/views/index_as_blog.rb +1 -1
  103. data/lib/active_admin/views/index_as_grid.rb +25 -25
  104. data/lib/active_admin/views/index_as_table.rb +6 -6
  105. data/lib/active_admin/views/pages/base.rb +27 -53
  106. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  107. data/lib/bug_report_templates/active_admin_master.rb +2 -3
  108. data/tasks/application_generator.rb +48 -0
  109. data/tasks/gemfiles.rake +8 -0
  110. data/tasks/lint.rake +96 -7
  111. data/tasks/local.rake +10 -8
  112. data/tasks/test.rake +30 -16
  113. metadata +26 -440
  114. data/.travis.yml +0 -51
  115. data/features/action_item.feature +0 -73
  116. data/features/authorization.feature +0 -64
  117. data/features/authorization_cancan.feature +0 -52
  118. data/features/authorization_pundit.feature +0 -37
  119. data/features/belongs_to.feature +0 -124
  120. data/features/breadcrumb.feature +0 -75
  121. data/features/comments/commenting.feature +0 -178
  122. data/features/comments/viewing_index.feature +0 -19
  123. data/features/create_another.feature +0 -55
  124. data/features/dashboard.feature +0 -16
  125. data/features/decorators.feature +0 -43
  126. data/features/development_reloading.feature +0 -28
  127. data/features/edit_page.feature +0 -116
  128. data/features/favicon.feature +0 -20
  129. data/features/first_boot.feature +0 -16
  130. data/features/footer.feature +0 -28
  131. data/features/global_navigation.feature +0 -29
  132. data/features/i18n.feature +0 -55
  133. data/features/index/batch_actions.feature +0 -218
  134. data/features/index/filters.feature +0 -250
  135. data/features/index/format_as_csv.feature +0 -220
  136. data/features/index/formats.feature +0 -88
  137. data/features/index/index_as_block.feature +0 -15
  138. data/features/index/index_as_blog.feature +0 -69
  139. data/features/index/index_as_grid.feature +0 -45
  140. data/features/index/index_as_table.feature +0 -291
  141. data/features/index/index_blank_slate.feature +0 -83
  142. data/features/index/index_parameters.feature +0 -75
  143. data/features/index/index_scope_to.feature +0 -56
  144. data/features/index/index_scopes.feature +0 -285
  145. data/features/index/page_title.feature +0 -41
  146. data/features/index/pagination.feature +0 -63
  147. data/features/index/switch_index_view.feature +0 -73
  148. data/features/menu.feature +0 -72
  149. data/features/meta_tags.feature +0 -21
  150. data/features/new_page.feature +0 -136
  151. data/features/registering_assets.feature +0 -38
  152. data/features/registering_pages.feature +0 -237
  153. data/features/registering_resources.feature +0 -33
  154. data/features/renamed_resource.feature +0 -30
  155. data/features/root_to.feature +0 -17
  156. data/features/show/attributes_table_title.feature +0 -54
  157. data/features/show/columns.feature +0 -40
  158. data/features/show/default_content.feature +0 -44
  159. data/features/show/page_title.feature +0 -58
  160. data/features/show/tabs.feature +0 -33
  161. data/features/sidebar_sections.feature +0 -210
  162. data/features/site_title.feature +0 -47
  163. data/features/specifying_actions.feature +0 -118
  164. data/features/step_definitions/action_item_steps.rb +0 -7
  165. data/features/step_definitions/action_link_steps.rb +0 -19
  166. data/features/step_definitions/additional_web_steps.rb +0 -81
  167. data/features/step_definitions/asset_steps.rb +0 -15
  168. data/features/step_definitions/attribute_steps.rb +0 -18
  169. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  170. data/features/step_definitions/batch_action_steps.rb +0 -81
  171. data/features/step_definitions/blog_steps.rb +0 -3
  172. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  173. data/features/step_definitions/column_steps.rb +0 -8
  174. data/features/step_definitions/comment_steps.rb +0 -32
  175. data/features/step_definitions/configuration_steps.rb +0 -100
  176. data/features/step_definitions/dashboard_steps.rb +0 -15
  177. data/features/step_definitions/factory_steps.rb +0 -35
  178. data/features/step_definitions/filter_steps.rb +0 -47
  179. data/features/step_definitions/flash_steps.rb +0 -11
  180. data/features/step_definitions/footer_steps.rb +0 -11
  181. data/features/step_definitions/format_steps.rb +0 -56
  182. data/features/step_definitions/i18n_steps.rb +0 -11
  183. data/features/step_definitions/index_scope_steps.rb +0 -29
  184. data/features/step_definitions/index_views_steps.rb +0 -3
  185. data/features/step_definitions/layout_steps.rb +0 -3
  186. data/features/step_definitions/member_link_steps.rb +0 -7
  187. data/features/step_definitions/menu_steps.rb +0 -11
  188. data/features/step_definitions/meta_tag_steps.rb +0 -3
  189. data/features/step_definitions/pagination_steps.rb +0 -15
  190. data/features/step_definitions/sidebar_steps.rb +0 -11
  191. data/features/step_definitions/site_title_steps.rb +0 -17
  192. data/features/step_definitions/tab_steps.rb +0 -8
  193. data/features/step_definitions/table_steps.rb +0 -116
  194. data/features/step_definitions/user_steps.rb +0 -52
  195. data/features/step_definitions/web_steps.rb +0 -86
  196. data/features/sti_resource.feature +0 -65
  197. data/features/strong_parameters.feature +0 -69
  198. data/features/support/env.rb +0 -122
  199. data/features/support/paths.rb +0 -73
  200. data/features/support/regular_env.rb +0 -7
  201. data/features/support/reload_env.rb +0 -7
  202. data/features/support/selectors.rb +0 -45
  203. data/features/users/logging_in.feature +0 -36
  204. data/features/users/logging_out.feature +0 -13
  205. data/features/users/resetting_password.feature +0 -34
  206. data/gemfiles/rails_52.gemfile +0 -11
  207. data/lib/active_admin/helpers/settings.rb +0 -114
  208. data/spec/bug_report_templates_spec.rb +0 -26
  209. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  210. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  211. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  212. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  213. data/spec/javascripts/fixtures/flashes.html +0 -2
  214. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  215. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  216. data/spec/javascripts/support/jasmine.yml +0 -74
  217. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  218. data/spec/rails_helper.rb +0 -59
  219. data/spec/requests/default_namespace_spec.rb +0 -81
  220. data/spec/requests/memory_spec.rb +0 -25
  221. data/spec/requests/stylesheets_spec.rb +0 -18
  222. data/spec/spec_helper.rb +0 -1
  223. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  224. data/spec/support/active_admin_request_helpers.rb +0 -39
  225. data/spec/support/rails_template.rb +0 -153
  226. data/spec/support/rails_template_with_data.rb +0 -327
  227. data/spec/support/templates/admin/stores.rb +0 -7
  228. data/spec/support/templates/en.yml +0 -8
  229. data/spec/support/templates/manifest.js +0 -3
  230. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  231. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  232. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  233. data/spec/support/templates/policies/application_policy.rb +0 -44
  234. data/spec/support/templates/policies/category_policy.rb +0 -7
  235. data/spec/support/templates/policies/post_policy.rb +0 -15
  236. data/spec/support/templates/policies/store_policy.rb +0 -11
  237. data/spec/support/templates/policies/user_policy.rb +0 -11
  238. data/spec/support/templates/post_decorator.rb +0 -24
  239. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  240. data/spec/unit/action_builder_spec.rb +0 -158
  241. data/spec/unit/active_admin_spec.rb +0 -11
  242. data/spec/unit/application_spec.rb +0 -184
  243. data/spec/unit/asset_registration_spec.rb +0 -81
  244. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  245. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  246. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  247. data/spec/unit/auto_link_spec.rb +0 -93
  248. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  249. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  250. data/spec/unit/belongs_to_spec.rb +0 -76
  251. data/spec/unit/cancan_adapter_spec.rb +0 -43
  252. data/spec/unit/comments_spec.rb +0 -176
  253. data/spec/unit/component_spec.rb +0 -18
  254. data/spec/unit/config_shared_examples.rb +0 -59
  255. data/spec/unit/controller_filters_spec.rb +0 -41
  256. data/spec/unit/csv_builder_spec.rb +0 -313
  257. data/spec/unit/dependency_spec.rb +0 -135
  258. data/spec/unit/devise_spec.rb +0 -110
  259. data/spec/unit/dsl_spec.rb +0 -120
  260. data/spec/unit/filters/active_filter_spec.rb +0 -189
  261. data/spec/unit/filters/active_spec.rb +0 -24
  262. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  263. data/spec/unit/filters/resource_spec.rb +0 -128
  264. data/spec/unit/form_builder_spec.rb +0 -990
  265. data/spec/unit/generators/install_spec.rb +0 -31
  266. data/spec/unit/helpers/collection_spec.rb +0 -68
  267. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  268. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  269. data/spec/unit/helpers/settings_spec.rb +0 -30
  270. data/spec/unit/i18n_spec.rb +0 -29
  271. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  272. data/spec/unit/menu_collection_spec.rb +0 -62
  273. data/spec/unit/menu_item_spec.rb +0 -141
  274. data/spec/unit/menu_spec.rb +0 -71
  275. data/spec/unit/namespace/authorization_spec.rb +0 -27
  276. data/spec/unit/namespace/register_page_spec.rb +0 -99
  277. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  278. data/spec/unit/namespace_spec.rb +0 -124
  279. data/spec/unit/order_clause_spec.rb +0 -81
  280. data/spec/unit/page_controller_spec.rb +0 -5
  281. data/spec/unit/page_spec.rb +0 -128
  282. data/spec/unit/pretty_format_spec.rb +0 -82
  283. data/spec/unit/pundit_adapter_spec.rb +0 -98
  284. data/spec/unit/resource/action_items_spec.rb +0 -69
  285. data/spec/unit/resource/attributes_spec.rb +0 -49
  286. data/spec/unit/resource/includes_spec.rb +0 -21
  287. data/spec/unit/resource/menu_spec.rb +0 -18
  288. data/spec/unit/resource/naming_spec.rb +0 -122
  289. data/spec/unit/resource/ordering_spec.rb +0 -35
  290. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  291. data/spec/unit/resource/pagination_spec.rb +0 -38
  292. data/spec/unit/resource/routes_spec.rb +0 -125
  293. data/spec/unit/resource/scopes_spec.rb +0 -50
  294. data/spec/unit/resource/sidebars_spec.rb +0 -43
  295. data/spec/unit/resource_collection_spec.rb +0 -175
  296. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  297. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  298. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  299. data/spec/unit/resource_controller_spec.rb +0 -273
  300. data/spec/unit/resource_registration_spec.rb +0 -61
  301. data/spec/unit/resource_spec.rb +0 -320
  302. data/spec/unit/routing_spec.rb +0 -211
  303. data/spec/unit/scope_spec.rb +0 -209
  304. data/spec/unit/settings_spec.rb +0 -117
  305. data/spec/unit/view_factory_spec.rb +0 -19
  306. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  307. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  308. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  309. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  310. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  311. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  312. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  313. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  314. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  315. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  316. data/spec/unit/views/components/columns_spec.rb +0 -187
  317. data/spec/unit/views/components/index_list_spec.rb +0 -49
  318. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  319. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  320. data/spec/unit/views/components/panel_spec.rb +0 -58
  321. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  322. data/spec/unit/views/components/site_title_spec.rb +0 -76
  323. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  324. data/spec/unit/views/components/table_for_spec.rb +0 -436
  325. data/spec/unit/views/components/tabs_spec.rb +0 -67
  326. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  327. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  328. data/spec/unit/views/pages/form_spec.rb +0 -54
  329. data/spec/unit/views/pages/index_spec.rb +0 -60
  330. data/spec/unit/views/pages/layout_spec.rb +0 -59
  331. data/spec/unit/views/pages/show_spec.rb +0 -32
  332. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  333. data/tasks/parallel_tests.rake +0 -66
@@ -1,41 +0,0 @@
1
- Feature: Index - Page Title
2
-
3
- Modifying the page title on the index screen
4
-
5
- Scenario: Set a string as the title
6
- Given an index configuration of:
7
- """
8
- ActiveAdmin.register Post do
9
- index title: "Awesome Title"
10
- end
11
- """
12
- Then I should see the page title "Awesome Title"
13
-
14
- Scenario: Set the title using a proc
15
- Given an index configuration of:
16
- """
17
- ActiveAdmin.register Post do
18
- index title: proc{ 'Custom title from proc' }
19
- end
20
- """
21
- Then I should see the page title "Custom title from proc"
22
-
23
- Scenario: Set the title using a proc that uses the available resource class
24
- Given an index configuration of:
25
- """
26
- ActiveAdmin.register Post do
27
- index title: proc{ "List of #{resource_class.model_name.plural}" }
28
- end
29
- """
30
- Then I should see the page title "List of posts"
31
-
32
- Scenario: Set the title in controller
33
- Given an index configuration of:
34
- """
35
- ActiveAdmin.register Post do
36
- controller do
37
- before_action { @page_title = "List of #{resource_class.model_name.plural}" }
38
- end
39
- end
40
- """
41
- Then I should see the page title "List of posts"
@@ -1,63 +0,0 @@
1
- Feature: Index Pagination
2
-
3
- Background:
4
- Scenario: Viewing index when one page of resources exist
5
- Given an index configuration of:
6
- """
7
- ActiveAdmin.register Post
8
- """
9
- Given 20 posts exist
10
- When I am on the index page for posts
11
- Then I should see "Displaying all 20 Posts"
12
- And I should not see pagination
13
-
14
- Scenario: Viewing index when multiple pages of resources exist
15
- Given an index configuration of:
16
- """
17
- ActiveAdmin.register Post
18
- """
19
- Given 31 posts exist
20
- When I am on the index page for posts
21
- Then I should see pagination with 2 pages
22
-
23
- Scenario: Viewing index with a custom per page set
24
- Given an index configuration of:
25
- """
26
- ActiveAdmin.register Post do
27
- config.per_page = 2
28
- end
29
- """
30
- Given 3 posts exist
31
- When I am on the index page for posts
32
- Then I should see pagination with 2 pages
33
- And I should see "Displaying Posts 1 - 2 of 3 in total"
34
-
35
- Scenario: Viewing index with pagination disabled
36
- Given an index configuration of:
37
- """
38
- ActiveAdmin.register Post do
39
- config.paginate = false
40
- end
41
- """
42
- Given 31 posts exist
43
- When I am on the index page for posts
44
- Then I should not see pagination
45
-
46
- Scenario: Viewing index with pagination_total set to false
47
- Given an index configuration of:
48
- """
49
- ActiveAdmin.register Post do
50
- config.per_page = 10
51
- index pagination_total: false do
52
- end
53
- end
54
- """
55
- Given 11 posts exist
56
- When I am on the index page for posts
57
- Then I should see "Displaying Posts 1 - 10"
58
- And I should not see "11 in total"
59
- And I should see the pagination "Next" link
60
-
61
- When I follow "Next"
62
- Then I should see "Displaying Posts 11 - 11"
63
- And I should not see the pagination "Next" link
@@ -1,73 +0,0 @@
1
- Feature: Switch Index View
2
-
3
- In order to switch index views
4
- As a user
5
- I want to view links to views
6
-
7
- Scenario: Show default Page Presenter
8
- Given a post with the title "Hello World from Table" exists
9
- And an index configuration of:
10
- """
11
- ActiveAdmin.register Post do
12
- index as: :table do
13
- column :title
14
- end
15
- index as: :block do |post|
16
- span(link_to(post.title, admin_post_path(post)))
17
- end
18
- end
19
- """
20
- Then I should see "Hello World from Table" within ".index_as_table"
21
-
22
- Scenario: Show default Page Presenter when default is specified
23
- Given a post with the title "Hello World from Table" exists
24
- And an index configuration of:
25
- """
26
- ActiveAdmin.register Post do
27
- index as: :block do |post|
28
- span(link_to(post.title, admin_post_path(post)))
29
- end
30
- index as: :table, default: true do
31
- column :title
32
- end
33
- end
34
- """
35
- Then I should see "Hello World from Table" within ".index_as_table"
36
-
37
- Scenario: Show links to different page views
38
- Given a post with the title "Hello World from Table" exists
39
- And an index configuration of:
40
- """
41
- ActiveAdmin.register Post do
42
- index as: :block do |post|
43
- span(link_to(post.title, admin_post_path(post)))
44
- end
45
- index as: :table, default: true do
46
- column :title
47
- end
48
- end
49
- """
50
- Then I should see "Hello World from Table" within ".index_as_table"
51
- And I should see a link to "Table"
52
- And I should see a link to "List"
53
-
54
- Scenario: Show change between page views
55
- Given a post with the title "Hey from Table" and body "My body is awesome" exists
56
- And an index configuration of:
57
- """
58
- ActiveAdmin.register Post do
59
- index as: :block do |post|
60
- span(link_to(post.title, admin_post_path(post)))
61
- end
62
- index as: :table, default: true do
63
- column :title
64
- column :body
65
- end
66
- end
67
- """
68
- Then I should see "My body is awesome" within ".index_as_table"
69
- When I click "List"
70
- Then I should not see "My body is awesome" within ".index_as_block"
71
-
72
-
73
-
@@ -1,72 +0,0 @@
1
- Feature: Menu
2
-
3
- Background:
4
- Given I am logged in
5
-
6
- Scenario: Hide the menu item
7
- Given a configuration of:
8
- """
9
- ActiveAdmin.register Post do
10
- menu false
11
- end
12
- """
13
- When I am on the dashboard
14
- Then I should not see a menu item for "Posts"
15
-
16
- Scenario: Set the menu item label
17
- Given a configuration of:
18
- """
19
- ActiveAdmin.register Post do
20
- menu label: "Articles"
21
- end
22
- """
23
- When I am on the dashboard
24
- Then I should see a menu item for "Articles"
25
- And I should not see a menu item for "Posts"
26
-
27
- Scenario: Add a non-resource menu item
28
- Given a configuration of:
29
- """
30
- ActiveAdmin.application.namespace :admin do |admin|
31
- admin.build_menu do |menu|
32
- menu.add label: "Custom Menu", url: :admin_dashboard_path
33
- end
34
- end
35
- """
36
- When I am on the dashboard
37
- Then I should see a menu item for "Custom Menu"
38
- When I follow "Custom Menu"
39
- Then I should be on the admin dashboard page
40
-
41
- Scenario: Adding a resource as a sub menu item
42
- Given a configuration of:
43
- """
44
- ActiveAdmin.register User
45
- ActiveAdmin.register Post do
46
- menu parent: 'Users'
47
- end
48
- """
49
- When I am on the dashboard
50
- Then I should see a menu item for "Users"
51
- And I should not see a menu item for "Posts"
52
- When I follow "Users"
53
- Then the "Users" tab should be selected
54
- And I should see a nested menu item for "Posts"
55
-
56
- Scenario: Adding a resources as a sub menu items
57
- Given a configuration of:
58
- """
59
- ActiveAdmin.register Category do
60
- menu parent: 'Anything'
61
- end
62
- ActiveAdmin.register Post do
63
- menu parent: 'Anything'
64
- end
65
- """
66
- When I am on the dashboard
67
- Then I should see a menu item for "Anything"
68
- And I should not see a menu item for "Categories"
69
- And I should not see a menu item for "Posts"
70
- And I should see a nested menu item for "Categories"
71
- And I should see a nested menu item for "Posts"
72
-
@@ -1,21 +0,0 @@
1
- Feature: Meta Tag
2
-
3
- Add custom meta tags to head of pages.
4
-
5
- Background:
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- ActiveAdmin.application.meta_tags = { author: 'My Company' }
10
- ActiveAdmin.application.meta_tags_for_logged_out_pages = { robots: 'noindex' }
11
- """
12
-
13
- Scenario: Logged out views include custom meta tags
14
- Given I am logged out
15
- When I am on the login page
16
- Then the site should contain a meta tag with name "robots" and content "noindex"
17
-
18
- Scenario: Logged in views include custom meta tags
19
- Given I am logged in
20
- When I am on the dashboard
21
- Then the site should contain a meta tag with name "author" and content "My Company"
@@ -1,136 +0,0 @@
1
- Feature: New Page
2
-
3
- Customizing the form to create new resources
4
-
5
- Background:
6
- Given a category named "Music" exists
7
- Given a user named "John Doe" exists
8
- And I am logged in
9
- Given a configuration of:
10
- """
11
- ActiveAdmin.register Post do
12
- permit_params :custom_category_id, :author_id, :title,
13
- :body, :position, :published_date, :starred
14
- end
15
- """
16
- When I am on the index page for posts
17
-
18
- Scenario: Default form with no config
19
- Given I follow "New Post"
20
- When I fill in "Title" with "Hello World"
21
- And I fill in "Body" with "This is the body"
22
- And I select "Music" from "Category"
23
- And I select "John Doe" from "Author"
24
- And I press "Create Post"
25
- Then I should see "Post was successfully created."
26
- And I should see the attribute "Title" with "Hello World"
27
- And I should see the attribute "Body" with "This is the body"
28
- And I should see the attribute "Category" with "Music"
29
- And I should see the attribute "Author" with "John Doe"
30
-
31
- Scenario: Generating a custom form
32
- Given a configuration of:
33
- """
34
- ActiveAdmin.register Post do
35
- permit_params :custom_category_id, :author_id, :title, :body, :published_date, :starred
36
-
37
- form do |f|
38
- f.inputs "Your Post" do
39
- f.input :title
40
- f.input :body
41
- end
42
- f.inputs "Publishing" do
43
- f.input :published_date
44
- end
45
- f.actions
46
- end
47
- end
48
- """
49
- Given I follow "New Post"
50
- Then I should see a fieldset titled "Your Post"
51
- And I should see a fieldset titled "Publishing"
52
- When I fill in "Title" with "Hello World"
53
- And I fill in "Body" with "This is the body"
54
- And I press "Create Post"
55
- Then I should see "Post was successfully created."
56
- And I should see the attribute "Title" with "Hello World"
57
- And I should see the attribute "Body" with "This is the body"
58
-
59
- Scenario: Generating a custom form decorated with virtual attributes
60
- Given a configuration of:
61
- """
62
- ActiveAdmin.register Post do
63
- decorate_with PostDecorator
64
- permit_params :custom_category_id, :author_id, :virtual_title, :body, :published_date, :starred
65
-
66
- form decorate: true do |f|
67
- f.inputs "Your Post" do
68
- f.input :virtual_title
69
- f.input :body
70
- end
71
- f.inputs "Publishing" do
72
- f.input :published_date
73
- end
74
- f.actions
75
- end
76
- end
77
- """
78
- Given I follow "New Post"
79
- Then I should see a fieldset titled "Your Post"
80
- And I should see a fieldset titled "Publishing"
81
- When I fill in "Virtual title" with "Hello World"
82
- And I fill in "Body" with "This is the body"
83
- And I press "Create Post"
84
- Then I should see "Post was successfully created."
85
- And I should see the attribute "Title" with "Hello World"
86
- And I should see the attribute "Body" with "This is the body"
87
-
88
- Scenario: Generating a form from a partial
89
- Given "app/views/admin/posts/_form.html.erb" contains:
90
- """
91
- <% url = @post.new_record? ? admin_posts_path : admin_post_path(@post) %>
92
- <%= active_admin_form_for @post, url: url do |f|
93
- f.inputs :title, :body
94
- f.actions
95
- end %>
96
- """
97
- Given a configuration of:
98
- """
99
- ActiveAdmin.register Post do
100
- permit_params :custom_category_id, :author_id, :title, :body, :published_date, :starred
101
-
102
- form partial: "form"
103
- end
104
- """
105
- Given I follow "New Post"
106
- When I fill in "Title" with "Hello World"
107
- And I fill in "Body" with "This is the body"
108
- And I press "Create Post"
109
- Then I should see "Post was successfully created."
110
- And I should see the attribute "Title" with "Hello World"
111
- And I should see the attribute "Body" with "This is the body"
112
-
113
- Scenario: Displaying fields at runtime
114
- Given a configuration of:
115
- """
116
- ActiveAdmin.register Post do
117
- permit_params :custom_category_id, :author_id, :title, :body, :published_date, :starred
118
-
119
- form do |f|
120
- f.inputs "Your Post" do
121
- if current_admin_user && false
122
- f.input :title
123
- end
124
-
125
- f.input :body
126
- end
127
- f.inputs "Publishing" do
128
- f.input :published_date
129
- end
130
- f.actions
131
- end
132
- end
133
- """
134
- Given I follow "New Post"
135
- Then I should not see "Title"
136
- And I should see "Body"
@@ -1,38 +0,0 @@
1
- Feature: Registering Assets
2
-
3
- Registering CSS and JS files
4
-
5
- Background:
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- And I am logged in
11
-
12
-
13
- Scenario: Viewing default asset files
14
- When I am on the index page for posts
15
- Then I should see the css file "active_admin"
16
- Then I should see the js file "active_admin"
17
-
18
- Scenario: Registering a CSS file
19
- Given a configuration of:
20
- """
21
- ActiveSupport::Deprecation.silence do
22
- ActiveAdmin.application.register_stylesheet "some-random-css.css", media: :print
23
- ActiveAdmin.register Post
24
- end
25
- """
26
- When I am on the index page for posts
27
- Then I should see the css file "some-random-css" of media "print"
28
-
29
- Scenario: Registering a JS file
30
- Given a configuration of:
31
- """
32
- ActiveSupport::Deprecation.silence do
33
- ActiveAdmin.application.register_javascript "some-random-js.js"
34
- ActiveAdmin.register Post
35
- end
36
- """
37
- When I am on the index page for posts
38
- Then I should see the js file "some-random-js"