activeadmin 1.3.0 → 2.0.0.rc1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +307 -123
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +90 -46
- data/README.md +66 -19
- data/app/assets/javascripts/active_admin/base.es6 +23 -0
- data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
- data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
- data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
- data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
- data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
- data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
- data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +55 -0
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
- data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
- data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
- data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
- data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/config/locales/bg.yml +0 -1
- data/config/locales/de.yml +10 -0
- data/config/locales/en.yml +19 -1
- data/config/locales/es.yml +20 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/he.yml +0 -1
- data/config/locales/hu.yml +4 -0
- data/config/locales/it.yml +4 -0
- data/config/locales/lt.yml +2 -2
- data/config/locales/nb.yml +15 -5
- data/config/locales/nl.yml +11 -0
- data/config/locales/pl.yml +71 -3
- data/config/locales/ru.yml +2 -0
- data/config/locales/tr.yml +9 -0
- data/config/locales/uk.yml +2 -0
- data/config/locales/zh-CN.yml +33 -5
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +2 -2
- data/docs/1-general-configuration.md +16 -1
- data/docs/10-custom-pages.md +14 -0
- data/docs/12-arbre-components.md +28 -1
- data/docs/13-authorization-adapter.md +40 -21
- data/docs/2-resource-customization.md +8 -3
- data/docs/3-index-pages/custom-index.md +1 -1
- data/docs/3-index-pages/index-as-blog.md +1 -1
- data/docs/3-index-pages/index-as-table.md +5 -5
- data/docs/3-index-pages.md +17 -0
- data/docs/5-forms.md +16 -2
- data/docs/8-custom-actions.md +11 -0
- data/docs/CNAME +1 -1
- data/docs/Gemfile +2 -0
- data/docs/Gemfile.lock +249 -0
- data/docs/_config.yml +1 -1
- data/docs/_includes/toc.html +1 -1
- data/docs/_includes/top-menu.html +9 -1
- data/docs/documentation.md +1 -1
- data/docs/images/tidelift.svg +14 -0
- data/docs/index.html +2 -2
- data/docs/stylesheets/main.css +26 -2
- data/lib/active_admin/abstract_view_factory.rb +13 -51
- data/lib/active_admin/application.rb +49 -155
- data/lib/active_admin/application_settings.rb +42 -0
- data/lib/active_admin/asset_registration.rb +0 -8
- data/lib/active_admin/base_controller/authorization.rb +3 -6
- data/lib/active_admin/base_controller.rb +6 -6
- data/lib/active_admin/batch_actions/controller.rb +2 -2
- data/lib/active_admin/batch_actions/resource_extension.rb +4 -4
- data/lib/active_admin/callbacks.rb +1 -1
- data/lib/active_admin/csv_builder.rb +1 -1
- data/lib/active_admin/dependency.rb +1 -69
- data/lib/active_admin/deprecation.rb +0 -25
- data/lib/active_admin/dsl.rb +1 -8
- data/lib/active_admin/dynamic_setting.rb +38 -0
- data/lib/active_admin/dynamic_settings_node.rb +28 -0
- data/lib/active_admin/engine.rb +5 -0
- data/lib/active_admin/error.rb +1 -1
- data/lib/active_admin/filters/active_filter.rb +4 -2
- data/lib/active_admin/filters/active_sidebar.rb +5 -1
- data/lib/active_admin/filters/forms.rb +7 -4
- data/lib/active_admin/filters/formtastic_addons.rb +1 -1
- data/lib/active_admin/filters/resource_extension.rb +4 -4
- data/lib/active_admin/form_builder.rb +97 -62
- data/lib/active_admin/generators/boilerplate.rb +1 -1
- data/lib/active_admin/helpers/scope_chain.rb +1 -0
- data/lib/active_admin/inputs/datepicker_input.rb +8 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
- data/lib/active_admin/menu.rb +2 -8
- data/lib/active_admin/menu_item.rb +4 -32
- data/lib/active_admin/namespace.rb +20 -8
- data/lib/active_admin/namespace_settings.rb +110 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +10 -5
- data/lib/active_admin/orm/active_record/comments.rb +15 -4
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/pundit_adapter.rb +13 -4
- data/lib/active_admin/resource/action_items.rb +7 -2
- data/lib/active_admin/resource/attributes.rb +7 -4
- data/lib/active_admin/resource/menu.rb +3 -3
- data/lib/active_admin/resource/naming.rb +3 -3
- data/lib/active_admin/resource/routes.rb +9 -4
- data/lib/active_admin/resource/scopes.rb +3 -3
- data/lib/active_admin/resource/sidebars.rb +1 -1
- data/lib/active_admin/resource.rb +2 -2
- data/lib/active_admin/resource_collection.rb +2 -2
- data/lib/active_admin/resource_controller/action_builder.rb +10 -0
- data/lib/active_admin/resource_controller/decorators.rb +3 -3
- data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -1
- data/lib/active_admin/resource_dsl.rb +5 -3
- data/lib/active_admin/router.rb +89 -84
- data/lib/active_admin/scope.rb +9 -5
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers/display_helper.rb +10 -2
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
- data/lib/active_admin/view_helpers.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +9 -4
- data/lib/active_admin/views/components/attributes_table.rb +3 -3
- data/lib/active_admin/views/components/menu.rb +32 -0
- data/lib/active_admin/views/components/menu_item.rb +58 -0
- data/lib/active_admin/views/components/paginated_collection.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +11 -4
- data/lib/active_admin/views/components/sidebar.rb +13 -0
- data/lib/active_admin/views/components/sidebar_section.rb +0 -3
- data/lib/active_admin/views/components/site_title.rb +5 -6
- data/lib/active_admin/views/components/status_tag.rb +1 -18
- data/lib/active_admin/views/components/table_for.rb +3 -12
- data/lib/active_admin/views/components/tabs.rb +15 -3
- data/lib/active_admin/views/footer.rb +3 -7
- data/lib/active_admin/views/header.rb +3 -15
- data/lib/active_admin/views/index_as_blog.rb +1 -1
- data/lib/active_admin/views/index_as_grid.rb +25 -25
- data/lib/active_admin/views/index_as_table.rb +11 -10
- data/lib/active_admin/views/pages/base.rb +30 -53
- data/lib/active_admin/views/tabbed_navigation.rb +4 -59
- data/lib/active_admin/views.rb +1 -1
- data/lib/active_admin.rb +9 -4
- data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/install/install_generator.rb +6 -2
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -1
- data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
- data/lib/generators/active_admin/page/page_generator.rb +1 -1
- data/lib/generators/active_admin/resource/resource_generator.rb +1 -1
- data/lib/ransack_ext.rb +3 -3
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
- data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
- data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
- metadata +120 -523
- data/.github/ISSUE_TEMPLATE.md +0 -20
- data/.gitignore +0 -49
- data/.mdlrc +0 -1
- data/.rubocop.yml +0 -76
- data/.simplecov +0 -13
- data/.travis.yml +0 -51
- data/.yardopts +0 -7
- data/Gemfile +0 -58
- data/Rakefile +0 -54
- data/activeadmin.gemspec +0 -32
- data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
- data/codecov.yml +0 -25
- data/config/i18n-tasks.yml +0 -26
- data/config/mdl_style.rb +0 -9
- data/cucumber.yml +0 -3
- data/features/action_item.feature +0 -73
- data/features/authorization.feature +0 -64
- data/features/authorization_cancan.feature +0 -52
- data/features/authorization_pundit.feature +0 -37
- data/features/belongs_to.feature +0 -124
- data/features/breadcrumb.feature +0 -75
- data/features/comments/commenting.feature +0 -178
- data/features/comments/viewing_index.feature +0 -19
- data/features/create_another.feature +0 -55
- data/features/dashboard.feature +0 -16
- data/features/decorators.feature +0 -43
- data/features/development_reloading.feature +0 -28
- data/features/edit_page.feature +0 -116
- data/features/favicon.feature +0 -20
- data/features/first_boot.feature +0 -16
- data/features/footer.feature +0 -28
- data/features/global_navigation.feature +0 -29
- data/features/i18n.feature +0 -55
- data/features/index/batch_actions.feature +0 -218
- data/features/index/filters.feature +0 -250
- data/features/index/format_as_csv.feature +0 -220
- data/features/index/formats.feature +0 -88
- data/features/index/index_as_block.feature +0 -15
- data/features/index/index_as_blog.feature +0 -69
- data/features/index/index_as_grid.feature +0 -45
- data/features/index/index_as_table.feature +0 -291
- data/features/index/index_blank_slate.feature +0 -83
- data/features/index/index_parameters.feature +0 -75
- data/features/index/index_scope_to.feature +0 -56
- data/features/index/index_scopes.feature +0 -285
- data/features/index/page_title.feature +0 -41
- data/features/index/pagination.feature +0 -63
- data/features/index/switch_index_view.feature +0 -73
- data/features/menu.feature +0 -72
- data/features/meta_tags.feature +0 -21
- data/features/new_page.feature +0 -136
- data/features/registering_assets.feature +0 -38
- data/features/registering_pages.feature +0 -237
- data/features/registering_resources.feature +0 -33
- data/features/renamed_resource.feature +0 -30
- data/features/root_to.feature +0 -17
- data/features/show/attributes_table_title.feature +0 -54
- data/features/show/columns.feature +0 -40
- data/features/show/default_content.feature +0 -44
- data/features/show/page_title.feature +0 -58
- data/features/show/tabs.feature +0 -33
- data/features/sidebar_sections.feature +0 -210
- data/features/site_title.feature +0 -47
- data/features/specifying_actions.feature +0 -118
- data/features/step_definitions/action_item_steps.rb +0 -7
- data/features/step_definitions/action_link_steps.rb +0 -19
- data/features/step_definitions/additional_web_steps.rb +0 -81
- data/features/step_definitions/asset_steps.rb +0 -15
- data/features/step_definitions/attribute_steps.rb +0 -18
- data/features/step_definitions/attributes_table_title_steps.rb +0 -11
- data/features/step_definitions/batch_action_steps.rb +0 -81
- data/features/step_definitions/blog_steps.rb +0 -3
- data/features/step_definitions/breadcrumb_steps.rb +0 -3
- data/features/step_definitions/column_steps.rb +0 -8
- data/features/step_definitions/comment_steps.rb +0 -32
- data/features/step_definitions/configuration_steps.rb +0 -100
- data/features/step_definitions/dashboard_steps.rb +0 -15
- data/features/step_definitions/factory_steps.rb +0 -35
- data/features/step_definitions/filter_steps.rb +0 -47
- data/features/step_definitions/flash_steps.rb +0 -11
- data/features/step_definitions/footer_steps.rb +0 -11
- data/features/step_definitions/format_steps.rb +0 -56
- data/features/step_definitions/i18n_steps.rb +0 -11
- data/features/step_definitions/index_scope_steps.rb +0 -29
- data/features/step_definitions/index_views_steps.rb +0 -3
- data/features/step_definitions/layout_steps.rb +0 -3
- data/features/step_definitions/member_link_steps.rb +0 -7
- data/features/step_definitions/menu_steps.rb +0 -11
- data/features/step_definitions/meta_tag_steps.rb +0 -3
- data/features/step_definitions/pagination_steps.rb +0 -15
- data/features/step_definitions/sidebar_steps.rb +0 -11
- data/features/step_definitions/site_title_steps.rb +0 -17
- data/features/step_definitions/tab_steps.rb +0 -8
- data/features/step_definitions/table_steps.rb +0 -116
- data/features/step_definitions/user_steps.rb +0 -52
- data/features/step_definitions/web_steps.rb +0 -86
- data/features/sti_resource.feature +0 -65
- data/features/strong_parameters.feature +0 -69
- data/features/support/env.rb +0 -122
- data/features/support/paths.rb +0 -73
- data/features/support/regular_env.rb +0 -7
- data/features/support/reload_env.rb +0 -7
- data/features/support/selectors.rb +0 -45
- data/features/users/logging_in.feature +0 -36
- data/features/users/logging_out.feature +0 -13
- data/features/users/resetting_password.feature +0 -34
- data/gemfiles/rails_42.gemfile +0 -10
- data/gemfiles/rails_50.gemfile +0 -10
- data/gemfiles/rails_51.gemfile +0 -10
- data/gemfiles/rails_52.gemfile +0 -11
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
- data/lib/active_admin/helpers/settings.rb +0 -114
- data/lib/bug_report_templates/active_admin_master.rb +0 -112
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/spec/bug_report_templates_spec.rb +0 -26
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
- data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
- data/spec/javascripts/fixtures/checkboxes.html +0 -9
- data/spec/javascripts/fixtures/flashes.html +0 -2
- data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
- data/spec/javascripts/helpers/SpecHelper.js +0 -3
- data/spec/javascripts/support/jasmine.yml +0 -74
- data/spec/javascripts/support/jasmine_runner.rb +0 -19
- data/spec/rails_helper.rb +0 -59
- data/spec/requests/default_namespace_spec.rb +0 -81
- data/spec/requests/memory_spec.rb +0 -25
- data/spec/requests/stylesheets_spec.rb +0 -18
- data/spec/spec_helper.rb +0 -1
- data/spec/support/active_admin_integration_spec_helper.rb +0 -73
- data/spec/support/active_admin_request_helpers.rb +0 -39
- data/spec/support/rails_template.rb +0 -153
- data/spec/support/rails_template_with_data.rb +0 -327
- data/spec/support/templates/admin/stores.rb +0 -7
- data/spec/support/templates/en.yml +0 -8
- data/spec/support/templates/manifest.js +0 -3
- data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
- data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
- data/spec/support/templates/policies/admin_user_policy.rb +0 -11
- data/spec/support/templates/policies/application_policy.rb +0 -44
- data/spec/support/templates/policies/category_policy.rb +0 -7
- data/spec/support/templates/policies/post_policy.rb +0 -15
- data/spec/support/templates/policies/store_policy.rb +0 -11
- data/spec/support/templates/policies/user_policy.rb +0 -11
- data/spec/support/templates/post_decorator.rb +0 -24
- data/spec/unit/abstract_view_factory_spec.rb +0 -78
- data/spec/unit/action_builder_spec.rb +0 -158
- data/spec/unit/active_admin_spec.rb +0 -11
- data/spec/unit/application_spec.rb +0 -184
- data/spec/unit/asset_registration_spec.rb +0 -81
- data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
- data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
- data/spec/unit/authorization/index_overriding_spec.rb +0 -23
- data/spec/unit/auto_link_spec.rb +0 -93
- data/spec/unit/batch_actions/resource_spec.rb +0 -84
- data/spec/unit/batch_actions/settings_spec.rb +0 -61
- data/spec/unit/belongs_to_spec.rb +0 -76
- data/spec/unit/cancan_adapter_spec.rb +0 -43
- data/spec/unit/comments_spec.rb +0 -176
- data/spec/unit/component_spec.rb +0 -18
- data/spec/unit/config_shared_examples.rb +0 -59
- data/spec/unit/controller_filters_spec.rb +0 -41
- data/spec/unit/csv_builder_spec.rb +0 -313
- data/spec/unit/dependency_spec.rb +0 -135
- data/spec/unit/devise_spec.rb +0 -110
- data/spec/unit/dsl_spec.rb +0 -120
- data/spec/unit/filters/active_filter_spec.rb +0 -189
- data/spec/unit/filters/active_spec.rb +0 -24
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
- data/spec/unit/filters/resource_spec.rb +0 -128
- data/spec/unit/form_builder_spec.rb +0 -990
- data/spec/unit/generators/install_spec.rb +0 -31
- data/spec/unit/helpers/collection_spec.rb +0 -68
- data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
- data/spec/unit/helpers/scope_chain_spec.rb +0 -35
- data/spec/unit/helpers/settings_spec.rb +0 -30
- data/spec/unit/i18n_spec.rb +0 -29
- data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
- data/spec/unit/menu_collection_spec.rb +0 -62
- data/spec/unit/menu_item_spec.rb +0 -141
- data/spec/unit/menu_spec.rb +0 -71
- data/spec/unit/namespace/authorization_spec.rb +0 -27
- data/spec/unit/namespace/register_page_spec.rb +0 -99
- data/spec/unit/namespace/register_resource_spec.rb +0 -162
- data/spec/unit/namespace_spec.rb +0 -124
- data/spec/unit/order_clause_spec.rb +0 -81
- data/spec/unit/page_controller_spec.rb +0 -5
- data/spec/unit/page_spec.rb +0 -128
- data/spec/unit/pretty_format_spec.rb +0 -82
- data/spec/unit/pundit_adapter_spec.rb +0 -98
- data/spec/unit/resource/action_items_spec.rb +0 -69
- data/spec/unit/resource/attributes_spec.rb +0 -49
- data/spec/unit/resource/includes_spec.rb +0 -21
- data/spec/unit/resource/menu_spec.rb +0 -18
- data/spec/unit/resource/naming_spec.rb +0 -122
- data/spec/unit/resource/ordering_spec.rb +0 -35
- data/spec/unit/resource/page_presenters_spec.rb +0 -44
- data/spec/unit/resource/pagination_spec.rb +0 -38
- data/spec/unit/resource/routes_spec.rb +0 -125
- data/spec/unit/resource/scopes_spec.rb +0 -50
- data/spec/unit/resource/sidebars_spec.rb +0 -43
- data/spec/unit/resource_collection_spec.rb +0 -175
- data/spec/unit/resource_controller/data_access_spec.rb +0 -234
- data/spec/unit/resource_controller/decorators_spec.rb +0 -94
- data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
- data/spec/unit/resource_controller_spec.rb +0 -273
- data/spec/unit/resource_registration_spec.rb +0 -61
- data/spec/unit/resource_spec.rb +0 -320
- data/spec/unit/routing_spec.rb +0 -211
- data/spec/unit/scope_spec.rb +0 -209
- data/spec/unit/settings_spec.rb +0 -117
- data/spec/unit/view_factory_spec.rb +0 -19
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
- data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
- data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
- data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
- data/spec/unit/views/components/attributes_table_spec.rb +0 -271
- data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
- data/spec/unit/views/components/blank_slate_spec.rb +0 -27
- data/spec/unit/views/components/columns_spec.rb +0 -187
- data/spec/unit/views/components/index_list_spec.rb +0 -49
- data/spec/unit/views/components/index_table_for_spec.rb +0 -127
- data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
- data/spec/unit/views/components/panel_spec.rb +0 -58
- data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
- data/spec/unit/views/components/site_title_spec.rb +0 -76
- data/spec/unit/views/components/status_tag_spec.rb +0 -265
- data/spec/unit/views/components/table_for_spec.rb +0 -436
- data/spec/unit/views/components/tabs_spec.rb +0 -67
- data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
- data/spec/unit/views/index_as_blog_spec.rb +0 -76
- data/spec/unit/views/pages/form_spec.rb +0 -54
- data/spec/unit/views/pages/index_spec.rb +0 -60
- data/spec/unit/views/pages/layout_spec.rb +0 -59
- data/spec/unit/views/pages/show_spec.rb +0 -32
- data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
- data/tasks/docs.rake +0 -64
- data/tasks/lint.rake +0 -21
- data/tasks/local.rake +0 -25
- data/tasks/parallel_tests.rake +0 -66
- data/tasks/test.rake +0 -29
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe 'Index overriding', type: :controller do
|
4
|
-
before do
|
5
|
-
load_resources { ActiveAdmin.register Post }
|
6
|
-
@controller = Admin::PostsController.new
|
7
|
-
|
8
|
-
@controller.instance_eval do
|
9
|
-
def index
|
10
|
-
super do
|
11
|
-
render ActiveAdmin::Dependency.rails.render_key => 'Rendered from passed block'
|
12
|
-
return
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'should call block passed to overridden index' do
|
19
|
-
get :index
|
20
|
-
expect(response.body).to eq 'Rendered from passed block'
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
data/spec/unit/auto_link_spec.rb
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
require 'active_admin/view_helpers/active_admin_application_helper'
|
3
|
-
require 'active_admin/view_helpers/auto_link_helper'
|
4
|
-
require 'active_admin/view_helpers/display_helper'
|
5
|
-
require 'active_admin/view_helpers/method_or_proc_helper'
|
6
|
-
|
7
|
-
RSpec.describe "auto linking resources", type: :view do
|
8
|
-
include ActiveAdmin::ViewHelpers::ActiveAdminApplicationHelper
|
9
|
-
include ActiveAdmin::ViewHelpers::AutoLinkHelper
|
10
|
-
include ActiveAdmin::ViewHelpers::DisplayHelper
|
11
|
-
include MethodOrProcHelper
|
12
|
-
|
13
|
-
let(:active_admin_namespace){ ActiveAdmin.application.namespace(:admin) }
|
14
|
-
let(:post){ Post.create! title: "Hello World" }
|
15
|
-
|
16
|
-
before do
|
17
|
-
allow(self).to receive(:authorized?).and_return(true)
|
18
|
-
end
|
19
|
-
|
20
|
-
context "when the resource is not registered" do
|
21
|
-
before do
|
22
|
-
load_resources {}
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should return the display name of the object" do
|
26
|
-
expect(auto_link(post)).to eq "Hello World"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
context "when the resource is registered" do
|
31
|
-
before do
|
32
|
-
load_resources do
|
33
|
-
active_admin_namespace.register Post
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should return a link with the display name of the object" do
|
38
|
-
expect(auto_link(post)).to \
|
39
|
-
match(%r{<a href="/admin/posts/\d+">Hello World</a>})
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should keep locale in the url if present" do
|
43
|
-
expect(self).to receive(:url_options).and_return(locale: 'en')
|
44
|
-
|
45
|
-
expect(auto_link(post)).to \
|
46
|
-
match(%r{<a href="/admin/posts/\d+\?locale=en">Hello World</a>})
|
47
|
-
end
|
48
|
-
|
49
|
-
context "but the user doesn't have access" do
|
50
|
-
before do
|
51
|
-
allow(self).to receive(:authorized?).and_return(false)
|
52
|
-
end
|
53
|
-
|
54
|
-
it "should return the display name of the object" do
|
55
|
-
expect(auto_link(post)).to eq "Hello World"
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
context "when the resource is registered with the show action disabled" do
|
61
|
-
before do
|
62
|
-
load_resources do
|
63
|
-
active_admin_namespace.register(Post) { actions :all, except: :show }
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
it "should fallback to edit" do
|
68
|
-
expect(auto_link(post)).to \
|
69
|
-
match(%r{<a href="/admin/posts/\d+/edit">Hello World</a>})
|
70
|
-
end
|
71
|
-
|
72
|
-
it "should keep locale in the url if present" do
|
73
|
-
expect(self).to receive(:url_options).and_return(locale: 'en')
|
74
|
-
|
75
|
-
expect(auto_link(post)).to \
|
76
|
-
match(%r{<a href="/admin/posts/\d+/edit\?locale=en">Hello World</a>})
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
context "when the resource is registered with the show & edit actions disabled" do
|
81
|
-
before do
|
82
|
-
load_resources do
|
83
|
-
active_admin_namespace.register(Post) do
|
84
|
-
actions :all, except: [:show, :edit]
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
it "should return the display name of the object" do
|
89
|
-
expect(auto_link(post)).to eq "Hello World"
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
@@ -1,84 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe ActiveAdmin::BatchActions::ResourceExtension do
|
4
|
-
|
5
|
-
let(:resource) do
|
6
|
-
namespace = ActiveAdmin::Namespace.new(ActiveAdmin::Application.new, :admin)
|
7
|
-
namespace.batch_actions = true
|
8
|
-
namespace.register(Post)
|
9
|
-
end
|
10
|
-
|
11
|
-
describe "default action" do
|
12
|
-
|
13
|
-
it "should have the default action by default" do
|
14
|
-
expect(resource.batch_actions.size).to eq 1
|
15
|
-
expect(resource.batch_actions.first.sym == :destroy).to eq true
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
describe "adding a new batch action" do
|
21
|
-
|
22
|
-
before do
|
23
|
-
resource.clear_batch_actions!
|
24
|
-
resource.add_batch_action :flag, "Flag" do
|
25
|
-
# Empty
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should add an batch action" do
|
30
|
-
expect(resource.batch_actions.size).to eq 1
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should store an instance of BatchAction" do
|
34
|
-
expect(resource.batch_actions.first).to be_an_instance_of(ActiveAdmin::BatchAction)
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should store the block in the batch action" do
|
38
|
-
expect(resource.batch_actions.first.block).to_not eq nil
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
describe "removing batch action" do
|
44
|
-
|
45
|
-
before do
|
46
|
-
resource.remove_batch_action :destroy
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should allow for batch action removal" do
|
50
|
-
expect(resource.batch_actions.size).to eq 0
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
describe "#display_if_block" do
|
56
|
-
|
57
|
-
it "should return true by default" do
|
58
|
-
action = ActiveAdmin::BatchAction.new :default, "Default"
|
59
|
-
expect(action.display_if_block.call).to eq true
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should return the :if block if set" do
|
63
|
-
action = ActiveAdmin::BatchAction.new :with_block, "With Block", if: proc { false }
|
64
|
-
expect(action.display_if_block.call).to eq false
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
|
69
|
-
describe "batch action priority" do
|
70
|
-
|
71
|
-
it "should have a default priority" do
|
72
|
-
action = ActiveAdmin::BatchAction.new :default, "Default"
|
73
|
-
expect(action.priority).to eq 10
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should correctly order two actions" do
|
77
|
-
priority_one = ActiveAdmin::BatchAction.new :one, "One", priority: 1
|
78
|
-
priority_ten = ActiveAdmin::BatchAction.new :ten, "Ten", priority: 10
|
79
|
-
expect(priority_one).to be < priority_ten
|
80
|
-
end
|
81
|
-
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe "Batch Actions Settings" do
|
4
|
-
let(:app) { ActiveAdmin::Application.new }
|
5
|
-
let(:ns) { ActiveAdmin::Namespace.new(app, "Admin") }
|
6
|
-
let(:post_resource) { ns.register Post }
|
7
|
-
|
8
|
-
it "should be disabled globally by default" do
|
9
|
-
# Note: the default initializer would set it to true
|
10
|
-
|
11
|
-
expect(app.batch_actions).to eq false
|
12
|
-
expect(ns.batch_actions).to eq false
|
13
|
-
expect(post_resource.batch_actions_enabled?).to eq false
|
14
|
-
end
|
15
|
-
|
16
|
-
it "should be settable to true" do
|
17
|
-
app.batch_actions = true
|
18
|
-
expect(app.batch_actions).to eq true
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should be an inheritable_setting" do
|
22
|
-
app.batch_actions = true
|
23
|
-
expect(ns.batch_actions).to eq true
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should be settable at the namespace level" do
|
27
|
-
app.batch_actions = true
|
28
|
-
ns.batch_actions = false
|
29
|
-
|
30
|
-
expect(app.batch_actions).to eq true
|
31
|
-
expect(ns.batch_actions).to eq false
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should be settable at the resource level" do
|
35
|
-
expect(post_resource.batch_actions_enabled?).to eq false
|
36
|
-
post_resource.batch_actions = true
|
37
|
-
expect(post_resource.batch_actions_enabled?).to eq true
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should inherit the setting on the resource from the namespace" do
|
41
|
-
ns.batch_actions = false
|
42
|
-
expect(post_resource.batch_actions_enabled?).to eq false
|
43
|
-
expect(post_resource.batch_actions).to be_empty
|
44
|
-
|
45
|
-
post_resource.batch_actions = true
|
46
|
-
expect(post_resource.batch_actions_enabled?).to eq true
|
47
|
-
expect(post_resource.batch_actions).to_not be_empty
|
48
|
-
end
|
49
|
-
|
50
|
-
it "should inherit the setting from the namespace when set to nil" do
|
51
|
-
ns.batch_actions = true
|
52
|
-
|
53
|
-
post_resource.batch_actions = true
|
54
|
-
expect(post_resource.batch_actions_enabled?).to eq true
|
55
|
-
expect(post_resource.batch_actions).to_not be_empty
|
56
|
-
|
57
|
-
post_resource.batch_actions = nil
|
58
|
-
expect(post_resource.batch_actions_enabled?).to eq true # inherited from namespace
|
59
|
-
expect(post_resource.batch_actions).to_not be_empty
|
60
|
-
end
|
61
|
-
end
|
@@ -1,76 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe ActiveAdmin::Resource::BelongsTo do
|
4
|
-
before do
|
5
|
-
load_resources do
|
6
|
-
ActiveAdmin.register User
|
7
|
-
ActiveAdmin.register Post do belongs_to :user end
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
let(:namespace) { ActiveAdmin.application.namespace(:admin) }
|
12
|
-
let(:user_config){ ActiveAdmin.register User }
|
13
|
-
let(:post_config){ ActiveAdmin.register Post do belongs_to :user end }
|
14
|
-
let(:belongs_to){ post_config.belongs_to_config }
|
15
|
-
|
16
|
-
it "should have an owner" do
|
17
|
-
expect(belongs_to.owner).to eq post_config
|
18
|
-
end
|
19
|
-
|
20
|
-
describe "finding the target" do
|
21
|
-
context "when the resource has been registered" do
|
22
|
-
it "should return the target resource" do
|
23
|
-
expect(belongs_to.target).to eq user_config
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
context "when the resource has not been registered" do
|
28
|
-
let(:belongs_to){ ActiveAdmin::Resource::BelongsTo.new post_config, :missing }
|
29
|
-
|
30
|
-
it "should raise a ActiveAdmin::BelongsTo::TargetNotFound" do
|
31
|
-
expect {
|
32
|
-
belongs_to.target
|
33
|
-
}.to raise_error(ActiveAdmin::Resource::BelongsTo::TargetNotFound)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
context "when the resource is on a namespace" do
|
38
|
-
let(:blog_post_config){ ActiveAdmin.register Blog::Post do; end }
|
39
|
-
let(:belongs_to) { ActiveAdmin::Resource::BelongsTo.new blog_post_config, :blog_author, class_name: "Blog::Author" }
|
40
|
-
before do
|
41
|
-
class Blog::Author
|
42
|
-
include ActiveModel::Naming
|
43
|
-
end
|
44
|
-
@blog_author_config = ActiveAdmin.register Blog::Author do; end
|
45
|
-
end
|
46
|
-
it "should return the target resource" do
|
47
|
-
expect(belongs_to.target).to eq @blog_author_config
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should be optional" do
|
53
|
-
belongs_to = ActiveAdmin::Resource::BelongsTo.new post_config, :user, optional: true
|
54
|
-
expect(belongs_to).to be_optional
|
55
|
-
end
|
56
|
-
|
57
|
-
describe "controller" do
|
58
|
-
let(:controller) { post_config.controller.new }
|
59
|
-
let(:http_params) { {user_id: user.id} }
|
60
|
-
let(:user) { User.create! }
|
61
|
-
|
62
|
-
before do
|
63
|
-
request = double 'Request', format: 'application/json'
|
64
|
-
allow(controller).to receive(:params) { ActionController::Parameters.new(http_params) }
|
65
|
-
allow(controller).to receive(:request){ request }
|
66
|
-
end
|
67
|
-
|
68
|
-
it 'should be able to access the collection' do
|
69
|
-
expect(controller.send :collection).to be_a ActiveRecord::Relation
|
70
|
-
|
71
|
-
end
|
72
|
-
it 'should be able to build a new resource' do
|
73
|
-
expect(controller.send :build_resource).to be_a Post
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe ActiveAdmin::CanCanAdapter do
|
4
|
-
|
5
|
-
describe "full integration" do
|
6
|
-
|
7
|
-
let(:application){ ActiveAdmin::Application.new }
|
8
|
-
let(:namespace){ ActiveAdmin::Namespace.new(application, "Admin") }
|
9
|
-
let(:resource){ namespace.register(Post) }
|
10
|
-
|
11
|
-
let :ability_class do
|
12
|
-
Class.new do
|
13
|
-
include CanCan::Ability
|
14
|
-
|
15
|
-
def initialize(user)
|
16
|
-
can :read, Post
|
17
|
-
cannot :update, Post
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
let(:auth) { namespace.authorization_adapter.new(resource, double) }
|
24
|
-
|
25
|
-
before do
|
26
|
-
namespace.authorization_adapter = ActiveAdmin::CanCanAdapter
|
27
|
-
namespace.cancan_ability_class = ability_class
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should initialize the ability stored in the namespace configuration" do
|
31
|
-
expect(auth.authorized?(:read, Post)).to eq true
|
32
|
-
expect(auth.authorized?(:update, Post)).to eq false
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should scope the collection with accessible_by" do
|
36
|
-
collection = double
|
37
|
-
expect(collection).to receive(:accessible_by).with(auth.cancan_ability, :edit)
|
38
|
-
auth.scope_collection(collection, :edit)
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
data/spec/unit/comments_spec.rb
DELETED
@@ -1,176 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe "Comments" do
|
4
|
-
let(:application) { ActiveAdmin::Application.new }
|
5
|
-
|
6
|
-
describe ActiveAdmin::Comment do
|
7
|
-
subject(:comment){ ActiveAdmin::Comment.new }
|
8
|
-
|
9
|
-
it "has valid Associations and Validations" do
|
10
|
-
expect(comment).to belong_to :resource
|
11
|
-
expect(comment).to belong_to :author
|
12
|
-
expect(comment).to validate_presence_of :resource
|
13
|
-
expect(comment).to validate_presence_of :body
|
14
|
-
expect(comment).to validate_presence_of :namespace
|
15
|
-
end
|
16
|
-
|
17
|
-
describe ".find_for_resource_in_namespace" do
|
18
|
-
let(:post) { Post.create!(title: "Hello World") }
|
19
|
-
let(:namespace_name) { "admin" }
|
20
|
-
|
21
|
-
before do
|
22
|
-
@comment = ActiveAdmin::Comment.create! resource: post,
|
23
|
-
body: "A Comment",
|
24
|
-
namespace: namespace_name
|
25
|
-
end
|
26
|
-
|
27
|
-
it "should return a comment for the resource in the same namespace" do
|
28
|
-
expect(ActiveAdmin::Comment.find_for_resource_in_namespace(post, namespace_name)).to eq [@comment]
|
29
|
-
end
|
30
|
-
|
31
|
-
it "should not return a comment for the same resource in a different namespace" do
|
32
|
-
ActiveAdmin.application.namespaces[:public] = ActiveAdmin.application.namespaces[:admin]
|
33
|
-
expect(ActiveAdmin::Comment.find_for_resource_in_namespace(post, 'public')).to eq []
|
34
|
-
ActiveAdmin.application.namespaces.instance_variable_get(:@namespaces).delete(:public)
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should not return a comment for a different resource" do
|
38
|
-
another_post = Post.create! title: "Another Hello World"
|
39
|
-
expect(ActiveAdmin::Comment.find_for_resource_in_namespace(another_post, namespace_name)).to eq []
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should return the most recent comment first by default" do
|
43
|
-
another_comment = ActiveAdmin::Comment.create! resource: post,
|
44
|
-
body: "Another Comment",
|
45
|
-
namespace: namespace_name,
|
46
|
-
created_at: @comment.created_at + 20.minutes
|
47
|
-
|
48
|
-
yet_another_comment = ActiveAdmin::Comment.create! resource: post,
|
49
|
-
body: "Yet Another Comment",
|
50
|
-
namespace: namespace_name,
|
51
|
-
created_at: @comment.created_at + 10.minutes
|
52
|
-
|
53
|
-
comments = ActiveAdmin::Comment.find_for_resource_in_namespace(post, namespace_name)
|
54
|
-
expect(comments.size).to eq 3
|
55
|
-
expect(comments.first).to eq(@comment)
|
56
|
-
expect(comments.second).to eq(yet_another_comment)
|
57
|
-
expect(comments.last).to eq(another_comment)
|
58
|
-
end
|
59
|
-
|
60
|
-
context "when custom ordering configured" do
|
61
|
-
around do |example|
|
62
|
-
previous_order = ActiveAdmin.application.comments_order
|
63
|
-
ActiveAdmin.application.comments_order = "created_at DESC"
|
64
|
-
|
65
|
-
example.call
|
66
|
-
|
67
|
-
ActiveAdmin.application.comments_order = previous_order
|
68
|
-
end
|
69
|
-
|
70
|
-
it "should return the correctly ordered comments" do
|
71
|
-
another_comment = ActiveAdmin::Comment.create!(
|
72
|
-
resource: post,
|
73
|
-
body: "Another Comment",
|
74
|
-
namespace: namespace_name,
|
75
|
-
created_at: @comment.created_at + 20.minutes
|
76
|
-
)
|
77
|
-
|
78
|
-
comments = ActiveAdmin::Comment.find_for_resource_in_namespace(
|
79
|
-
post, namespace_name
|
80
|
-
)
|
81
|
-
expect(comments.size).to eq 2
|
82
|
-
expect(comments.first).to eq(another_comment)
|
83
|
-
expect(comments.last).to eq(@comment)
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
describe ".resource_type" do
|
89
|
-
let(:post) { Post.create!(title: "Testing.") }
|
90
|
-
let(:post_decorator) { double 'PostDecorator' }
|
91
|
-
|
92
|
-
before do
|
93
|
-
allow(post_decorator).to receive(:model).and_return(post)
|
94
|
-
allow(post_decorator).to receive(:decorated?).and_return(true)
|
95
|
-
end
|
96
|
-
|
97
|
-
context "when a decorated object is passed" do
|
98
|
-
let(:resource) { post_decorator }
|
99
|
-
|
100
|
-
it "returns undeorated object class string" do
|
101
|
-
expect(ActiveAdmin::Comment.resource_type resource).to eql 'Post'
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
context "when an undecorated object is passed" do
|
106
|
-
let(:resource) { post }
|
107
|
-
|
108
|
-
it "returns object class string" do
|
109
|
-
expect(ActiveAdmin::Comment.resource_type resource).to eql 'Post'
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
describe "Commenting on resource with string id" do
|
115
|
-
let(:tag) { Tag.create!(name: "cooltags") }
|
116
|
-
let(:namespace_name) { "admin" }
|
117
|
-
|
118
|
-
it "should allow commenting" do
|
119
|
-
comment = ActiveAdmin::Comment.create!(
|
120
|
-
resource: tag,
|
121
|
-
body: "Another Comment",
|
122
|
-
namespace: namespace_name)
|
123
|
-
|
124
|
-
expect(ActiveAdmin::Comment.find_for_resource_in_namespace(tag, namespace_name)).to eq [comment]
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
describe "commenting on child of STI resource" do
|
129
|
-
let(:publisher) { Publisher.create!(username: "tenderlove") }
|
130
|
-
let(:namespace_name) { "admin" }
|
131
|
-
|
132
|
-
it "should assign child class as commented resource" do
|
133
|
-
comment = ActiveAdmin::Comment.create!(
|
134
|
-
resource: publisher,
|
135
|
-
body: "Lorem Ipsum",
|
136
|
-
namespace: namespace_name)
|
137
|
-
|
138
|
-
expect(ActiveAdmin::Comment.find_for_resource_in_namespace(publisher, namespace_name).last.resource_type).
|
139
|
-
to eq("User")
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
describe ActiveAdmin::Comments::NamespaceHelper do
|
145
|
-
describe "#comments?" do
|
146
|
-
|
147
|
-
it "should have comments when the namespace allows comments" do
|
148
|
-
ns = ActiveAdmin::Namespace.new(application, :admin)
|
149
|
-
ns.comments = true
|
150
|
-
expect(ns.comments?).to eq true
|
151
|
-
end
|
152
|
-
|
153
|
-
it "should not have comments when the namespace does not allow comments" do
|
154
|
-
ns = ActiveAdmin::Namespace.new(application, :admin)
|
155
|
-
ns.comments = false
|
156
|
-
expect(ns.comments?).to eq false
|
157
|
-
end
|
158
|
-
end
|
159
|
-
end
|
160
|
-
|
161
|
-
describe ActiveAdmin::Comments::ResourceHelper do
|
162
|
-
it "should add an attr_accessor :comments to ActiveAdmin::Resource" do
|
163
|
-
ns = ActiveAdmin::Namespace.new(application, :admin)
|
164
|
-
resource = ActiveAdmin::Resource.new(ns, Post)
|
165
|
-
expect(resource.comments).to eq nil
|
166
|
-
resource.comments = true
|
167
|
-
expect(resource.comments).to eq true
|
168
|
-
end
|
169
|
-
it "should disable comments if set to false" do
|
170
|
-
ns = ActiveAdmin::Namespace.new(application, :admin)
|
171
|
-
resource = ActiveAdmin::Resource.new(ns, Post)
|
172
|
-
resource.comments = false
|
173
|
-
expect(resource.comments?).to eq false
|
174
|
-
end
|
175
|
-
end
|
176
|
-
end
|
data/spec/unit/component_spec.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
class MockComponentClass < ActiveAdmin::Component; end
|
4
|
-
|
5
|
-
RSpec.describe ActiveAdmin::Component do
|
6
|
-
|
7
|
-
let(:component_class){ MockComponentClass }
|
8
|
-
let(:component){ component_class.new }
|
9
|
-
|
10
|
-
it "should be a subclass of an html div" do
|
11
|
-
expect(ActiveAdmin::Component.ancestors).to include(Arbre::HTML::Div)
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should render to a div, even as a subclass" do
|
15
|
-
expect(component.tag_name).to eq 'div'
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
RSpec.shared_examples_for "ActiveAdmin::Resource" do
|
2
|
-
describe "namespace" do
|
3
|
-
it "should return the namespace" do
|
4
|
-
expect(config.namespace).to eq(namespace)
|
5
|
-
end
|
6
|
-
end
|
7
|
-
|
8
|
-
describe "page_presenters" do
|
9
|
-
it "should return an empty hash by default" do
|
10
|
-
expect(config.page_presenters).to eq({})
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
it { respond_to :controller_name }
|
15
|
-
it { respond_to :controller }
|
16
|
-
it { respond_to :route_prefix }
|
17
|
-
it { respond_to :route_collection_path }
|
18
|
-
it { respond_to :comments? }
|
19
|
-
it { respond_to :belongs_to? }
|
20
|
-
it { respond_to :action_items? }
|
21
|
-
it { respond_to :sidebar_sections? }
|
22
|
-
|
23
|
-
describe "Naming" do
|
24
|
-
it "implements #resource_label" do
|
25
|
-
expect { config.resource_label }.to_not raise_error
|
26
|
-
end
|
27
|
-
|
28
|
-
it "implements #plural_resource_label" do
|
29
|
-
expect { config.plural_resource_label }.to_not raise_error
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
describe "Menu" do
|
34
|
-
describe "#menu_item_options" do
|
35
|
-
|
36
|
-
it "initializes a new menu item with defaults" do
|
37
|
-
expect(config.menu_item_options[:label].call).to eq(config.plural_resource_label)
|
38
|
-
end
|
39
|
-
|
40
|
-
it "initialize a new menu item with custom options" do
|
41
|
-
config.menu_item_options = { label: "Hello" }
|
42
|
-
expect(config.menu_item_options[:label]).to eq("Hello")
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
|
47
|
-
describe "#include_in_menu?" do
|
48
|
-
it "should be included in menu by default" do
|
49
|
-
expect(config.include_in_menu?).to eq(true)
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should not be included in menu when menu set to false" do
|
53
|
-
config.menu_item_options = false
|
54
|
-
expect(config.include_in_menu?).to eq(false)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
end
|
59
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe ActiveAdmin::Application do
|
4
|
-
let(:application){ ActiveAdmin::Application.new }
|
5
|
-
let(:controllers){ application.controllers_for_filters }
|
6
|
-
|
7
|
-
it 'controllers_for_filters' do
|
8
|
-
expect(application.controllers_for_filters).to eq [
|
9
|
-
ActiveAdmin::BaseController, ActiveAdmin::Devise::SessionsController,
|
10
|
-
ActiveAdmin::Devise::PasswordsController, ActiveAdmin::Devise::UnlocksController,
|
11
|
-
ActiveAdmin::Devise::RegistrationsController, ActiveAdmin::Devise::ConfirmationsController
|
12
|
-
]
|
13
|
-
end
|
14
|
-
|
15
|
-
expected_actions = (
|
16
|
-
prefixes = %w(skip append prepend) << nil
|
17
|
-
positions = %w(before around after)
|
18
|
-
suffixes = %w(action)
|
19
|
-
base = %w()
|
20
|
-
if ActiveAdmin::Dependency.rails? '< 5.1.x'
|
21
|
-
suffixes += %w(filter)
|
22
|
-
base += %w(skip_filter skip_action_callback)
|
23
|
-
end
|
24
|
-
|
25
|
-
prefixes.each_with_object(base) do |prefix, stack|
|
26
|
-
positions.each do |position|
|
27
|
-
suffixes.each do |suffix|
|
28
|
-
stack << [prefix, position, suffix].compact.join("_").to_sym
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
)
|
33
|
-
|
34
|
-
expected_actions.each do |action|
|
35
|
-
it action do
|
36
|
-
args = [:my_filter, { only: :show }]
|
37
|
-
controllers.each { |c| expect(c).to receive(action).with(args) }
|
38
|
-
application.public_send action, args
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|