activeadmin 1.1.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CHANGELOG.md +469 -100
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +89 -47
- data/README.md +73 -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 +59 -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/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/config/locales/ar.yml +3 -2
- data/config/locales/bg.yml +1 -1
- data/config/locales/bs.yml +1 -0
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +1 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de-CH.yml +1 -0
- data/config/locales/de.yml +29 -0
- data/config/locales/el.yml +1 -0
- data/config/locales/en-CA.yml +1 -0
- data/config/locales/en-GB.yml +1 -0
- data/config/locales/en.yml +21 -1
- data/config/locales/eo.yml +145 -0
- data/config/locales/es-MX.yml +1 -0
- data/config/locales/es.yml +21 -1
- data/config/locales/fa.yml +1 -0
- data/config/locales/fi.yml +2 -1
- data/config/locales/fr.yml +2 -1
- data/config/locales/he.yml +1 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +5 -0
- data/config/locales/id.yml +1 -0
- data/config/locales/it.yml +13 -3
- data/config/locales/ja.yml +6 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt.yml +3 -2
- data/config/locales/lv.yml +1 -0
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +16 -5
- data/config/locales/nl.yml +12 -0
- data/config/locales/pl.yml +72 -3
- data/config/locales/pt-BR.yml +9 -0
- data/config/locales/pt-PT.yml +1 -0
- data/config/locales/ro.yml +1 -0
- data/config/locales/ru.yml +3 -0
- data/config/locales/sk.yml +60 -0
- data/config/locales/sv-SE.yml +3 -0
- data/config/locales/tr.yml +10 -0
- data/config/locales/uk.yml +3 -0
- data/config/locales/vi.yml +48 -6
- data/config/locales/zh-CN.yml +34 -5
- data/config/locales/zh-TW.yml +1 -0
- 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 +41 -1
- data/docs/13-authorization-adapter.md +41 -22
- data/docs/2-resource-customization.md +10 -5
- 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 +12 -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 -1
- data/docs/Gemfile.lock +248 -0
- data/docs/_config.yml +3 -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 +109 -8
- data/docs/stylesheets/main.css +55 -2
- data/lib/active_admin/abstract_view_factory.rb +13 -51
- data/lib/active_admin/application.rb +52 -159
- 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 +4 -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 +9 -5
- data/lib/active_admin/callbacks.rb +1 -1
- data/lib/active_admin/controller_action.rb +2 -1
- data/lib/active_admin/csv_builder.rb +10 -7
- data/lib/active_admin/dependency.rb +3 -67
- 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 +4 -2
- data/lib/active_admin/filters/active_filter.rb +49 -12
- data/lib/active_admin/filters/active_sidebar.rb +6 -2
- 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 +28 -4
- data/lib/active_admin/form_builder.rb +98 -63
- data/lib/active_admin/generators/boilerplate.rb +12 -4
- 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/inputs/filters/select_input.rb +5 -1
- 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 +123 -0
- data/lib/active_admin/order_clause.rb +2 -2
- 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 +17 -7
- data/lib/active_admin/orm/active_record/comments.rb +15 -4
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/page_presenter.rb +2 -1
- data/lib/active_admin/pundit_adapter.rb +18 -5
- data/lib/active_admin/resource/action_items.rb +7 -2
- data/lib/active_admin/resource/attributes.rb +7 -4
- data/lib/active_admin/resource/belongs_to.rb +6 -1
- data/lib/active_admin/resource/menu.rb +3 -3
- data/lib/active_admin/resource/model.rb +15 -0
- data/lib/active_admin/resource/naming.rb +3 -3
- data/lib/active_admin/resource/routes.rb +20 -7
- data/lib/active_admin/resource/scopes.rb +3 -3
- data/lib/active_admin/resource/sidebars.rb +1 -1
- data/lib/active_admin/resource.rb +17 -3
- 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/data_access.rb +5 -1
- data/lib/active_admin/resource_controller/decorators.rb +5 -5
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
- 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_controller.rb +2 -0
- data/lib/active_admin/resource_dsl.rb +7 -3
- data/lib/active_admin/router.rb +90 -84
- data/lib/active_admin/scope.rb +16 -8
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/sidebar_section.rb +3 -1
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
- data/lib/active_admin/view_helpers/display_helper.rb +13 -4
- 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 +3 -3
- 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/site_title.rb +5 -6
- data/lib/active_admin/views/components/status_tag.rb +6 -19
- 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 +18 -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 +10 -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 +7 -3
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +38 -3
- 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 +2 -2
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
- 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 +127 -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 -239
- 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 -107
- 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 -48
- 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/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/settings.rb +0 -114
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/active_admin_master.rb +0 -113
- 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 -150
- 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 -10
- data/spec/unit/abstract_view_factory_spec.rb +0 -78
- data/spec/unit/action_builder_spec.rb +0 -125
- 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 -304
- 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 -135
- data/spec/unit/filters/active_spec.rb +0 -24
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
- 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/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 -230
- 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 -252
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
- 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
- /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -1,113 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
require 'bundler/inline'
|
3
|
-
rescue LoadError => e
|
4
|
-
STDERR.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
|
5
|
-
raise e
|
6
|
-
end
|
7
|
-
|
8
|
-
gemfile(true) do
|
9
|
-
source 'https://rubygems.org'
|
10
|
-
|
11
|
-
# Use local changes or ActiveAdmin master.
|
12
|
-
if ENV['ACTIVE_ADMIN_PATH']
|
13
|
-
gem 'activeadmin', path: ENV['ACTIVE_ADMIN_PATH'], require: false
|
14
|
-
else
|
15
|
-
gem 'activeadmin', github: 'activeadmin/activeadmin', require: false
|
16
|
-
end
|
17
|
-
|
18
|
-
# Change Rails version if necessary.
|
19
|
-
gem 'rails', '~> 5.1.0'
|
20
|
-
|
21
|
-
gem 'sass-rails'
|
22
|
-
gem 'sqlite3', platform: :mri
|
23
|
-
gem 'activerecord-jdbcsqlite3-adapter',
|
24
|
-
git: 'https://github.com/jruby/activerecord-jdbc-adapter',
|
25
|
-
branch: 'rails-5',
|
26
|
-
platform: :jruby
|
27
|
-
end
|
28
|
-
|
29
|
-
require 'active_record'
|
30
|
-
|
31
|
-
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
|
32
|
-
ActiveRecord::Base.logger = Logger.new(STDOUT)
|
33
|
-
|
34
|
-
ActiveRecord::Schema.define do
|
35
|
-
create_table :active_admin_comments, force: true do |_t|
|
36
|
-
end
|
37
|
-
|
38
|
-
create_table :users, force: true do |t|
|
39
|
-
t.string :full_name
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
require 'action_controller/railtie'
|
44
|
-
require 'action_view/railtie'
|
45
|
-
require 'active_admin'
|
46
|
-
|
47
|
-
class TestApp < Rails::Application
|
48
|
-
config.root = __dir__
|
49
|
-
config.session_store :cookie_store, key: "cookie_store_key"
|
50
|
-
secrets.secret_token = 'secret_token'
|
51
|
-
secrets.secret_key_base = 'secret_key_base'
|
52
|
-
|
53
|
-
config.eager_load = false
|
54
|
-
config.logger = Logger.new($stdout)
|
55
|
-
Rails.logger = config.logger
|
56
|
-
end
|
57
|
-
|
58
|
-
class ApplicationController < ActionController::Base
|
59
|
-
include Rails.application.routes.url_helpers
|
60
|
-
end
|
61
|
-
|
62
|
-
class User < ActiveRecord::Base
|
63
|
-
end
|
64
|
-
|
65
|
-
ActiveAdmin.setup do |config|
|
66
|
-
# Authentication disabled by default. Override if necessary.
|
67
|
-
config.authentication_method = false
|
68
|
-
config.current_user_method = false
|
69
|
-
end
|
70
|
-
|
71
|
-
Rails.application.initialize!
|
72
|
-
|
73
|
-
ActiveAdmin.register_page 'Dashboard' do
|
74
|
-
menu priority: 1, label: proc { I18n.t('active_admin.dashboard') }
|
75
|
-
content do
|
76
|
-
'Test Me'
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
ActiveAdmin.register User do
|
81
|
-
end
|
82
|
-
|
83
|
-
Rails.application.routes.draw do
|
84
|
-
ActiveAdmin.routes(self)
|
85
|
-
end
|
86
|
-
|
87
|
-
require 'minitest/autorun'
|
88
|
-
require 'rack/test'
|
89
|
-
require 'rails/test_help'
|
90
|
-
|
91
|
-
# Replace this with the code necessary to make your test fail.
|
92
|
-
class BugTest < ActionDispatch::IntegrationTest
|
93
|
-
|
94
|
-
def test_admin_root_success?
|
95
|
-
get admin_root_url
|
96
|
-
assert_response :success
|
97
|
-
assert_match 'Test Me', response.body # has content
|
98
|
-
assert_match 'Users', response.body # has 'Your Models' in menu
|
99
|
-
end
|
100
|
-
|
101
|
-
def test_admin_users
|
102
|
-
User.create! full_name: 'John Doe'
|
103
|
-
get admin_users_url
|
104
|
-
assert_response :success
|
105
|
-
assert_match 'John Doe', response.body # has created row
|
106
|
-
end
|
107
|
-
|
108
|
-
private
|
109
|
-
|
110
|
-
def app
|
111
|
-
Rails.application
|
112
|
-
end
|
113
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
#= require active_admin/base
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
RSpec.describe 'bug_report_templates' do
|
4
|
-
subject do
|
5
|
-
Bundler.with_clean_env do
|
6
|
-
Dir.chdir(chdir_path) do
|
7
|
-
system({'ACTIVE_ADMIN_PATH' => active_admin_root},
|
8
|
-
Gem.ruby,
|
9
|
-
template_path,
|
10
|
-
out: File::NULL)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
let(:active_admin_root) { File.expand_path('../..', __FILE__) }
|
16
|
-
let(:chdir_path) { File.join(active_admin_root, 'lib', 'bug_report_templates') }
|
17
|
-
|
18
|
-
context 'when runs active_admin_master.rb' do
|
19
|
-
let(:template_path) { 'active_admin_master.rb' }
|
20
|
-
|
21
|
-
it 'passes' do
|
22
|
-
expect(subject).to be_truthy
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
describe "ActiveAdmin.CheckboxToggler", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
loadFixtures('checkboxes.html')
|
5
|
-
|
6
|
-
@collection = $("#collection")
|
7
|
-
@toggle_all = @collection.find(".toggle_all")
|
8
|
-
|
9
|
-
@checkboxes = @collection.find(":checkbox").not(@toggle_all)
|
10
|
-
|
11
|
-
|
12
|
-
new ActiveAdmin.CheckboxToggler({}, @collection)
|
13
|
-
|
14
|
-
describe "on init", ->
|
15
|
-
it "should raise an error if container not found", ->
|
16
|
-
expect( => new ActiveAdmin.CheckboxToggler({}) ).toThrow("Container element not found")
|
17
|
-
|
18
|
-
it "should raise an error if 'toggle all' checkbox not found", ->
|
19
|
-
@toggle_all.remove()
|
20
|
-
expect( => new ActiveAdmin.CheckboxToggler({}, @collection); ).toThrow("'toggle all' checkbox not found")
|
21
|
-
|
22
|
-
describe "'toggle all' checkbox", ->
|
23
|
-
it "should check all checkboxes when checked", ->
|
24
|
-
@toggle_all.trigger("click")
|
25
|
-
expect(@checkboxes).toHaveAttr("checked")
|
26
|
-
|
27
|
-
it "should uncheck all checkboxes when unchecked", ->
|
28
|
-
@toggle_all.trigger("click")
|
29
|
-
@toggle_all.trigger("click")
|
30
|
-
expect(@checkboxes).not.toHaveAttr("checked")
|
31
|
-
|
32
|
-
describe "individual checkboxes", ->
|
33
|
-
|
34
|
-
describe "when all checkboxes are selected and one is unchecked", ->
|
35
|
-
beforeEach ->
|
36
|
-
@collection.find(":checkbox").attr("checked", "checked")
|
37
|
-
@collection.find("#item_1").trigger("click")
|
38
|
-
|
39
|
-
it "should uncheck the 'toggle all' checkbox", ->
|
40
|
-
expect(@toggle_all).not.toHaveAttr("checked")
|
41
|
-
|
42
|
-
describe "when the last checkbox is checked", ->
|
43
|
-
beforeEach ->
|
44
|
-
@checkboxes.attr("checked", "checked")
|
45
|
-
@collection.find("#item_1").removeAttr("checked")
|
46
|
-
@collection.find("#item_1").trigger("click")
|
47
|
-
|
48
|
-
it "should check the 'toggle all' checkbox", ->
|
49
|
-
expect(@toggle_all).toHaveAttr("checked")
|
50
|
-
|
@@ -1,25 +0,0 @@
|
|
1
|
-
describe "ActiveAdmin.flash", ->
|
2
|
-
beforeEach ->
|
3
|
-
loadFixtures('flashes.html')
|
4
|
-
@flashes = $(".flashes")
|
5
|
-
|
6
|
-
describe "abstract", ->
|
7
|
-
it "should add a flash box with class and message"
|
8
|
-
ActiveAdmin.flash.abstract "a abstract message", "abstract"
|
9
|
-
flash = @flashes.find(".flash")
|
10
|
-
expect(flash).toHaveClass("abstract")
|
11
|
-
expect(flash.text()).toHaveClass("a abstract message")
|
12
|
-
|
13
|
-
describe "error", ->
|
14
|
-
it "should add a flash box with class and message"
|
15
|
-
ActiveAdmin.flash.abstract "a error message"
|
16
|
-
flash = @flashes.find(".flash")
|
17
|
-
expect(flash).toHaveClass("error")
|
18
|
-
expect(flash.text()).toHaveClass("a error message")
|
19
|
-
|
20
|
-
describe "notice", ->
|
21
|
-
it "should add a flash box with class and message"
|
22
|
-
ActiveAdmin.flash.abstract "a notice message"
|
23
|
-
flash = @flashes.find(".flash")
|
24
|
-
expect(flash).toHaveClass("notice")
|
25
|
-
expect(flash.text()).toHaveClass("a notice message")
|
@@ -1,34 +0,0 @@
|
|
1
|
-
describe "ActiveAdmin.TableCheckboxToggler", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
loadFixtures('table_checkboxes.html');
|
5
|
-
|
6
|
-
@collection = $("#collection")
|
7
|
-
@toggle_all = @collection.find(".toggle_all")
|
8
|
-
|
9
|
-
@checkboxes = @collection.find(":checkbox").not(@toggle_all)
|
10
|
-
|
11
|
-
new ActiveAdmin.TableCheckboxToggler({}, @collection)
|
12
|
-
|
13
|
-
describe "'selected' class for table row", ->
|
14
|
-
it "should add the class 'selected' to rows when their checkbox is checked ", ->
|
15
|
-
checkbox = $("#item_1")
|
16
|
-
checkbox.attr("checked", "checked")
|
17
|
-
checkbox.trigger("change")
|
18
|
-
|
19
|
-
expect(checkbox.parents("tr")).toHaveAttr("class", "selected")
|
20
|
-
|
21
|
-
it "should remove the class 'selected' from rows when their checkbox is unchecked ", ->
|
22
|
-
checkbox = $("#item_1")
|
23
|
-
checkbox.trigger("change")
|
24
|
-
|
25
|
-
expect(checkbox.parents("tr")).not.toHaveAttr("class", "selected")
|
26
|
-
|
27
|
-
describe "clicking a cell", ->
|
28
|
-
it "should toggle the checkbox when a cell is clicked", ->
|
29
|
-
checkbox = $("#item_1")
|
30
|
-
row = checkbox.parents("td")
|
31
|
-
$(row).trigger("click")
|
32
|
-
|
33
|
-
expect(checkbox).toHaveAttr("checked", "checked")
|
34
|
-
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<div id="collection">
|
2
|
-
<input type="checkbox" name="toggle_all" class="toggle_all" value="">
|
3
|
-
|
4
|
-
<input type="checkbox" name="item1" id="item_1" value="1">
|
5
|
-
<input type="checkbox" name="item2" id="item_2" value="2">
|
6
|
-
<input type="checkbox" name="item3" id="item_3" value="3">
|
7
|
-
<input type="checkbox" name="item4" id="item_4" value="4">
|
8
|
-
</div>
|
9
|
-
|
@@ -1,17 +0,0 @@
|
|
1
|
-
<table id="collection">
|
2
|
-
<thead>
|
3
|
-
<tr>
|
4
|
-
<td>
|
5
|
-
<input type="checkbox" name="toggle_all" class="toggle_all" value="">
|
6
|
-
</td>
|
7
|
-
</tr>
|
8
|
-
</thead>
|
9
|
-
<tbody>
|
10
|
-
<tr><td><input type="checkbox" name="item1" id="item_1" value="1"></td></tr>
|
11
|
-
<tr><td><input type="checkbox" name="item2" id="item_2" value="2"></td></tr>
|
12
|
-
<tr><td><input type="checkbox" name="item3" id="item_3" value="3"></td></tr>
|
13
|
-
<tr><td><input type="checkbox" name="item4" id="item_4" value="4"></td></tr>
|
14
|
-
</tbody>
|
15
|
-
</table>
|
16
|
-
|
17
|
-
|
@@ -1,74 +0,0 @@
|
|
1
|
-
# src_files
|
2
|
-
#
|
3
|
-
# Return an array of filepaths relative to src_dir to include before jasmine specs.
|
4
|
-
# Default: []
|
5
|
-
#
|
6
|
-
# EXAMPLE:
|
7
|
-
#
|
8
|
-
# src_files:
|
9
|
-
# - lib/source1.js
|
10
|
-
# - lib/source2.js
|
11
|
-
# - dist/**/*.js
|
12
|
-
#
|
13
|
-
src_files:
|
14
|
-
- spec/javascripts/support/jquery.min.js
|
15
|
-
- spec/javascripts/support/jquery-ui-1.8.16.custom.min.js
|
16
|
-
- app/assets/javascripts/active_admin/compiled/lib/**/*.js
|
17
|
-
- app/assets/javascripts/active_admin/compiled/components/**/*.js
|
18
|
-
|
19
|
-
# stylesheets
|
20
|
-
#
|
21
|
-
# Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs.
|
22
|
-
# Default: []
|
23
|
-
#
|
24
|
-
# EXAMPLE:
|
25
|
-
#
|
26
|
-
# stylesheets:
|
27
|
-
# - css/style.css
|
28
|
-
# - stylesheets/*.css
|
29
|
-
#
|
30
|
-
stylesheets:
|
31
|
-
|
32
|
-
# helpers
|
33
|
-
#
|
34
|
-
# Return an array of filepaths relative to spec_dir to include before jasmine specs.
|
35
|
-
# Default: ["helpers/**/*.js"]
|
36
|
-
#
|
37
|
-
# EXAMPLE:
|
38
|
-
#
|
39
|
-
helpers:
|
40
|
-
- helpers/**/*.js
|
41
|
-
|
42
|
-
|
43
|
-
# spec_files
|
44
|
-
#
|
45
|
-
# Return an array of filepaths relative to spec_dir to include.
|
46
|
-
# Default: ["**/*[sS]pec.js"]
|
47
|
-
#
|
48
|
-
# EXAMPLE:
|
49
|
-
#
|
50
|
-
spec_files:
|
51
|
-
- **/*[sS]pec.js
|
52
|
-
|
53
|
-
|
54
|
-
# src_dir
|
55
|
-
#
|
56
|
-
# Source directory path. Your src_files must be returned relative to this path. Will use root if left blank.
|
57
|
-
# Default: project root
|
58
|
-
#
|
59
|
-
# EXAMPLE:
|
60
|
-
#
|
61
|
-
# src_dir: public
|
62
|
-
#
|
63
|
-
src_dir:
|
64
|
-
|
65
|
-
# spec_dir
|
66
|
-
#
|
67
|
-
# Spec directory path. Your spec_files must be returned relative to this path.
|
68
|
-
# Default: spec/javascripts
|
69
|
-
#
|
70
|
-
# EXAMPLE:
|
71
|
-
#
|
72
|
-
# spec_dir: spec/javascripts
|
73
|
-
#
|
74
|
-
spec_dir: spec/javascripts/
|
@@ -1,19 +0,0 @@
|
|
1
|
-
$:.unshift(ENV['JASMINE_GEM_PATH']) if ENV['JASMINE_GEM_PATH'] # for gem testing purposes
|
2
|
-
|
3
|
-
require 'jasmine'
|
4
|
-
require 'spec'
|
5
|
-
|
6
|
-
jasmine_config = Jasmine::Config.new
|
7
|
-
spec_builder = Jasmine::SpecBuilder.new(jasmine_config)
|
8
|
-
|
9
|
-
should_stop = false
|
10
|
-
|
11
|
-
Spec::Runner.configure do |config|
|
12
|
-
config.after(:suite) do
|
13
|
-
spec_builder.stop if should_stop
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
spec_builder.start
|
18
|
-
should_stop = true
|
19
|
-
spec_builder.declare_suites
|
data/spec/rails_helper.rb
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
ENV['RAILS_ENV'] = 'test'
|
4
|
-
|
5
|
-
require 'rails'
|
6
|
-
ENV['RAILS_ROOT'] = File.expand_path("../rails/rails-#{Rails.version}", __FILE__)
|
7
|
-
|
8
|
-
# Create the test app if it doesn't exists
|
9
|
-
unless File.exists?(ENV['RAILS_ROOT'])
|
10
|
-
system 'rake setup'
|
11
|
-
end
|
12
|
-
|
13
|
-
require 'active_record'
|
14
|
-
require 'active_admin'
|
15
|
-
require 'devise'
|
16
|
-
ActiveAdmin.application.load_paths = [ENV['RAILS_ROOT'] + "/app/admin"]
|
17
|
-
|
18
|
-
require ENV['RAILS_ROOT'] + '/config/environment'
|
19
|
-
|
20
|
-
require 'rspec/rails'
|
21
|
-
|
22
|
-
# Disabling authentication in specs so that we don't have to worry about
|
23
|
-
# it allover the place
|
24
|
-
ActiveAdmin.application.authentication_method = false
|
25
|
-
ActiveAdmin.application.current_user_method = false
|
26
|
-
|
27
|
-
RSpec.configure do |config|
|
28
|
-
config.disable_monkey_patching!
|
29
|
-
config.use_transactional_fixtures = true
|
30
|
-
config.use_instantiated_fixtures = false
|
31
|
-
config.render_views = false
|
32
|
-
config.filter_run focus: true
|
33
|
-
config.filter_run_excluding skip: true
|
34
|
-
config.run_all_when_everything_filtered = true
|
35
|
-
config.color = true
|
36
|
-
config.order = :random
|
37
|
-
|
38
|
-
devise = ActiveAdmin::Dependency.devise >= '4.2' ? Devise::Test::ControllerHelpers : Devise::TestHelpers
|
39
|
-
config.include devise, type: :controller
|
40
|
-
|
41
|
-
require 'support/active_admin_integration_spec_helper'
|
42
|
-
config.include ActiveAdminIntegrationSpecHelper
|
43
|
-
|
44
|
-
require 'support/active_admin_request_helpers'
|
45
|
-
config.include ActiveAdminRequestHelpers, type: :request
|
46
|
-
|
47
|
-
# Setup Some Admin stuff for us to play with
|
48
|
-
config.before(:suite) do
|
49
|
-
ActiveAdminIntegrationSpecHelper.load_defaults!
|
50
|
-
ActiveAdminIntegrationSpecHelper.reload_routes!
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
# Force deprecations to raise an exception.
|
55
|
-
ActiveSupport::Deprecation.behavior = :raise
|
56
|
-
|
57
|
-
# improve the performance of the specs suite by not logging anything
|
58
|
-
# see http://blog.plataformatec.com.br/2011/12/three-tips-to-improve-the-performance-of-your-test-suite/
|
59
|
-
Rails.logger.level = Logger::FATAL
|
@@ -1,81 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe ActiveAdmin::Application, type: :request do
|
4
|
-
|
5
|
-
include Rails.application.routes.url_helpers
|
6
|
-
|
7
|
-
let(:resource) { ActiveAdmin.register Category }
|
8
|
-
|
9
|
-
[false, nil].each do |value|
|
10
|
-
|
11
|
-
describe "with a #{value} default namespace" do
|
12
|
-
|
13
|
-
around do |example|
|
14
|
-
with_custom_default_namespace(value) { example.call }
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should generate resource paths" do
|
18
|
-
expect(resource.route_collection_path).to eq "/categories"
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should generate a log out path" do
|
22
|
-
expect(destroy_admin_user_session_path).to eq "/logout"
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should generate a log in path" do
|
26
|
-
expect(new_admin_user_session_path).to eq "/login"
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
33
|
-
describe "with a test default namespace" do
|
34
|
-
|
35
|
-
around do |example|
|
36
|
-
with_custom_default_namespace(:test) { example.call }
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should generate resource paths" do
|
40
|
-
expect(resource.route_collection_path).to eq "/test/categories"
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should generate a log out path" do
|
44
|
-
expect(destroy_admin_user_session_path).to eq "/test/logout"
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should generate a log in path" do
|
48
|
-
expect(new_admin_user_session_path).to eq "/test/login"
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
describe "with a namespace with underscores in the name" do
|
54
|
-
|
55
|
-
around do |example|
|
56
|
-
with_custom_default_namespace(:abc_123) { example.call }
|
57
|
-
end
|
58
|
-
|
59
|
-
it "should generate resource paths" do
|
60
|
-
expect(resource.route_collection_path).to eq "/abc_123/categories"
|
61
|
-
end
|
62
|
-
|
63
|
-
it "should generate a log out path" do
|
64
|
-
expect(destroy_admin_user_session_path).to eq "/abc_123/logout"
|
65
|
-
end
|
66
|
-
|
67
|
-
it "should generate a log in path" do
|
68
|
-
expect(new_admin_user_session_path).to eq "/abc_123/login"
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
72
|
-
|
73
|
-
private
|
74
|
-
|
75
|
-
def with_custom_default_namespace(namespace)
|
76
|
-
application = ActiveAdmin::Application.new
|
77
|
-
application.default_namespace = namespace
|
78
|
-
|
79
|
-
with_temp_application(application) { yield }
|
80
|
-
end
|
81
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe "Memory Leak", type: :request, if: RUBY_ENGINE == 'ruby' do
|
4
|
-
before do
|
5
|
-
load_defaults!
|
6
|
-
end
|
7
|
-
|
8
|
-
def count_instances_of(klass)
|
9
|
-
ObjectSpace.each_object(klass) { }
|
10
|
-
end
|
11
|
-
|
12
|
-
[ActiveAdmin::Namespace, ActiveAdmin::Resource].each do |klass|
|
13
|
-
it "should not leak #{klass}" do
|
14
|
-
previously_disabled = GC.enable
|
15
|
-
GC.start
|
16
|
-
count = count_instances_of(klass)
|
17
|
-
|
18
|
-
load_defaults!
|
19
|
-
|
20
|
-
GC.start
|
21
|
-
GC.disable if previously_disabled
|
22
|
-
expect(count_instances_of klass).to be <= count
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'rails_helper'
|
2
|
-
|
3
|
-
RSpec.describe "Stylesheets", type: :request do
|
4
|
-
|
5
|
-
require "sprockets"
|
6
|
-
|
7
|
-
let(:css) do
|
8
|
-
assets = Rails.application.assets
|
9
|
-
assets.find_asset("active_admin.css")
|
10
|
-
end
|
11
|
-
it "should successfully render the scss stylesheets using sprockets" do
|
12
|
-
expect(css).to_not eq nil
|
13
|
-
end
|
14
|
-
it "should not have any syntax errors" do
|
15
|
-
expect(css.to_s).to_not include("Syntax error:")
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'simplecov' if ENV["COVERAGE"] == "true"
|
@@ -1,73 +0,0 @@
|
|
1
|
-
module ActiveAdminIntegrationSpecHelper
|
2
|
-
extend self
|
3
|
-
|
4
|
-
def load_defaults!
|
5
|
-
ActiveAdmin.unload!
|
6
|
-
ActiveAdmin.load!
|
7
|
-
ActiveAdmin.register(Category)
|
8
|
-
ActiveAdmin.register(User)
|
9
|
-
ActiveAdmin.register(Post){ belongs_to :user, optional: true }
|
10
|
-
reload_menus!
|
11
|
-
end
|
12
|
-
|
13
|
-
def reload_menus!
|
14
|
-
ActiveAdmin.application.namespaces.each{|n| n.reset_menu! }
|
15
|
-
end
|
16
|
-
|
17
|
-
# Sometimes we need to reload the routes within
|
18
|
-
# the application to test them out
|
19
|
-
def reload_routes!
|
20
|
-
Rails.application.reload_routes!
|
21
|
-
end
|
22
|
-
|
23
|
-
# Helper method to load resources and ensure that Active Admin is
|
24
|
-
# setup with the new configurations.
|
25
|
-
#
|
26
|
-
# Eg:
|
27
|
-
# load_resources do
|
28
|
-
# ActiveAdmin.register(Post)
|
29
|
-
# end
|
30
|
-
#
|
31
|
-
def load_resources
|
32
|
-
ActiveAdmin.unload!
|
33
|
-
yield
|
34
|
-
reload_menus!
|
35
|
-
reload_routes!
|
36
|
-
end
|
37
|
-
|
38
|
-
def arbre(assigns = {}, helpers = mock_action_view, &block)
|
39
|
-
Arbre::Context.new(assigns, helpers, &block)
|
40
|
-
end
|
41
|
-
|
42
|
-
def render_arbre_component(assigns = {}, helpers = mock_action_view, &block)
|
43
|
-
arbre(assigns, helpers, &block).children.first
|
44
|
-
end
|
45
|
-
|
46
|
-
# Returns a fake action view instance to use with our renderers
|
47
|
-
def mock_action_view(assigns = {})
|
48
|
-
controller = ActionView::TestCase::TestController.new
|
49
|
-
#this line needed because of rails bug https://github.com/rails/rails/commit/d8e98897b5703ac49bf0764da71a06d64ecda9b0
|
50
|
-
controller.params = ActionController::Parameters.new
|
51
|
-
MockActionView.new(ActionController::Base.view_paths, assigns, controller)
|
52
|
-
end
|
53
|
-
alias_method :action_view, :mock_action_view
|
54
|
-
|
55
|
-
# A mock action view to test view helpers
|
56
|
-
class MockActionView < ::ActionView::Base
|
57
|
-
include ActiveAdmin::ViewHelpers
|
58
|
-
include Rails.application.routes.url_helpers
|
59
|
-
end
|
60
|
-
|
61
|
-
def with_translation(translation)
|
62
|
-
# If no translations have been loaded, any later calls to `I18n.t` will
|
63
|
-
# cause the full translation hash to be loaded, possibly overwritting what
|
64
|
-
# we've loaded via `store_translations`. We use this hack to prevent that.
|
65
|
-
# TODO: Might not be necessary anymore once
|
66
|
-
# https://github.com/svenfuchs/i18n/pull/353 lands.
|
67
|
-
I18n.backend.send(:init_translations)
|
68
|
-
I18n.backend.store_translations I18n.locale, translation
|
69
|
-
yield
|
70
|
-
ensure
|
71
|
-
I18n.backend.reload!
|
72
|
-
end
|
73
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require "action_dispatch"
|
2
|
-
require "capybara/rails"
|
3
|
-
require "capybara/dsl"
|
4
|
-
|
5
|
-
module ActiveAdminRequestHelpers
|
6
|
-
extend ActiveSupport::Concern
|
7
|
-
|
8
|
-
include ActionDispatch::Integration::Runner
|
9
|
-
include RSpec::Rails::TestUnitAssertionAdapter
|
10
|
-
include ActionDispatch::Assertions
|
11
|
-
include Capybara::DSL
|
12
|
-
include RSpec::Matchers
|
13
|
-
|
14
|
-
def app
|
15
|
-
::Rails.application
|
16
|
-
end
|
17
|
-
|
18
|
-
def last_response
|
19
|
-
page
|
20
|
-
end
|
21
|
-
|
22
|
-
included do
|
23
|
-
before do
|
24
|
-
@router = ::Rails.application.routes
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def with_temp_application(application)
|
29
|
-
original_application = ActiveAdmin.application
|
30
|
-
ActiveAdmin.application = application
|
31
|
-
load_defaults!
|
32
|
-
reload_routes!
|
33
|
-
|
34
|
-
yield
|
35
|
-
|
36
|
-
ensure
|
37
|
-
ActiveAdmin.application = original_application
|
38
|
-
end
|
39
|
-
end
|