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,58 +0,0 @@
1
- Feature: Show - Page Title
2
-
3
- Modifying the page title on the show screen
4
-
5
- Background:
6
- Given a post with the title "Hello World" written by "Jane Doe" exists
7
-
8
- Scenario: Set a method to be called on the resource as the title
9
- Given a show configuration of:
10
- """
11
- ActiveAdmin.register Post do
12
- show title: :title
13
- end
14
- """
15
- Then I should see the page title "Hello World"
16
-
17
- Scenario: Set a string as the title
18
- Given a show configuration of:
19
- """
20
- ActiveAdmin.register Post do
21
- show title: "Title From String"
22
- end
23
- """
24
- Then I should see the page title "Title From String"
25
-
26
- Scenario: Set a proc as the title
27
- Given a show configuration of:
28
- """
29
- ActiveAdmin.register Post do
30
- show title: proc{|post| "Title: " + post.title }
31
- end
32
- """
33
- Then I should see the page title "Title: Hello World"
34
-
35
- Scenario: Default title
36
- Given a show configuration of:
37
- """
38
- ActiveAdmin.register Post
39
- """
40
- Then I should see the page title "Hello World"
41
-
42
- Scenario: Default title with no display name method candidate
43
- Given a show configuration of:
44
- """
45
- ActiveAdmin.register Tag
46
- """
47
- Then I should see the page title "Tag #"
48
-
49
- Scenario: Set the title in controller
50
- Given a show configuration of:
51
- """
52
- ActiveAdmin.register Post do
53
- controller do
54
- before_action { @page_title = "List of #{resource_class.model_name.plural}" }
55
- end
56
- end
57
- """
58
- Then I should see the page title "List of posts"
@@ -1,33 +0,0 @@
1
- Feature: Show - Tabs
2
-
3
- Add tabs with different content to the page
4
-
5
- Background:
6
- Given a post with the title "Hello World" written by "Jane Doe" exists
7
-
8
- @javascript
9
- Scenario: Set a method to be called on the resource as the title
10
- Given a show configuration of:
11
- """
12
- ActiveAdmin.register Post do
13
- show do
14
- tabs do
15
- tab :overview do
16
- span "tab 1"
17
- end
18
-
19
- tab 'テスト', id: :test_non_ascii do
20
- span "tab 2"
21
- end
22
- end
23
- end
24
- end
25
- """
26
-
27
- Then show me the page
28
- Then I should see two tabs "Overview" and "テスト"
29
- And I should see the element "#overview span"
30
- And I should not see the element "#test_non_ascii span"
31
- Then I follow "テスト"
32
- And I should see the element "#test_non_ascii span"
33
- And I should not see the element "#overview span"
@@ -1,210 +0,0 @@
1
- Feature: Sidebar Sections
2
-
3
- Creating and Configuring sidebar sections
4
-
5
- Background:
6
- Given I am logged in
7
- And a post with the title "Hello World" exists
8
-
9
- Scenario: Create a sidebar for all actions
10
- Given a configuration of:
11
- """
12
- ActiveAdmin.register Post do
13
- sidebar :help do
14
- "Need help? Email us at help@example.com"
15
- end
16
- end
17
- """
18
- When I am on the index page for posts
19
- Then I should see a sidebar titled "Help"
20
- Then I should see "Need help" within the "Help" sidebar
21
-
22
- When I follow "View"
23
- Then I should see a sidebar titled "Help"
24
-
25
- When I follow "Edit Post"
26
- Then I should see a sidebar titled "Help"
27
-
28
- When I am on the index page for posts
29
- When I follow "New Post"
30
- Then I should see a sidebar titled "Help"
31
-
32
-
33
- Scenario: Create a sidebar for only one action
34
- Given a configuration of:
35
- """
36
- ActiveAdmin.register Post do
37
- sidebar :help, only: :index do
38
- "Need help? Email us at help@example.com"
39
- end
40
- end
41
- """
42
- When I am on the index page for posts
43
- Then I should see a sidebar titled "Help"
44
- Then I should see "Need help" within the "Help" sidebar
45
-
46
- When I follow "View"
47
- Then I should not see a sidebar titled "Help"
48
-
49
- When I follow "Edit Post"
50
- Then I should not see a sidebar titled "Help"
51
-
52
- When I am on the index page for posts
53
- When I follow "New Post"
54
- Then I should not see a sidebar titled "Help"
55
-
56
-
57
- Scenario: Create a sidebar for all except one action
58
- Given a configuration of:
59
- """
60
- ActiveAdmin.register Post do
61
- sidebar :help, except: :index do
62
- "Need help? Email us at help@example.com"
63
- end
64
- end
65
- """
66
- When I am on the index page for posts
67
- Then I should not see a sidebar titled "Help"
68
-
69
- When I follow "View"
70
- Then I should see a sidebar titled "Help"
71
-
72
- When I follow "Edit Post"
73
- Then I should see a sidebar titled "Help"
74
-
75
- When I am on the index page for posts
76
- When I follow "New Post"
77
- Then I should see a sidebar titled "Help"
78
-
79
- Scenario: Create a sidebar for only one action with if clause that returns false
80
- Given a configuration of:
81
- """
82
- ActiveAdmin.register Post do
83
- sidebar :help, only: :index, if: proc{ current_active_admin_user.nil? } do
84
- "Need help? Email us at help@example.com"
85
- end
86
- end
87
- """
88
- When I am on the index page for posts
89
- Then I should not see a sidebar titled "Help"
90
-
91
- When I follow "View"
92
- Then I should not see a sidebar titled "Help"
93
-
94
- When I follow "Edit Post"
95
- Then I should not see a sidebar titled "Help"
96
-
97
- When I am on the index page for posts
98
- When I follow "New Post"
99
- Then I should not see a sidebar titled "Help"
100
-
101
- Scenario: Create a sidebar for only one action with if clause with method symbol
102
- Given a configuration of:
103
- """
104
- module SidebarHelper
105
- def can_sidebar?; false; end
106
- end
107
- ActiveAdmin.register Post do
108
- controller { helper SidebarHelper }
109
- sidebar :help, only: :index, if: :can_sidebar? do
110
- "Need help? Email us at help@example.com"
111
- end
112
- end
113
- """
114
- When I am on the index page for posts
115
- Then I should not see a sidebar titled "Help"
116
-
117
- When I follow "View"
118
- Then I should not see a sidebar titled "Help"
119
-
120
- When I follow "Edit Post"
121
- Then I should not see a sidebar titled "Help"
122
-
123
- When I am on the index page for posts
124
- When I follow "New Post"
125
- Then I should not see a sidebar titled "Help"
126
-
127
- Scenario: Create a sidebar for only one action with if clause that returns true
128
- Given a configuration of:
129
- """
130
- ActiveAdmin.register Post do
131
- sidebar :help, only: :show, if: proc{ !current_active_admin_user.nil? } do
132
- "Need help? Email us at help@example.com"
133
- end
134
- end
135
- """
136
- When I am on the index page for posts
137
- Then I should not see a sidebar titled "Help"
138
-
139
- When I follow "View"
140
- Then I should see a sidebar titled "Help"
141
- Then I should see "Need help" within the "Help" sidebar
142
-
143
- When I follow "Edit Post"
144
- Then I should not see a sidebar titled "Help"
145
-
146
- When I am on the index page for posts
147
- When I follow "New Post"
148
- Then I should not see a sidebar titled "Help"
149
-
150
- Scenario: Create a sidebar with deep content
151
- Given a configuration of:
152
- """
153
- ActiveAdmin.register Post do
154
- sidebar :help do
155
- ul do
156
- li "First List First Item"
157
- li "First List Second Item"
158
- end
159
- ul do
160
- li "Second List First Item"
161
- li "Second List Second Item"
162
- end
163
- end
164
- end
165
- """
166
- When I am on the index page for posts
167
- Then I should see a sidebar titled "Help"
168
- And I should see "First List First Item" within the "Help" sidebar
169
- And I should see "Second List Second Item" within the "Help" sidebar
170
-
171
- Scenario: Rendering sidebar by default without a block or partial name
172
- Given "app/views/admin/posts/_help_sidebar.html.erb" contains:
173
- """
174
- <p>Hello World from a partial</p>
175
- """
176
- Given a configuration of:
177
- """
178
- ActiveAdmin.register Post do
179
- sidebar :help
180
- end
181
- """
182
- When I am on the index page for posts
183
- Then I should see "Hello World from a partial" within the "Help" sidebar
184
-
185
- Scenario: Rendering a partial as the sidebar content
186
- Given "app/views/admin/posts/_custom_help_partial.html.erb" contains:
187
- """
188
- <p>Hello World from a custom partial</p>
189
- """
190
- Given a configuration of:
191
- """
192
- ActiveAdmin.register Post do
193
- sidebar :help, partial: "custom_help_partial"
194
- end
195
- """
196
- When I am on the index page for posts
197
- Then I should see "Hello World from a custom partial" within the "Help" sidebar
198
-
199
-
200
- Scenario: Position sidebar at the top using priority option
201
- Given a configuration of:
202
- """
203
- ActiveAdmin.register Post do
204
- sidebar :help, priority: 0 do
205
- "Need help? Email us at help@example.com"
206
- end
207
- end
208
- """
209
- When I am on the index page for posts
210
- Then I should see a sidebar titled "Help" above sidebar titled "Filters"
@@ -1,47 +0,0 @@
1
- Feature: Site title
2
-
3
- As a developer
4
- In order to customize the site title
5
- I want to set it in the configuration
6
-
7
- Background:
8
- Given I am logged in
9
-
10
- Scenario: Set the site title and site title link
11
- Given a configuration of:
12
- """
13
- ActiveAdmin.application.site_title = "My Great Site"
14
- ActiveAdmin.application.site_title_link = "/admin"
15
- """
16
- When I am on the dashboard
17
- And I should see the site title "My Great Site"
18
- When I follow "My Great Site"
19
- Then I should see the site title "My Great Site"
20
-
21
- Scenario: Set the site title image
22
- Given a configuration of:
23
- """
24
- ActiveAdmin.application.site_title_image = "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
25
- """
26
- When I am on the dashboard
27
- And I should not see the site title "My Great Site"
28
- And I should see the site title image "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
29
-
30
- Scenario: Set the site title image with link
31
- Given a configuration of:
32
- """
33
- ActiveAdmin.application.site_title_link = "http://www.google.com"
34
- ActiveAdmin.application.site_title_image = "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
35
- """
36
- When I am on the dashboard
37
- And I should see the site title image "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
38
- And I should see the site title image linked to "http://www.google.com"
39
-
40
- Scenario: Set the site title to a proc
41
- Given a configuration of:
42
- """
43
- ActiveAdmin.application.site_title_image = nil # Configuration is not reset between scenarios
44
- ActiveAdmin.application.site_title = proc { "Hello #{controller.current_admin_user.try(:email) || 'you!'}" }
45
- """
46
- When I am on the dashboard
47
- And I should see the site title "Hello admin@example.com"
@@ -1,118 +0,0 @@
1
- Feature: Specifying Actions
2
-
3
- Specifying which actions to allow on my resource
4
-
5
- Scenario: Only creating the index action
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post do
9
- actions :index
10
- index do
11
- column do |post|
12
- link_to "View", "/admin/posts/1"
13
- end
14
- end
15
- end
16
- """
17
- And I am logged in
18
- And a post with the title "Hello World" exists
19
- When I am on the index page for posts
20
- Then an "ActionController::RoutingError" exception should be raised when I follow "View"
21
-
22
- Scenario: Specify a custom collection action with template
23
- Given a configuration of:
24
- """
25
- ActiveAdmin.register Post do
26
- action_item(:import, only: :index) do
27
- link_to('Import Posts', import_admin_posts_path)
28
- end
29
-
30
- collection_action :import
31
- end
32
- """
33
- Given "app/views/admin/posts/import.html.arb" contains:
34
- """
35
- para "We are currently working on this feature..."
36
- """
37
- And I am logged in
38
- When I am on the index page for posts
39
- And I follow "Import"
40
- Then I should see "We are currently working on this feature"
41
-
42
- Scenario: Specify a custom member action with template
43
- Given a configuration of:
44
- """
45
- ActiveAdmin.register Post do
46
- action_item(:review, only: :show) do
47
- link_to('Review', review_admin_post_path)
48
- end
49
-
50
- member_action :review do
51
- @post = Post.find(params[:id])
52
- end
53
- end
54
- """
55
- Given "app/views/admin/posts/review.html.erb" contains:
56
- """
57
- <h1>Review: <%= @post.title %></h1>
58
- """
59
- And I am logged in
60
- And a post with the title "Hello World" exists
61
- When I am on the index page for posts
62
- And I follow "View"
63
- And I follow "Review"
64
- Then I should see "Review: Hello World"
65
- And I should see the page title "Review"
66
- And I should see the Active Admin layout
67
-
68
- Scenario: Specify a custom member action with template using arb
69
- Given a configuration of:
70
- """
71
- ActiveAdmin.register Post do
72
- action_item(:review, only: :show) do
73
- link_to('Review', review_admin_post_path)
74
- end
75
-
76
- member_action :review do
77
- @post = Post.find(params[:id])
78
- end
79
- end
80
- """
81
- Given "app/views/admin/posts/review.html.arb" contains:
82
- """
83
- h1 "Review: #{post.title}"
84
- """
85
- And I am logged in
86
- And a post with the title "Hello World" exists
87
- When I am on the index page for posts
88
- And I follow "View"
89
- And I follow "Review"
90
- Then I should see "Review: Hello World"
91
- And I should see the page title "Review"
92
- And I should see the Active Admin layout
93
-
94
- Scenario: Specify a custom member action with multiple http methods
95
- Given a configuration of:
96
- """
97
- ActiveAdmin.register Post do
98
- action_item(:get_check, only: :show) do
99
- link_to('Get Check', check_admin_post_path)
100
- end
101
-
102
- action_item(:post_check, only: :show) do
103
- link_to('Post Check', check_admin_post_path, method: :post)
104
- end
105
-
106
- member_action :check, method: [:get, :post] do
107
- redirect_to admin_post_path(resource), notice: "Checked via #{request.method}"
108
- end
109
- end
110
- """
111
- And I am logged in
112
- And a post with the title "Hello World" exists
113
- When I am on the index page for posts
114
- And I follow "View"
115
- And I follow "Get Check"
116
- Then I should see "Checked via GET"
117
- When I follow "Post Check"
118
- Then I should see "Checked via POST"