activeadmin 1.3.1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +589 -136
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +83 -61
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.js +517 -0
  7. data/app/assets/stylesheets/active_admin/_base.scss +29 -29
  8. data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
  9. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  10. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  11. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +0 -0
  12. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  14. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  15. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  16. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  17. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  18. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  19. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +8 -0
  20. data/app/assets/stylesheets/active_admin/print.scss +2 -2
  21. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  22. data/app/javascript/active_admin/base.js +28 -0
  23. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  24. data/app/javascript/active_admin/ext/jquery.js +9 -0
  25. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  26. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  27. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  28. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  29. data/app/javascript/active_admin/initializers/filters.js +10 -0
  30. data/app/javascript/active_admin/initializers/has-many.js +95 -0
  31. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  32. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  33. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  34. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  35. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  36. data/app/javascript/active_admin/lib/filters.js +39 -0
  37. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  38. data/app/javascript/active_admin/lib/per-page.js +38 -0
  39. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  40. data/app/javascript/active_admin/lib/utils.js +40 -0
  41. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  42. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  43. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  44. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  45. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  46. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  47. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  48. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  49. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  50. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  51. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  52. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  53. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  54. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  55. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  56. data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
  57. data/config/locales/ar.yml +9 -8
  58. data/config/locales/az.yml +138 -0
  59. data/config/locales/bg.yml +1 -1
  60. data/config/locales/bs.yml +1 -0
  61. data/config/locales/ca.yml +1 -1
  62. data/config/locales/cs.yml +1 -0
  63. data/config/locales/da.yml +1 -0
  64. data/config/locales/de-CH.yml +1 -0
  65. data/config/locales/de.yml +29 -0
  66. data/config/locales/el.yml +1 -0
  67. data/config/locales/en-CA.yml +4 -3
  68. data/config/locales/en-GB.yml +4 -3
  69. data/config/locales/en.yml +23 -4
  70. data/config/locales/eo.yml +1 -0
  71. data/config/locales/es-MX.yml +3 -1
  72. data/config/locales/es.yml +26 -6
  73. data/config/locales/fa.yml +1 -0
  74. data/config/locales/fi.yml +2 -1
  75. data/config/locales/fr.yml +6 -5
  76. data/config/locales/he.yml +1 -1
  77. data/config/locales/hr.yml +1 -0
  78. data/config/locales/hu.yml +5 -0
  79. data/config/locales/id.yml +1 -0
  80. data/config/locales/it.yml +23 -0
  81. data/config/locales/ja.yml +4 -3
  82. data/config/locales/ko.yml +1 -0
  83. data/config/locales/lt.yml +3 -2
  84. data/config/locales/lv.yml +3 -2
  85. data/config/locales/mk.yml +134 -0
  86. data/config/locales/nb.yml +16 -5
  87. data/config/locales/nl.yml +12 -0
  88. data/config/locales/pl.yml +72 -3
  89. data/config/locales/pt-BR.yml +1 -0
  90. data/config/locales/pt-PT.yml +1 -0
  91. data/config/locales/ro.yml +1 -0
  92. data/config/locales/ru.yml +3 -0
  93. data/config/locales/sk.yml +60 -0
  94. data/config/locales/sv-SE.yml +1 -0
  95. data/config/locales/tr.yml +10 -0
  96. data/config/locales/uk.yml +3 -0
  97. data/config/locales/vi.yml +7 -5
  98. data/config/locales/zh-CN.yml +34 -5
  99. data/config/locales/zh-TW.yml +1 -0
  100. data/docs/.gitignore +1 -0
  101. data/docs/0-installation.md +28 -4
  102. data/docs/1-general-configuration.md +36 -1
  103. data/docs/10-custom-pages.md +14 -0
  104. data/docs/11-decorators.md +16 -5
  105. data/docs/12-arbre-components.md +41 -1
  106. data/docs/13-authorization-adapter.md +41 -22
  107. data/docs/2-resource-customization.md +19 -5
  108. data/docs/3-index-pages/custom-index.md +1 -1
  109. data/docs/3-index-pages/index-as-blog.md +1 -1
  110. data/docs/3-index-pages/index-as-table.md +12 -5
  111. data/docs/3-index-pages.md +18 -1
  112. data/docs/5-forms.md +22 -3
  113. data/docs/6-show-pages.md +12 -0
  114. data/docs/8-custom-actions.md +11 -0
  115. data/docs/9-batch-actions.md +2 -2
  116. data/docs/CNAME +1 -1
  117. data/docs/Gemfile +3 -2
  118. data/docs/Gemfile.lock +259 -0
  119. data/docs/_config.yml +3 -1
  120. data/docs/_includes/toc.html +1 -1
  121. data/docs/_includes/top-menu.html +9 -1
  122. data/docs/documentation.md +2 -2
  123. data/docs/images/tidelift.svg +14 -0
  124. data/docs/index.html +110 -9
  125. data/docs/stylesheets/main.css +55 -2
  126. data/lib/active_admin/abstract_view_factory.rb +13 -51
  127. data/lib/active_admin/application.rb +59 -166
  128. data/lib/active_admin/application_settings.rb +42 -0
  129. data/lib/active_admin/asset_registration.rb +0 -8
  130. data/lib/active_admin/authorization_adapter.rb +3 -3
  131. data/lib/active_admin/base_controller/authorization.rb +16 -17
  132. data/lib/active_admin/base_controller.rb +10 -10
  133. data/lib/active_admin/batch_actions/controller.rb +5 -5
  134. data/lib/active_admin/batch_actions/resource_extension.rb +15 -10
  135. data/lib/active_admin/batch_actions/views/batch_action_form.rb +3 -3
  136. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +6 -6
  137. data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
  138. data/lib/active_admin/callbacks.rb +1 -1
  139. data/lib/active_admin/cancan_adapter.rb +1 -1
  140. data/lib/active_admin/collection_decorator.rb +31 -0
  141. data/lib/active_admin/controller_action.rb +2 -1
  142. data/lib/active_admin/csv_builder.rb +14 -9
  143. data/lib/active_admin/dependency.rb +13 -77
  144. data/lib/active_admin/deprecation.rb +0 -25
  145. data/lib/active_admin/devise.rb +5 -5
  146. data/lib/active_admin/dsl.rb +2 -9
  147. data/lib/active_admin/dynamic_setting.rb +38 -0
  148. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  149. data/lib/active_admin/engine.rb +14 -7
  150. data/lib/active_admin/error.rb +4 -4
  151. data/lib/active_admin/filters/active.rb +1 -1
  152. data/lib/active_admin/filters/active_filter.rb +11 -11
  153. data/lib/active_admin/filters/active_sidebar.rb +9 -5
  154. data/lib/active_admin/filters/forms.rb +12 -9
  155. data/lib/active_admin/filters/formtastic_addons.rb +2 -7
  156. data/lib/active_admin/filters/resource_extension.rb +29 -5
  157. data/lib/active_admin/filters.rb +7 -7
  158. data/lib/active_admin/form_builder.rb +109 -70
  159. data/lib/active_admin/generators/boilerplate.rb +12 -4
  160. data/lib/active_admin/helpers/optional_display.rb +2 -2
  161. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  162. data/lib/active_admin/inputs/datepicker_input.rb +9 -2
  163. data/lib/active_admin/inputs/filters/base/search_method_select.rb +6 -6
  164. data/lib/active_admin/inputs/filters/base.rb +1 -1
  165. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
  166. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
  167. data/lib/active_admin/inputs/filters/date_range_input.rb +15 -12
  168. data/lib/active_admin/inputs/filters/select_input.rb +2 -2
  169. data/lib/active_admin/localizers/resource_localizer.rb +3 -3
  170. data/lib/active_admin/localizers.rb +1 -1
  171. data/lib/active_admin/menu.rb +8 -11
  172. data/lib/active_admin/menu_item.rb +10 -38
  173. data/lib/active_admin/namespace.rb +30 -18
  174. data/lib/active_admin/namespace_settings.rb +126 -0
  175. data/lib/active_admin/order_clause.rb +2 -2
  176. data/lib/active_admin/orm/active_record/comments/comment.rb +4 -4
  177. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +29 -24
  178. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  179. data/lib/active_admin/orm/active_record/comments.rb +34 -23
  180. data/lib/active_admin/orm/active_record.rb +1 -1
  181. data/lib/active_admin/page.rb +1 -1
  182. data/lib/active_admin/page_dsl.rb +1 -1
  183. data/lib/active_admin/page_presenter.rb +2 -1
  184. data/lib/active_admin/pundit_adapter.rb +22 -9
  185. data/lib/active_admin/resource/action_items.rb +11 -6
  186. data/lib/active_admin/resource/attributes.rb +8 -5
  187. data/lib/active_admin/resource/belongs_to.rb +8 -3
  188. data/lib/active_admin/resource/controllers.rb +1 -1
  189. data/lib/active_admin/resource/menu.rb +5 -5
  190. data/lib/active_admin/resource/model.rb +15 -0
  191. data/lib/active_admin/resource/naming.rb +5 -5
  192. data/lib/active_admin/resource/routes.rb +25 -14
  193. data/lib/active_admin/resource/scope_to.rb +7 -7
  194. data/lib/active_admin/resource/scopes.rb +3 -3
  195. data/lib/active_admin/resource/sidebars.rb +2 -2
  196. data/lib/active_admin/resource.rb +34 -20
  197. data/lib/active_admin/resource_collection.rb +2 -2
  198. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  199. data/lib/active_admin/resource_controller/data_access.rb +1 -1
  200. data/lib/active_admin/resource_controller/decorators.rb +9 -31
  201. data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
  202. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  203. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  204. data/lib/active_admin/resource_controller/streaming.rb +7 -6
  205. data/lib/active_admin/resource_controller.rb +13 -10
  206. data/lib/active_admin/resource_dsl.rb +11 -9
  207. data/lib/active_admin/router.rb +90 -84
  208. data/lib/active_admin/scope.rb +19 -11
  209. data/lib/active_admin/settings_node.rb +19 -0
  210. data/lib/active_admin/sidebar_section.rb +3 -1
  211. data/lib/active_admin/version.rb +1 -1
  212. data/lib/active_admin/view_factory.rb +17 -17
  213. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +5 -5
  214. data/lib/active_admin/view_helpers/display_helper.rb +16 -7
  215. data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
  216. data/lib/active_admin/view_helpers/fields_for.rb +2 -2
  217. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  218. data/lib/active_admin/view_helpers.rb +1 -1
  219. data/lib/active_admin/views/components/active_admin_form.rb +12 -7
  220. data/lib/active_admin/views/components/attributes_table.rb +8 -8
  221. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  222. data/lib/active_admin/views/components/dropdown_menu.rb +8 -8
  223. data/lib/active_admin/views/components/index_list.rb +3 -3
  224. data/lib/active_admin/views/components/menu.rb +32 -0
  225. data/lib/active_admin/views/components/menu_item.rb +58 -0
  226. data/lib/active_admin/views/components/paginated_collection.rb +21 -20
  227. data/lib/active_admin/views/components/panel.rb +1 -1
  228. data/lib/active_admin/views/components/scopes.rb +17 -8
  229. data/lib/active_admin/views/components/sidebar.rb +13 -0
  230. data/lib/active_admin/views/components/sidebar_section.rb +0 -3
  231. data/lib/active_admin/views/components/site_title.rb +6 -7
  232. data/lib/active_admin/views/components/status_tag.rb +13 -26
  233. data/lib/active_admin/views/components/table_for.rb +21 -29
  234. data/lib/active_admin/views/components/tabs.rb +17 -5
  235. data/lib/active_admin/views/footer.rb +5 -8
  236. data/lib/active_admin/views/header.rb +3 -15
  237. data/lib/active_admin/views/index_as_blog.rb +2 -2
  238. data/lib/active_admin/views/index_as_grid.rb +26 -26
  239. data/lib/active_admin/views/index_as_table.rb +33 -25
  240. data/lib/active_admin/views/pages/base.rb +40 -59
  241. data/lib/active_admin/views/pages/index.rb +15 -13
  242. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  243. data/lib/active_admin/views/title_bar.rb +1 -1
  244. data/lib/active_admin/views.rb +1 -1
  245. data/lib/active_admin.rb +67 -63
  246. data/lib/activeadmin.rb +1 -1
  247. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  248. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  249. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  250. data/lib/generators/active_admin/devise/devise_generator.rb +5 -5
  251. data/lib/generators/active_admin/install/install_generator.rb +18 -8
  252. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
  253. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  254. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  255. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  256. data/lib/generators/active_admin/resource/resource_generator.rb +3 -3
  257. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  258. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  259. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  260. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  261. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  262. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
  263. data/lib/ransack_ext.rb +9 -9
  264. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  265. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  266. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  267. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  268. metadata +120 -553
  269. data/.github/ISSUE_TEMPLATE.md +0 -20
  270. data/.gitignore +0 -49
  271. data/.mdlrc +0 -1
  272. data/.rubocop.yml +0 -76
  273. data/.simplecov +0 -13
  274. data/.travis.yml +0 -51
  275. data/.yardopts +0 -7
  276. data/Gemfile +0 -58
  277. data/Rakefile +0 -54
  278. data/activeadmin.gemspec +0 -32
  279. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  280. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  281. data/app/assets/images/active_admin/orderable.png +0 -0
  282. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  283. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  284. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  285. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  286. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  287. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  288. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  289. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  290. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  291. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  292. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  293. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  294. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  295. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  296. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  297. data/codecov.yml +0 -25
  298. data/config/i18n-tasks.yml +0 -26
  299. data/config/mdl_style.rb +0 -9
  300. data/cucumber.yml +0 -3
  301. data/features/action_item.feature +0 -73
  302. data/features/authorization.feature +0 -64
  303. data/features/authorization_cancan.feature +0 -52
  304. data/features/authorization_pundit.feature +0 -37
  305. data/features/belongs_to.feature +0 -124
  306. data/features/breadcrumb.feature +0 -75
  307. data/features/comments/commenting.feature +0 -178
  308. data/features/comments/viewing_index.feature +0 -19
  309. data/features/create_another.feature +0 -55
  310. data/features/dashboard.feature +0 -16
  311. data/features/decorators.feature +0 -43
  312. data/features/development_reloading.feature +0 -28
  313. data/features/edit_page.feature +0 -116
  314. data/features/favicon.feature +0 -20
  315. data/features/first_boot.feature +0 -16
  316. data/features/footer.feature +0 -28
  317. data/features/global_navigation.feature +0 -29
  318. data/features/i18n.feature +0 -55
  319. data/features/index/batch_actions.feature +0 -218
  320. data/features/index/filters.feature +0 -250
  321. data/features/index/format_as_csv.feature +0 -220
  322. data/features/index/formats.feature +0 -88
  323. data/features/index/index_as_block.feature +0 -15
  324. data/features/index/index_as_blog.feature +0 -69
  325. data/features/index/index_as_grid.feature +0 -45
  326. data/features/index/index_as_table.feature +0 -291
  327. data/features/index/index_blank_slate.feature +0 -83
  328. data/features/index/index_parameters.feature +0 -75
  329. data/features/index/index_scope_to.feature +0 -56
  330. data/features/index/index_scopes.feature +0 -285
  331. data/features/index/page_title.feature +0 -41
  332. data/features/index/pagination.feature +0 -63
  333. data/features/index/switch_index_view.feature +0 -73
  334. data/features/menu.feature +0 -72
  335. data/features/meta_tags.feature +0 -21
  336. data/features/new_page.feature +0 -136
  337. data/features/registering_assets.feature +0 -38
  338. data/features/registering_pages.feature +0 -237
  339. data/features/registering_resources.feature +0 -33
  340. data/features/renamed_resource.feature +0 -30
  341. data/features/root_to.feature +0 -17
  342. data/features/show/attributes_table_title.feature +0 -54
  343. data/features/show/columns.feature +0 -40
  344. data/features/show/default_content.feature +0 -44
  345. data/features/show/page_title.feature +0 -58
  346. data/features/show/tabs.feature +0 -33
  347. data/features/sidebar_sections.feature +0 -210
  348. data/features/site_title.feature +0 -47
  349. data/features/specifying_actions.feature +0 -118
  350. data/features/step_definitions/action_item_steps.rb +0 -7
  351. data/features/step_definitions/action_link_steps.rb +0 -19
  352. data/features/step_definitions/additional_web_steps.rb +0 -81
  353. data/features/step_definitions/asset_steps.rb +0 -15
  354. data/features/step_definitions/attribute_steps.rb +0 -18
  355. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  356. data/features/step_definitions/batch_action_steps.rb +0 -81
  357. data/features/step_definitions/blog_steps.rb +0 -3
  358. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  359. data/features/step_definitions/column_steps.rb +0 -8
  360. data/features/step_definitions/comment_steps.rb +0 -32
  361. data/features/step_definitions/configuration_steps.rb +0 -100
  362. data/features/step_definitions/dashboard_steps.rb +0 -15
  363. data/features/step_definitions/factory_steps.rb +0 -35
  364. data/features/step_definitions/filter_steps.rb +0 -47
  365. data/features/step_definitions/flash_steps.rb +0 -11
  366. data/features/step_definitions/footer_steps.rb +0 -11
  367. data/features/step_definitions/format_steps.rb +0 -56
  368. data/features/step_definitions/i18n_steps.rb +0 -11
  369. data/features/step_definitions/index_scope_steps.rb +0 -29
  370. data/features/step_definitions/index_views_steps.rb +0 -3
  371. data/features/step_definitions/layout_steps.rb +0 -3
  372. data/features/step_definitions/member_link_steps.rb +0 -7
  373. data/features/step_definitions/menu_steps.rb +0 -11
  374. data/features/step_definitions/meta_tag_steps.rb +0 -3
  375. data/features/step_definitions/pagination_steps.rb +0 -15
  376. data/features/step_definitions/sidebar_steps.rb +0 -11
  377. data/features/step_definitions/site_title_steps.rb +0 -17
  378. data/features/step_definitions/tab_steps.rb +0 -8
  379. data/features/step_definitions/table_steps.rb +0 -116
  380. data/features/step_definitions/user_steps.rb +0 -52
  381. data/features/step_definitions/web_steps.rb +0 -86
  382. data/features/sti_resource.feature +0 -65
  383. data/features/strong_parameters.feature +0 -69
  384. data/features/support/env.rb +0 -122
  385. data/features/support/paths.rb +0 -73
  386. data/features/support/regular_env.rb +0 -7
  387. data/features/support/reload_env.rb +0 -7
  388. data/features/support/selectors.rb +0 -45
  389. data/features/users/logging_in.feature +0 -36
  390. data/features/users/logging_out.feature +0 -13
  391. data/features/users/resetting_password.feature +0 -34
  392. data/gemfiles/rails_42.gemfile +0 -10
  393. data/gemfiles/rails_50.gemfile +0 -10
  394. data/gemfiles/rails_51.gemfile +0 -10
  395. data/gemfiles/rails_52.gemfile +0 -11
  396. data/lib/active_admin/event.rb +0 -24
  397. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  398. data/lib/active_admin/helpers/settings.rb +0 -114
  399. data/lib/active_admin/reloader.rb +0 -25
  400. data/lib/bug_report_templates/active_admin_master.rb +0 -112
  401. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  402. data/spec/bug_report_templates_spec.rb +0 -26
  403. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  404. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  405. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  406. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  407. data/spec/javascripts/fixtures/flashes.html +0 -2
  408. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  409. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  410. data/spec/javascripts/support/jasmine.yml +0 -74
  411. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  412. data/spec/rails_helper.rb +0 -59
  413. data/spec/requests/default_namespace_spec.rb +0 -81
  414. data/spec/requests/memory_spec.rb +0 -25
  415. data/spec/requests/stylesheets_spec.rb +0 -18
  416. data/spec/spec_helper.rb +0 -1
  417. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  418. data/spec/support/active_admin_request_helpers.rb +0 -39
  419. data/spec/support/rails_template.rb +0 -153
  420. data/spec/support/rails_template_with_data.rb +0 -327
  421. data/spec/support/templates/admin/stores.rb +0 -7
  422. data/spec/support/templates/en.yml +0 -8
  423. data/spec/support/templates/manifest.js +0 -3
  424. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  425. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  426. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  427. data/spec/support/templates/policies/application_policy.rb +0 -44
  428. data/spec/support/templates/policies/category_policy.rb +0 -7
  429. data/spec/support/templates/policies/post_policy.rb +0 -15
  430. data/spec/support/templates/policies/store_policy.rb +0 -11
  431. data/spec/support/templates/policies/user_policy.rb +0 -11
  432. data/spec/support/templates/post_decorator.rb +0 -24
  433. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  434. data/spec/unit/action_builder_spec.rb +0 -158
  435. data/spec/unit/active_admin_spec.rb +0 -11
  436. data/spec/unit/application_spec.rb +0 -184
  437. data/spec/unit/asset_registration_spec.rb +0 -81
  438. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  439. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  440. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  441. data/spec/unit/auto_link_spec.rb +0 -93
  442. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  443. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  444. data/spec/unit/belongs_to_spec.rb +0 -76
  445. data/spec/unit/cancan_adapter_spec.rb +0 -43
  446. data/spec/unit/comments_spec.rb +0 -176
  447. data/spec/unit/component_spec.rb +0 -18
  448. data/spec/unit/config_shared_examples.rb +0 -59
  449. data/spec/unit/controller_filters_spec.rb +0 -41
  450. data/spec/unit/csv_builder_spec.rb +0 -313
  451. data/spec/unit/dependency_spec.rb +0 -135
  452. data/spec/unit/devise_spec.rb +0 -110
  453. data/spec/unit/dsl_spec.rb +0 -120
  454. data/spec/unit/filters/active_filter_spec.rb +0 -189
  455. data/spec/unit/filters/active_spec.rb +0 -24
  456. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  457. data/spec/unit/filters/resource_spec.rb +0 -128
  458. data/spec/unit/form_builder_spec.rb +0 -990
  459. data/spec/unit/generators/install_spec.rb +0 -31
  460. data/spec/unit/helpers/collection_spec.rb +0 -68
  461. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  462. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  463. data/spec/unit/helpers/settings_spec.rb +0 -30
  464. data/spec/unit/i18n_spec.rb +0 -29
  465. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  466. data/spec/unit/menu_collection_spec.rb +0 -62
  467. data/spec/unit/menu_item_spec.rb +0 -141
  468. data/spec/unit/menu_spec.rb +0 -71
  469. data/spec/unit/namespace/authorization_spec.rb +0 -27
  470. data/spec/unit/namespace/register_page_spec.rb +0 -99
  471. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  472. data/spec/unit/namespace_spec.rb +0 -124
  473. data/spec/unit/order_clause_spec.rb +0 -81
  474. data/spec/unit/page_controller_spec.rb +0 -5
  475. data/spec/unit/page_spec.rb +0 -128
  476. data/spec/unit/pretty_format_spec.rb +0 -82
  477. data/spec/unit/pundit_adapter_spec.rb +0 -98
  478. data/spec/unit/resource/action_items_spec.rb +0 -69
  479. data/spec/unit/resource/attributes_spec.rb +0 -49
  480. data/spec/unit/resource/includes_spec.rb +0 -21
  481. data/spec/unit/resource/menu_spec.rb +0 -18
  482. data/spec/unit/resource/naming_spec.rb +0 -122
  483. data/spec/unit/resource/ordering_spec.rb +0 -35
  484. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  485. data/spec/unit/resource/pagination_spec.rb +0 -38
  486. data/spec/unit/resource/routes_spec.rb +0 -125
  487. data/spec/unit/resource/scopes_spec.rb +0 -50
  488. data/spec/unit/resource/sidebars_spec.rb +0 -43
  489. data/spec/unit/resource_collection_spec.rb +0 -175
  490. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  491. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  492. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  493. data/spec/unit/resource_controller_spec.rb +0 -273
  494. data/spec/unit/resource_registration_spec.rb +0 -61
  495. data/spec/unit/resource_spec.rb +0 -320
  496. data/spec/unit/routing_spec.rb +0 -211
  497. data/spec/unit/scope_spec.rb +0 -209
  498. data/spec/unit/settings_spec.rb +0 -117
  499. data/spec/unit/view_factory_spec.rb +0 -19
  500. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  501. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  502. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  503. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  504. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  505. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  506. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  507. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  508. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  509. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  510. data/spec/unit/views/components/columns_spec.rb +0 -187
  511. data/spec/unit/views/components/index_list_spec.rb +0 -49
  512. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  513. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  514. data/spec/unit/views/components/panel_spec.rb +0 -58
  515. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  516. data/spec/unit/views/components/site_title_spec.rb +0 -76
  517. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  518. data/spec/unit/views/components/table_for_spec.rb +0 -436
  519. data/spec/unit/views/components/tabs_spec.rb +0 -67
  520. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  521. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  522. data/spec/unit/views/pages/form_spec.rb +0 -54
  523. data/spec/unit/views/pages/index_spec.rb +0 -60
  524. data/spec/unit/views/pages/layout_spec.rb +0 -59
  525. data/spec/unit/views/pages/show_spec.rb +0 -32
  526. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  527. data/tasks/docs.rake +0 -64
  528. data/tasks/lint.rake +0 -21
  529. data/tasks/local.rake +0 -25
  530. data/tasks/parallel_tests.rake +0 -66
  531. data/tasks/test.rake +0 -29
@@ -1,86 +0,0 @@
1
- require 'uri'
2
- require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
3
- require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "selectors"))
4
-
5
- module WithinHelpers
6
- def with_scope(locator)
7
- locator ? within(*selector_for(locator)) { yield } : yield
8
- end
9
- end
10
- World(WithinHelpers)
11
-
12
- # Single-line step scoper
13
- When /^(.*) within (.*[^:])$/ do |step_name, parent|
14
- with_scope(parent) { step step_name }
15
- end
16
-
17
- # Multi-line step scoper
18
- When /^(.*) within (.*[^:]):$/ do |step_name, parent, table_or_string|
19
- with_scope(parent) { step "#{step_name}:", table_or_string }
20
- end
21
-
22
- Given /^(?:I )am on (.+)$/ do |page_name|
23
- visit path_to(page_name)
24
- end
25
-
26
- When /^(?:I )go to (.+)$/ do |page_name|
27
- visit path_to(page_name)
28
- end
29
-
30
- When /^(?:I )press "([^"]*)"$/ do |button|
31
- click_button(button)
32
- end
33
-
34
- When /^(?:I )follow "([^"]*)"$/ do |link|
35
- first(:link, link).click
36
- end
37
-
38
- When /^(?:I )fill in "([^"]*)" with "([^"]*)"$/ do |field, value|
39
- fill_in(field, with: value)
40
- end
41
-
42
- When /^(?:I )select "([^"]*)" from "([^"]*)"$/ do |value, field|
43
- select(value, from: field)
44
- end
45
-
46
- When /^(?:I )(check|uncheck|choose) "([^"]*)"$/ do |action, field|
47
- send action, field
48
- end
49
-
50
- When /^(?:I )attach the file "([^"]*)" to "([^"]*)"$/ do |path, field|
51
- attach_file(field, File.expand_path(path))
52
- end
53
-
54
- Then /^(?:I )should( not)? see( the element)? "([^"]*)"$/ do |negate, is_css, text|
55
- should = negate ? :not_to : :to
56
- have = is_css ? have_css(text) : have_content(text)
57
- expect(page).send should, have
58
- end
59
-
60
- Then /^the "([^"]*)" field(?: within (.*))? should( not)? contain "([^"]*)"$/ do |field, parent, negate, value|
61
- with_scope(parent) do
62
- field = find_field(field)
63
- value = field.tag_name == 'textarea' ? field.text : field.value
64
-
65
- expect(value).send negate ? :not_to : :to, match(/#{value}/)
66
- end
67
- end
68
-
69
- Then /^the "([^"]*)" checkbox(?: within (.*))? should( not)? be checked$/ do |label, parent, negate|
70
- with_scope(parent) do
71
- checkbox = find_field(label)
72
- if negate
73
- expect(checkbox).not_to be_checked
74
- else
75
- expect(checkbox).to be_checked
76
- end
77
- end
78
- end
79
-
80
- Then /^(?:|I )should be on (.+)$/ do |page_name|
81
- expect(URI.parse(current_url).path).to eq path_to page_name
82
- end
83
-
84
- Then /^show me the page$/ do
85
- save_and_open_page
86
- end
@@ -1,65 +0,0 @@
1
- Feature: STI Resource
2
-
3
- Ensure that standard CRUD works with STI models
4
-
5
- Background:
6
- Given I am logged in
7
- And a configuration of:
8
- """
9
- ActiveAdmin.register Publisher do
10
- permit_params :first_name, :last_name, :username, :age
11
- end
12
- ActiveAdmin.register User do
13
- permit_params :first_name, :last_name, :username, :age
14
- end
15
- """
16
-
17
- Scenario: Create, update and delete a child STI resource
18
- Given I am on the index page for publishers
19
- When I follow "New Publisher"
20
- And I fill in "First name" with "Terry"
21
- And I fill in "Last name" with "Fox"
22
- And I fill in "Username" with "terry_fox"
23
- And I press "Create Publisher"
24
- Then I should see "Publisher was successfully created"
25
- And I should see "Terry"
26
-
27
- When I follow "Edit Publisher"
28
- And I fill in "First name" with "Joe"
29
- And I press "Update Publisher"
30
- Then I should see "Publisher was successfully updated"
31
- And I should see "Joe"
32
-
33
- When I follow "Delete Publisher"
34
- Then I should see "Publisher was successfully destroyed"
35
-
36
- Scenario: Create, update and delete a parent STI resource
37
- Given I am on the index page for users
38
- When I follow "New User"
39
- And I fill in "First name" with "Terry"
40
- And I fill in "Last name" with "Fox"
41
- And I fill in "Username" with "terry_fox"
42
- And I press "Create User"
43
- Then I should see "User was successfully created"
44
- And I should see "Terry"
45
-
46
- When I follow "Edit User"
47
- And I fill in "First name" with "Joe"
48
- And I press "Update User"
49
- Then I should see "User was successfully updated"
50
- And I should see "Joe"
51
-
52
- When I follow "Delete User"
53
- Then I should see "User was successfully destroyed"
54
-
55
- Scenario: Update and delete a child STI when the parent is registered
56
- Given a publisher named "Terry Fox" exists
57
- And I am on the index page for users
58
- When I follow "Edit"
59
- And I fill in "First name" with "Joe"
60
- And I press "Update Publisher"
61
- Then I should see "Publisher was successfully updated"
62
- And I should see "Joe"
63
-
64
- When I follow "Delete User"
65
- Then I should see "Publisher was successfully destroyed"
@@ -1,69 +0,0 @@
1
- @silent_unpermitted_params_failure
2
- Feature: Strong Params
3
-
4
- Background:
5
- Given a category named "Music" exists
6
- And a user named "John Doe" exists
7
- And a post with the title "Hello World" written by "John Doe" exists
8
- And I am logged in
9
- Given a configuration of:
10
- """
11
- ActiveAdmin.register Post do
12
- end
13
- """
14
- When I am on the index page for posts
15
-
16
- Scenario: Static permitted parameters
17
- Given a configuration of:
18
- """
19
- ActiveAdmin.register Post do
20
- permit_params :author, :title, :starred
21
- end
22
- """
23
- Given I follow "Edit"
24
-
25
- When I fill in "Title" with "Hello World from update"
26
- And I check "Starred"
27
- When I press "Update Post"
28
- Then I should see "Post was successfully updated."
29
- And I should see the attribute "Title" with "Hello World from update"
30
- And I should see the attribute "Author" with "John Doe"
31
- And I should see the attribute "Starred" with "Yes"
32
-
33
- Scenario: Dynamic permitted parameters
34
- Given a configuration of:
35
- """
36
- ActiveAdmin.register Post do
37
- permit_params do
38
- allow = [:author, :title]
39
- allow << :starred
40
- allow
41
- end
42
- end
43
- """
44
- Given I follow "Edit"
45
-
46
- When I fill in "Title" with "Hello World from update"
47
- And I check "Starred"
48
- When I press "Update Post"
49
- Then I should see "Post was successfully updated."
50
- And I should see the attribute "Title" with "Hello World from update"
51
- And I should see the attribute "Author" with "John Doe"
52
- And I should see the attribute "Starred" with "Yes"
53
-
54
- Scenario: Should not update parameters that are not declared as permitted
55
- Given a configuration of:
56
- """
57
- ActiveAdmin.register Post do
58
- permit_params :author, :title
59
- end
60
- """
61
- Given I follow "Edit"
62
-
63
- When I fill in "Title" with "Hello World from update"
64
- And I check "Starred"
65
- When I press "Update Post"
66
- Then I should see "Post was successfully updated."
67
- And I should see the attribute "Title" with "Hello World from update"
68
- And I should see the attribute "Author" with "John Doe"
69
- And I should see the attribute "Starred" with "No"
@@ -1,122 +0,0 @@
1
- # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
- # It is recommended to regenerate this file in the future when you upgrade to a
3
- # newer version of cucumber-rails. Consider adding your own code to a new file
4
- # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
- # files.
6
-
7
- ENV['RAILS_ENV'] = 'test'
8
-
9
- require 'simplecov' if ENV["COVERAGE"] == "true"
10
-
11
- Dir["#{File.expand_path('../../step_definitions', __FILE__)}/*.rb"].each do |f|
12
- require f
13
- end
14
-
15
- require 'rails'
16
- ENV['RAILS_ROOT'] = File.expand_path("../../../spec/rails/rails-#{Rails.version}", __FILE__)
17
-
18
- # Create the test app if it doesn't exists
19
- unless File.exists?(ENV['RAILS_ROOT'])
20
- system 'rake setup'
21
- end
22
-
23
- require 'active_record'
24
- require 'active_admin'
25
- require 'devise'
26
- ActiveAdmin.application.load_paths = [ENV['RAILS_ROOT'] + "/app/admin"]
27
-
28
- require ENV['RAILS_ROOT'] + '/config/environment'
29
-
30
- # Setup autoloading of ActiveAdmin
31
- autoload :ActiveAdmin, 'active_admin'
32
-
33
- require 'cucumber/rails'
34
-
35
- require 'rspec/mocks'
36
- World(RSpec::Mocks::ExampleMethods)
37
-
38
- Before do
39
- RSpec::Mocks.setup
40
- end
41
-
42
- After do
43
- begin
44
- RSpec::Mocks.verify
45
- ensure
46
- RSpec::Mocks.teardown
47
- end
48
- end
49
-
50
- require 'capybara/rails'
51
- require 'capybara/cucumber'
52
- require 'capybara/session'
53
- require 'capybara/poltergeist'
54
- require 'phantomjs/poltergeist'
55
-
56
- Capybara.javascript_driver = :poltergeist
57
-
58
- # Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In
59
- # order to ease the transition to Capybara we set the default here. If you'd
60
- # prefer to use XPath just remove this line and adjust any selectors in your
61
- # steps to use the XPath syntax.
62
- Capybara.default_selector = :css
63
-
64
- # If you set this to false, any error raised from within your app will bubble
65
- # up to your step definition and out to cucumber unless you catch it somewhere
66
- # on the way. You can make Rails rescue errors and render error pages on a
67
- # per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
68
- #
69
- # If you set this to true, Rails will rescue all errors and render error
70
- # pages, more or less in the same way your application would behave in the
71
- # default production environment. It's not recommended to do this for all
72
- # of your scenarios, as this makes it hard to discover errors in your application.
73
- ActionController::Base.allow_rescue = false
74
-
75
- # Database resetting strategy
76
- DatabaseCleaner.strategy = :truncation
77
- Cucumber::Rails::Database.javascript_strategy = :truncation
78
-
79
- # Warden helpers to speed up login
80
- # See https://github.com/plataformatec/devise/wiki/How-To:-Test-with-Capybara
81
- include Warden::Test::Helpers
82
-
83
- After do
84
- Warden.test_reset!
85
-
86
- # Reset back to the default auth adapter
87
- ActiveAdmin.application.namespace(:admin).
88
- authorization_adapter = ActiveAdmin::AuthorizationAdapter
89
- end
90
-
91
- Before do
92
- begin
93
- # We are caching classes, but need to manually clear references to
94
- # the controllers. If they aren't clear, the router stores references
95
- ActiveSupport::Dependencies.clear
96
-
97
- # Reload Active Admin
98
- ActiveAdmin.unload!
99
- ActiveAdmin.load!
100
- rescue
101
- p $!
102
- raise $!
103
- end
104
- end
105
-
106
- # Force deprecations to raise an exception.
107
- ActiveSupport::Deprecation.behavior = :raise
108
-
109
- # improve the performance of the specs suite by not logging anything
110
- # see http://blog.plataformatec.com.br/2011/12/three-tips-to-improve-the-performance-of-your-test-suite/
111
- Rails.logger.level = 4
112
-
113
- Around '@silent_unpermitted_params_failure' do |scenario, block|
114
- original = ActionController::Parameters.action_on_unpermitted_parameters
115
- ActionController::Parameters.action_on_unpermitted_parameters = false
116
- block.call
117
- ActionController::Parameters.action_on_unpermitted_parameters = original
118
- end
119
-
120
- Around '@locale_manipulation' do |scenario, block|
121
- I18n.with_locale(:en) { block.call }
122
- end
@@ -1,73 +0,0 @@
1
- module NavigationHelpers
2
- # Maps a name to a path. Used by the
3
- #
4
- # When /^I go to (.+)$/ do |page_name|
5
- #
6
- # step definition in web_steps.rb
7
- #
8
- def path_to(page_name)
9
- case page_name
10
-
11
- when /the home\s?page/
12
- '/'
13
- when /the dashboard/
14
- "/admin"
15
- when /the new post page/
16
- "/admin/posts/new"
17
- when /the login page/
18
- "/admin/login"
19
- when /the first post custom status page/
20
- "/admin/posts/1/status"
21
- when /the last posts page/
22
- "/admin/last_posts"
23
- when /the admin password reset form with token "([^"]*)"/
24
- "/admin/password/edit?reset_password_token=#{$1}"
25
-
26
- # the index page for posts in the root namespace
27
- # the index page for posts in the user_admin namespace
28
- when /^the index page for (.*) in the (.*) namespace$/
29
- if $2 != 'root'
30
- send "#{$2}_#{$1}_path"
31
- else
32
- send "#{$1}_path"
33
- end
34
-
35
- # same as above, except defaults to admin namespace
36
- when /^the index page for (.*)$/
37
- send "admin_#{$1}_path"
38
-
39
- when /^the (.*) index page for (.*)$/
40
- send "admin_#{$2}_path", format: $1
41
-
42
- when /^the last author's posts$/
43
- admin_user_posts_path(User.last)
44
-
45
- when /^the last author's last post page$/
46
- admin_user_post_path(User.last, Post.where(author_id: User.last.id).last)
47
-
48
- when /^the last post's show page$/
49
- admin_post_path(Post.last)
50
-
51
- when /^the last post's edit page$/
52
- edit_admin_post_path(Post.last)
53
-
54
- # Add more mappings here.
55
- # Here is an example that pulls values out of the Regexp:
56
- #
57
- # when /^(.*)'s profile page$/i
58
- # user_profile_path(User.find_by_login($1))
59
-
60
- else
61
- begin
62
- page_name =~ /the (.*) page/
63
- path_components = $1.split(/\s+/)
64
- self.send path_components.push('path').join('_')
65
- rescue Object => e
66
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
67
- "Now, go and add a mapping in #{__FILE__}"
68
- end
69
- end
70
- end
71
- end
72
-
73
- World(NavigationHelpers)
@@ -1,7 +0,0 @@
1
- if ENV["COVERAGE"] == "true"
2
- require 'simplecov'
3
-
4
- SimpleCov.command_name "regular features"
5
- end
6
-
7
- require_relative 'env'
@@ -1,7 +0,0 @@
1
- if ENV["COVERAGE"] == "true"
2
- require 'simplecov'
3
-
4
- SimpleCov.command_name "reload features"
5
- end
6
-
7
- require_relative 'env'
@@ -1,45 +0,0 @@
1
- module HtmlSelectorsHelpers
2
- # Maps a name to a selector. Used primarily by the
3
- #
4
- # When /^(.+) within (.+)$/ do |step, scope|
5
- #
6
- # step definitions in web_steps.rb
7
- #
8
- def selector_for(locator)
9
- case locator
10
-
11
- when "the page"
12
- "html > body"
13
-
14
- # Add more mappings here.
15
- # Here is an example that pulls values out of the Regexp:
16
- #
17
- # when /^the (notice|error|info) flash$/
18
- # ".flash.#{$1}"
19
-
20
- # You can also return an array to use a different selector
21
- # type, like:
22
- #
23
- # when /the header/
24
- # [:xpath, "//header"]
25
-
26
- when "index grid"
27
- [:css, "table.index_grid"]
28
-
29
- when /^the "([^"]*)" sidebar$/
30
- [:css, "##{$1.tr(" ", '').underscore}_sidebar_section"]
31
-
32
- # This allows you to provide a quoted selector as the scope
33
- # for "within" steps as was previously the default for the
34
- # web steps:
35
- when /^"(.+)"$/
36
- $1
37
-
38
- else
39
- raise "Can't find mapping from \"#{locator}\" to a selector.\n" +
40
- "Now, go and add a mapping in #{__FILE__}"
41
- end
42
- end
43
- end
44
-
45
- World(HtmlSelectorsHelpers)
@@ -1,36 +0,0 @@
1
- Feature: User Logging In
2
-
3
- Logging in to the system as an admin user
4
-
5
- Background:
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- And I am logged out
11
- And an admin user "admin@example.com" exists
12
- When I go to the dashboard
13
-
14
- Scenario: Logging in Successfully
15
- When I fill in "Email" with "admin@example.com"
16
- And I fill in "Password" with "password"
17
- And I press "Login"
18
- Then I should be on the the dashboard
19
- And I should see the element "a[href='/admin/logout' ]:contains('Logout')"
20
- And I should see the element "a[href='/admin/admin_users/1']:contains('admin@example.com')"
21
-
22
- Scenario: Attempting to log in with an incorrect email address
23
- Given override locale "devise.failure.not_found_in_database" with "Invalid email or password."
24
- When I fill in "Email" with "not-an-admin@example.com"
25
- And I fill in "Password" with "not-my-password"
26
- And I press "Login"
27
- Then I should see "Login"
28
- And I should see "Invalid email or password."
29
-
30
- Scenario: Attempting to log in with an incorrect password
31
- Given override locale "devise.failure.invalid" with "Invalid email or password."
32
- When I fill in "Email" with "admin@example.com"
33
- And I fill in "Password" with "not-my-password"
34
- And I press "Login"
35
- Then I should see "Login"
36
- And I should see "Invalid email or password."
@@ -1,13 +0,0 @@
1
- Feature: User Logging out
2
-
3
- Logging out of the system as an admin user
4
-
5
- Scenario: Logging out successfully
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- And I am logged in
11
- When I go to the dashboard
12
- And I follow "Logout"
13
- Then I should see "Login"
@@ -1,34 +0,0 @@
1
- Feature: User Resetting Password
2
-
3
- Resetting my password as an admin user
4
-
5
- Background:
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- And I am logged out
11
- And an admin user "admin@example.com" exists
12
-
13
- Scenario: Resetting password successfully
14
- When I go to the dashboard
15
- And I follow "Forgot your password?"
16
- When I fill in "Email" with "admin@example.com"
17
- And I press "Reset My Password"
18
- Then I should see "You will receive an email with instructions on how to reset your password in a few minutes."
19
-
20
- Scenario: Changing password after resetting
21
- When "admin@example.com" requests a password reset with token "foobarbaz"
22
- When I go to the admin password reset form with token "foobarbaz"
23
- And I fill in the password field with "password"
24
- And I fill in "Password confirmation" with "password"
25
- And I press "Change my password"
26
- Then I should see "success"
27
-
28
- Scenario: Changing password after resetting with errors
29
- When "admin@example.com" requests a password reset with token "foobarbaz" but it expires
30
- When I go to the admin password reset form with token "foobarbaz"
31
- And I fill in the password field with "password"
32
- And I fill in "Password confirmation" with "wrong"
33
- And I press "Change my password"
34
- Then I should see "expired"
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
-
5
- gem "rails", "4.2.10"
6
- gem "devise", "~> 4.4" # required for Ruby 2.5, see devise/issues/4736
7
- gem "draper", "~> 2.1"
8
- gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
9
-
10
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
-
5
- gem "rails", "5.0.7"
6
- gem "devise", "~> 4.0"
7
- gem "draper", "~> 3.0"
8
- gem "activerecord-jdbcsqlite3-adapter", github: "jruby/activerecord-jdbc-adapter", platforms: :jruby
9
-
10
- gemspec path: "../"
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
-
5
- gem "rails", "5.1.6"
6
- gem "devise", "~> 4.3"
7
- gem "draper", "~> 3.0"
8
- gem "activerecord-jdbcsqlite3-adapter", github: "jruby/activerecord-jdbc-adapter", platforms: :jruby
9
-
10
- gemspec path: "../"
@@ -1,11 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
-
5
- gem "rails", "5.2.1"
6
- gem "bootsnap"
7
- gem "devise", "~> 4.4"
8
- gem "draper", "~> 3.0"
9
- gem "activerecord-jdbcsqlite3-adapter", "~> 51.0", platforms: :jruby
10
-
11
- gemspec path: "../"
@@ -1,24 +0,0 @@
1
- module ActiveAdmin
2
-
3
- class EventDispatcher
4
- def subscribe(*event_names, &block)
5
- Deprecation.warn "`ActiveAdmin::Event.subscribe` is deprecated, use `ActiveSupport::Notifications.subscribe`"
6
- event_names.each do |event|
7
- ActiveSupport::Notifications.subscribe event,
8
- &wrap_block_for_active_support_notifications(block)
9
- end
10
- end
11
-
12
- def dispatch(event, *args)
13
- Deprecation.warn "`ActiveAdmin::Event.dispatch` is deprecated, use `ActiveSupport::Notifications.publish`"
14
- ActiveSupport::Notifications.publish event, *args
15
- end
16
-
17
- def wrap_block_for_active_support_notifications block
18
- proc { |event, *args| block.call *args }
19
- end
20
- end
21
-
22
- # ActiveAdmin::Event is set to a dispatcher
23
- Event = EventDispatcher.new
24
- end
@@ -1,35 +0,0 @@
1
- module ActiveAdmin
2
- module OutputSafetyHelper
3
- # Converts the array to a comma-separated sentence where the last element is
4
- # joined by the connector word. This is the html_safe-aware version of
5
- # ActiveSupport's {Array#to_sentence}[http://api.rubyonrails.org/classes/Array.html#method-i-to_sentence].
6
- #
7
- # Copied from Rails 5 to support Rails 4.
8
- # https://github.com/rails/rails/blob/9c35bf2a6a27431c6aa283db781c19f61c5155be/actionview/lib/action_view/helpers/output_safety_helper.rb#L43
9
- def to_sentence(array, options = {})
10
- options.assert_valid_keys(:words_connector, :two_words_connector, :last_word_connector, :locale)
11
-
12
- default_connectors = {
13
- words_connector: ", ",
14
- two_words_connector: " and ",
15
- last_word_connector: ", and "
16
- }
17
- if defined?(::I18n)
18
- i18n_connectors = ::I18n.translate(:'support.array', locale: options[:locale], default: {})
19
- default_connectors.merge!(i18n_connectors)
20
- end
21
- options = default_connectors.merge!(options)
22
-
23
- case array.length
24
- when 0
25
- "".html_safe
26
- when 1
27
- ERB::Util.html_escape(array[0])
28
- when 2
29
- safe_join([array[0], array[1]], options[:two_words_connector])
30
- else
31
- safe_join([safe_join(array[0...-1], options[:words_connector]), options[:last_word_connector], array[-1]], nil)
32
- end
33
- end
34
- end
35
- end