activeadmin 1.3.1 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.circleci/config.yml +467 -0
- data/.gitignore +2 -5
- data/.rspec +1 -0
- data/.rspec_parallel +2 -0
- data/.rubocop.yml +25 -7
- data/.simplecov +4 -6
- data/CHANGELOG.md +175 -83
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +77 -40
- data/Gemfile +7 -55
- data/Gemfile.common +53 -0
- data/Gemfile.lock +431 -0
- data/README.md +39 -18
- data/Rakefile +1 -32
- data/app/assets/stylesheets/active_admin/_forms.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
- data/app/views/active_admin/devise/registrations/new.html.erb +1 -1
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
- data/app/views/layouts/active_admin_logged_out.html.erb +1 -1
- data/bin/install_chromedriver.sh +17 -0
- 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/it.yml +4 -0
- 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/zh-CN.yml +33 -5
- data/config/mdl_style.rb +2 -0
- data/cucumber.yml +7 -3
- data/docs/.gitignore +1 -0
- 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 +36 -17
- data/docs/2-resource-customization.md +8 -3
- data/docs/3-index-pages.md +17 -0
- 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/5-forms.md +16 -2
- data/docs/8-custom-actions.md +11 -0
- 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/stylesheets/main.css +26 -2
- data/gemfiles/rails_42.gemfile +2 -2
- data/gemfiles/rails_42.gemfile.lock +410 -0
- data/gemfiles/rails_50.gemfile +2 -2
- data/gemfiles/rails_50.gemfile.lock +424 -0
- data/gemfiles/rails_51.gemfile +2 -2
- data/gemfiles/rails_51.gemfile.lock +423 -0
- data/lib/active_admin/abstract_view_factory.rb +13 -51
- data/lib/active_admin/application.rb +42 -142
- data/lib/active_admin/application_settings.rb +39 -0
- data/lib/active_admin/base_controller/authorization.rb +1 -2
- data/lib/active_admin/batch_actions/controller.rb +1 -1
- data/lib/active_admin/dependency.rb +8 -0
- data/lib/active_admin/deprecation.rb +0 -25
- 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/filters/active_filter.rb +1 -1
- data/lib/active_admin/filters/resource_extension.rb +1 -1
- data/lib/active_admin/form_builder.rb +95 -60
- data/lib/active_admin/inputs/datepicker_input.rb +7 -0
- data/lib/active_admin/menu.rb +2 -8
- data/lib/active_admin/menu_item.rb +3 -31
- data/lib/active_admin/namespace.rb +18 -6
- data/lib/active_admin/namespace_settings.rb +107 -0
- data/lib/active_admin/orm/active_record/comments.rb +11 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +1 -1
- data/lib/active_admin/resource/action_items.rb +6 -1
- data/lib/active_admin/resource_controller/decorators.rb +3 -3
- data/lib/active_admin/resource_controller/scoping.rb +1 -1
- data/lib/active_admin/router.rb +89 -84
- data/lib/active_admin/scope.rb +5 -1
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +2 -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/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/table_for.rb +1 -10
- data/lib/active_admin/views/components/tabs.rb +4 -1
- data/lib/active_admin/views/footer.rb +2 -6
- 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 +6 -6
- data/lib/active_admin/views/pages/base.rb +27 -53
- data/lib/active_admin/views/tabbed_navigation.rb +4 -59
- data/lib/bug_report_templates/active_admin_master.rb +2 -3
- data/tasks/application_generator.rb +48 -0
- data/tasks/gemfiles.rake +8 -0
- data/tasks/lint.rake +96 -7
- data/tasks/local.rake +10 -8
- data/tasks/test.rake +30 -16
- metadata +26 -440
- data/.travis.yml +0 -51
- 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_52.gemfile +0 -11
- data/lib/active_admin/helpers/settings.rb +0 -114
- 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/parallel_tests.rake +0 -66
@@ -1,83 +0,0 @@
|
|
1
|
-
Feature: Index Blank Slate
|
2
|
-
|
3
|
-
Viewing an index page with no resources yet
|
4
|
-
|
5
|
-
Scenario: Viewing the default table with no resources
|
6
|
-
Given an index configuration of:
|
7
|
-
"""
|
8
|
-
ActiveAdmin.register Post do
|
9
|
-
batch_action :favourite do
|
10
|
-
# nothing
|
11
|
-
end
|
12
|
-
scope :all, default: true
|
13
|
-
end
|
14
|
-
"""
|
15
|
-
Then I should not see a sortable table header
|
16
|
-
And I should see "There are no Posts yet. Create one"
|
17
|
-
And I should not see ".index_table"
|
18
|
-
And I should not see pagination
|
19
|
-
When I follow "Create one"
|
20
|
-
Then I should be on the new post page
|
21
|
-
|
22
|
-
Scenario: Viewing the default table with no resources and no 'new' action
|
23
|
-
Given an index configuration of:
|
24
|
-
"""
|
25
|
-
ActiveAdmin.register Post do
|
26
|
-
actions :index, :show
|
27
|
-
end
|
28
|
-
"""
|
29
|
-
And I should see "There are no Posts yet."
|
30
|
-
And I should not see "Create one"
|
31
|
-
|
32
|
-
Scenario: Viewing a index using a grid with no resources
|
33
|
-
Given an index configuration of:
|
34
|
-
"""
|
35
|
-
ActiveAdmin.register Post do
|
36
|
-
index as: :grid do |post|
|
37
|
-
h2 auto_link(post)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
"""
|
41
|
-
And I should see "There are no Posts yet. Create one"
|
42
|
-
|
43
|
-
Scenario: Viewing a index using blocks with no resources
|
44
|
-
Given an index configuration of:
|
45
|
-
"""
|
46
|
-
ActiveAdmin.register Post do
|
47
|
-
index as: :block do |post|
|
48
|
-
span(link_to(post.title, admin_post_path(post)))
|
49
|
-
end
|
50
|
-
end
|
51
|
-
"""
|
52
|
-
And I should see "There are no Posts yet. Create one"
|
53
|
-
|
54
|
-
Scenario: Viewing a blog with no resources
|
55
|
-
Given an index configuration of:
|
56
|
-
"""
|
57
|
-
ActiveAdmin.register Post do
|
58
|
-
index as: :blog
|
59
|
-
end
|
60
|
-
"""
|
61
|
-
And I should see "There are no Posts yet. Create one"
|
62
|
-
|
63
|
-
Scenario: Customizing the default table with no resources
|
64
|
-
Given an index configuration of:
|
65
|
-
"""
|
66
|
-
ActiveAdmin.register Post do
|
67
|
-
index blank_slate_link: ->{link_to("Go to dashboard", admin_root_path)} do |post|
|
68
|
-
end
|
69
|
-
end
|
70
|
-
"""
|
71
|
-
When I follow "Go to dashboard"
|
72
|
-
Then I should see "Dashboard"
|
73
|
-
|
74
|
-
Scenario: Customizing the default table with no blank slate link
|
75
|
-
Given an index configuration of:
|
76
|
-
"""
|
77
|
-
ActiveAdmin.register Post do
|
78
|
-
index blank_slate_link: false do |post|
|
79
|
-
end
|
80
|
-
end
|
81
|
-
"""
|
82
|
-
Then I should see "There are no Posts yet."
|
83
|
-
And I should not see "Create one"
|
@@ -1,75 +0,0 @@
|
|
1
|
-
Feature: Index Parameters
|
2
|
-
|
3
|
-
Scenario: Viewing index when download_links disabled
|
4
|
-
Given an index configuration of:
|
5
|
-
"""
|
6
|
-
ActiveAdmin.register Post do
|
7
|
-
index as: :table, download_links: false
|
8
|
-
end
|
9
|
-
"""
|
10
|
-
Given 31 posts exist
|
11
|
-
When I am on the index page for posts
|
12
|
-
Then I should not see a link to download "CSV"
|
13
|
-
|
14
|
-
Scenario: Viewing index when download_links disabled globally
|
15
|
-
Given a configuration of:
|
16
|
-
"""
|
17
|
-
ActiveAdmin.application.download_links = false
|
18
|
-
"""
|
19
|
-
Given an index configuration of:
|
20
|
-
"""
|
21
|
-
ActiveAdmin.register Post do
|
22
|
-
index as: :table
|
23
|
-
end
|
24
|
-
"""
|
25
|
-
Given 1 posts exist
|
26
|
-
When I am on the index page for posts
|
27
|
-
Then I should be on the index page for posts
|
28
|
-
Then I should not see a link to download "CSV"
|
29
|
-
Given a configuration of:
|
30
|
-
"""
|
31
|
-
ActiveAdmin.application.download_links = true
|
32
|
-
"""
|
33
|
-
|
34
|
-
Scenario: Viewing index when download_links disabled only in one namespace
|
35
|
-
Given a configuration of:
|
36
|
-
"""
|
37
|
-
ActiveAdmin.application.namespace(:superadmin).download_links = false
|
38
|
-
ActiveAdmin.register AdminUser, namespace: :superadmin
|
39
|
-
"""
|
40
|
-
Given an index configuration of:
|
41
|
-
"""
|
42
|
-
ActiveAdmin.register Post do
|
43
|
-
index as: :table
|
44
|
-
end
|
45
|
-
ActiveAdmin.register Post, namespace: :superadmin do
|
46
|
-
index as: :table
|
47
|
-
end
|
48
|
-
"""
|
49
|
-
Given 1 posts exist
|
50
|
-
When I am on the index page for posts in the superadmin namespace
|
51
|
-
Then I should be on the index page for posts in the superadmin namespace
|
52
|
-
Then I should not see a link to download "CSV"
|
53
|
-
When I am on the index page for posts
|
54
|
-
Then I should be on the index page for posts
|
55
|
-
Then I should see a link to download "CSV"
|
56
|
-
|
57
|
-
Scenario: Viewing index when download_links enabled only for a resource
|
58
|
-
Given a configuration of:
|
59
|
-
"""
|
60
|
-
ActiveAdmin.application.namespace(:superadmin).download_links = false
|
61
|
-
ActiveAdmin.register AdminUser, namespace: :superadmin
|
62
|
-
"""
|
63
|
-
Given an index configuration of:
|
64
|
-
"""
|
65
|
-
ActiveAdmin.register Post do
|
66
|
-
index as: :table
|
67
|
-
end
|
68
|
-
ActiveAdmin.register Post, namespace: :superadmin do
|
69
|
-
index as: :table, download_links: true
|
70
|
-
end
|
71
|
-
"""
|
72
|
-
Given 1 posts exist
|
73
|
-
When I am on the index page for posts in the superadmin namespace
|
74
|
-
Then I should be on the index page for posts in the superadmin namespace
|
75
|
-
Then I should see a link to download "CSV"
|
@@ -1,56 +0,0 @@
|
|
1
|
-
Feature: Index Scope To
|
2
|
-
|
3
|
-
Viewing resource configs scoped to another object
|
4
|
-
|
5
|
-
Background:
|
6
|
-
Given 10 posts exist
|
7
|
-
And a post with the title "Hello World" written by "John Doe" exists
|
8
|
-
And a published post with the title "Hello World" written by "John Doe" exists
|
9
|
-
Given an index configuration of:
|
10
|
-
"""
|
11
|
-
ActiveAdmin.register Post do
|
12
|
-
# Scope section to a specific author
|
13
|
-
scope_to do
|
14
|
-
User.find_by_first_name_and_last_name "John", "Doe"
|
15
|
-
end
|
16
|
-
|
17
|
-
# Set up some scopes
|
18
|
-
scope :all, default: true
|
19
|
-
scope :published do |posts|
|
20
|
-
posts.where "published_date IS NOT NULL"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
"""
|
24
|
-
|
25
|
-
Scenario: Viewing the default scope counts
|
26
|
-
When I am on the index page for posts
|
27
|
-
Then I should see the scope "All" selected
|
28
|
-
And I should see the scope "All" with the count 2
|
29
|
-
And I should see 2 posts in the table
|
30
|
-
|
31
|
-
When I follow "Published"
|
32
|
-
Then I should see 1 posts in the table
|
33
|
-
|
34
|
-
Scenario: Viewing the index with conditional scope :if
|
35
|
-
Given an index configuration of:
|
36
|
-
"""
|
37
|
-
ActiveAdmin.register Post do
|
38
|
-
scope_to if: proc{ false } do
|
39
|
-
User.find_by_first_name_and_last_name("John", "Doe")
|
40
|
-
end
|
41
|
-
end
|
42
|
-
"""
|
43
|
-
When I am on the index page for posts
|
44
|
-
Then I should see 12 posts in the table
|
45
|
-
|
46
|
-
Scenario: Viewing the index with conditional scope :unless
|
47
|
-
Given an index configuration of:
|
48
|
-
"""
|
49
|
-
ActiveAdmin.register Post do
|
50
|
-
scope_to unless: proc{ true } do
|
51
|
-
User.find_by_first_name_and_last_name("John", "Doe")
|
52
|
-
end
|
53
|
-
end
|
54
|
-
"""
|
55
|
-
When I am on the index page for posts
|
56
|
-
Then I should see 12 posts in the table
|
@@ -1,285 +0,0 @@
|
|
1
|
-
Feature: Index Scoping
|
2
|
-
|
3
|
-
Viewing resources and scoping them
|
4
|
-
|
5
|
-
Scenario: Viewing resources with one scope and no default
|
6
|
-
Given 3 posts exist
|
7
|
-
And an index configuration of:
|
8
|
-
"""
|
9
|
-
ActiveAdmin.register Post do
|
10
|
-
scope :all
|
11
|
-
end
|
12
|
-
"""
|
13
|
-
Then I should see the scope "All" not selected
|
14
|
-
And I should see the scope "All" with the count 3
|
15
|
-
And I should see 3 posts in the table
|
16
|
-
|
17
|
-
Scenario: Viewing resources with one scope with dynamic name
|
18
|
-
Given 3 posts exist
|
19
|
-
And an index configuration of:
|
20
|
-
"""
|
21
|
-
ActiveAdmin.register Post do
|
22
|
-
scope -> { scope_title }, :all
|
23
|
-
|
24
|
-
controller do
|
25
|
-
def scope_title
|
26
|
-
'Neat scope'
|
27
|
-
end
|
28
|
-
|
29
|
-
helper_method :scope_title
|
30
|
-
end
|
31
|
-
end
|
32
|
-
"""
|
33
|
-
Then I should see the scope with label "Neat scope"
|
34
|
-
And I should see 3 posts in the table
|
35
|
-
When I follow "Neat scope"
|
36
|
-
And I should see 3 posts in the table
|
37
|
-
And I should see the current scope with label "Neat scope"
|
38
|
-
|
39
|
-
Scenario: Viewing resources with one scope as the default
|
40
|
-
Given 3 posts exist
|
41
|
-
And an index configuration of:
|
42
|
-
"""
|
43
|
-
ActiveAdmin.register Post do
|
44
|
-
scope :all, default: true
|
45
|
-
end
|
46
|
-
"""
|
47
|
-
Then I should see the scope "All" selected
|
48
|
-
And I should see the scope "All" with the count 3
|
49
|
-
And I should see 3 posts in the table
|
50
|
-
|
51
|
-
Scenario: Viewing resources with one scope that is set as not default
|
52
|
-
Given 3 posts exist
|
53
|
-
And an index configuration of:
|
54
|
-
"""
|
55
|
-
ActiveAdmin.register Post do
|
56
|
-
scope :all, default: proc{ false }
|
57
|
-
end
|
58
|
-
"""
|
59
|
-
Then I should see the scope "All" not selected
|
60
|
-
And I should see the scope "All" with the count 3
|
61
|
-
And I should see 3 posts in the table
|
62
|
-
|
63
|
-
Scenario: Viewing resources with a scope and no results
|
64
|
-
Given 3 posts exist
|
65
|
-
And an index configuration of:
|
66
|
-
"""
|
67
|
-
ActiveAdmin.register Post do
|
68
|
-
scope :all, default: true
|
69
|
-
filter :title
|
70
|
-
end
|
71
|
-
"""
|
72
|
-
When I fill in "Title" with "Non Existing Post"
|
73
|
-
And I press "Filter"
|
74
|
-
Then I should see the scope "All" selected
|
75
|
-
|
76
|
-
|
77
|
-
Scenario: Viewing resources with a scope but scope_count turned off
|
78
|
-
Given 3 posts exist
|
79
|
-
And an index configuration of:
|
80
|
-
"""
|
81
|
-
ActiveAdmin.register Post do
|
82
|
-
scope :all, default: true
|
83
|
-
index as: :table, scope_count: false
|
84
|
-
end
|
85
|
-
"""
|
86
|
-
Then I should see the scope "All" selected
|
87
|
-
And I should see the scope "All" with no count
|
88
|
-
And I should see 3 posts in the table
|
89
|
-
|
90
|
-
@scope
|
91
|
-
Scenario: Viewing resources with a scope and scope count turned off for a single scope
|
92
|
-
Given 3 posts exist
|
93
|
-
And an index configuration of:
|
94
|
-
"""
|
95
|
-
ActiveAdmin.register Post do
|
96
|
-
scope :all, default: true, show_count: false
|
97
|
-
end
|
98
|
-
"""
|
99
|
-
Then I should see the scope "All" selected
|
100
|
-
And I should see the scope "All" with no count
|
101
|
-
And I should see 3 posts in the table
|
102
|
-
|
103
|
-
Scenario: Viewing resources when scoping
|
104
|
-
Given 2 posts exist
|
105
|
-
And 3 published posts exist
|
106
|
-
And an index configuration of:
|
107
|
-
"""
|
108
|
-
ActiveAdmin.register Post do
|
109
|
-
scope :all, default: true
|
110
|
-
scope :published do |posts|
|
111
|
-
posts.where("published_date IS NOT NULL")
|
112
|
-
end
|
113
|
-
end
|
114
|
-
"""
|
115
|
-
Then I should see the scope "All" with the count 5
|
116
|
-
And I should see 5 posts in the table
|
117
|
-
And I should see the scope "Published" with the count 3
|
118
|
-
When I follow "Published"
|
119
|
-
Then I should see the scope "Published" selected
|
120
|
-
Then I should see the current scope with label "Published"
|
121
|
-
And I should see 3 posts in the table
|
122
|
-
|
123
|
-
Scenario: Viewing resources when scoping and filtering
|
124
|
-
Given 2 posts written by "Daft Punk" exist
|
125
|
-
Given 1 published posts written by "Daft Punk" exist
|
126
|
-
|
127
|
-
Given 1 posts written by "Alfred" exist
|
128
|
-
Given 2 published posts written by "Alfred" exist
|
129
|
-
|
130
|
-
And an index configuration of:
|
131
|
-
"""
|
132
|
-
ActiveAdmin.register Post do
|
133
|
-
scope :all, default: true
|
134
|
-
scope :published do |posts|
|
135
|
-
posts.where("published_date IS NOT NULL")
|
136
|
-
end
|
137
|
-
end
|
138
|
-
"""
|
139
|
-
Then I should see the scope "All" with the count 6
|
140
|
-
And I should see the scope "Published" with the count 3
|
141
|
-
And I should see 6 posts in the table
|
142
|
-
|
143
|
-
When I follow "Published"
|
144
|
-
Then I should see the scope "Published" selected
|
145
|
-
And I should see the current scope with label "Published"
|
146
|
-
And I should see the scope "All" with the count 6
|
147
|
-
And I should see the scope "Published" with the count 3
|
148
|
-
And I should see 3 posts in the table
|
149
|
-
|
150
|
-
When I select "Daft Punk" from "Author"
|
151
|
-
And I press "Filter"
|
152
|
-
|
153
|
-
Then I should see the scope "Published" selected
|
154
|
-
And I should see the scope "All" with the count 3
|
155
|
-
And I should see the scope "Published" with the count 1
|
156
|
-
And I should see 1 posts in the table
|
157
|
-
|
158
|
-
Scenario: Viewing resources with optional scopes
|
159
|
-
Given 3 posts exist
|
160
|
-
And an index configuration of:
|
161
|
-
"""
|
162
|
-
ActiveAdmin.register Post do
|
163
|
-
scope :all, if: proc { false }
|
164
|
-
scope "Shown", if: proc { true } do |posts|
|
165
|
-
posts
|
166
|
-
end
|
167
|
-
scope "Default", default: true do |posts|
|
168
|
-
posts
|
169
|
-
end
|
170
|
-
scope 'Today', if: proc { false } do |posts|
|
171
|
-
posts.where(["created_at > ? AND created_at < ?", ::Time.zone.now.beginning_of_day, ::Time.zone.now.end_of_day])
|
172
|
-
end
|
173
|
-
end
|
174
|
-
"""
|
175
|
-
Then I should see the scope "Default" selected
|
176
|
-
And I should not see the scope "All"
|
177
|
-
And I should not see the scope "Today"
|
178
|
-
And I should see the scope "Shown"
|
179
|
-
And I should see the scope "Default" with the count 3
|
180
|
-
|
181
|
-
Scenario: Viewing resources with multiple scopes as blocks
|
182
|
-
Given 3 posts exist
|
183
|
-
And an index configuration of:
|
184
|
-
"""
|
185
|
-
ActiveAdmin.register Post do
|
186
|
-
scope 'Today', default: true do |posts|
|
187
|
-
posts.where(["created_at > ? AND created_at < ?", ::Time.zone.now.beginning_of_day, ::Time.zone.now.end_of_day])
|
188
|
-
end
|
189
|
-
scope 'Tomorrow' do |posts|
|
190
|
-
posts.where(["created_at > ? AND created_at < ?", ::Time.zone.now.beginning_of_day + 1.day, ::Time.zone.now.end_of_day + 1.day])
|
191
|
-
end
|
192
|
-
end
|
193
|
-
"""
|
194
|
-
Then I should see the scope "Today" selected
|
195
|
-
And I should see the scope "Tomorrow" not selected
|
196
|
-
And I should see the scope "Today" with the count 3
|
197
|
-
And I should see the scope "Tomorrow" with the count 0
|
198
|
-
And I should see 3 posts in the table
|
199
|
-
And I should see a link to "Tomorrow"
|
200
|
-
|
201
|
-
When I follow "Tomorrow"
|
202
|
-
Then I should see the scope "Tomorrow" selected
|
203
|
-
And I should see the scope "Today" not selected
|
204
|
-
And I should see a link to "Today"
|
205
|
-
And I should see the current scope with label "Tomorrow"
|
206
|
-
|
207
|
-
Scenario: Viewing resources with scopes when scoping to user
|
208
|
-
Given 2 posts written by "Daft Punk" exist
|
209
|
-
And a post with the title "Monkey Wrench" written by "Foo Fighters" exists
|
210
|
-
And a post with the title "Everlong" written by "Foo Fighters" exists
|
211
|
-
And an index configuration of:
|
212
|
-
"""
|
213
|
-
ActiveAdmin.register Post do
|
214
|
-
scope_to :current_user
|
215
|
-
scope :all, default: true
|
216
|
-
|
217
|
-
filter :title
|
218
|
-
|
219
|
-
controller do
|
220
|
-
def current_user
|
221
|
-
User.find_by_username('foo_fighters')
|
222
|
-
end
|
223
|
-
end
|
224
|
-
end
|
225
|
-
"""
|
226
|
-
Then I should see the scope "All" selected
|
227
|
-
And I should see the scope "All" with the count 2
|
228
|
-
When I fill in "Title" with "Monkey"
|
229
|
-
And I press "Filter"
|
230
|
-
Then I should see the scope "All" selected
|
231
|
-
And I should see the scope "All" with the count 1
|
232
|
-
|
233
|
-
Scenario: Viewing resources when scoping and filtering and group bys and stuff
|
234
|
-
Given 2 posts written by "Daft Punk" exist
|
235
|
-
Given 1 published posts written by "Daft Punk" exist
|
236
|
-
|
237
|
-
Given 1 posts written by "Alfred" exist
|
238
|
-
|
239
|
-
And an index configuration of:
|
240
|
-
"""
|
241
|
-
ActiveAdmin.register Post do
|
242
|
-
scope :all, default: true
|
243
|
-
scope :published do |posts|
|
244
|
-
posts.where("published_date IS NOT NULL")
|
245
|
-
end
|
246
|
-
scope :single do |posts|
|
247
|
-
posts.page(1).per(1)
|
248
|
-
end
|
249
|
-
|
250
|
-
index do
|
251
|
-
column :author_id
|
252
|
-
column :count
|
253
|
-
end
|
254
|
-
|
255
|
-
config.sort_order = "author_id_asc"
|
256
|
-
|
257
|
-
controller do
|
258
|
-
def scoped_collection
|
259
|
-
Post.select("author_id, count(*) as count").group("author_id")
|
260
|
-
end
|
261
|
-
end
|
262
|
-
end
|
263
|
-
"""
|
264
|
-
Then I should see the scope "All" with the count 2
|
265
|
-
And I should see the scope "Published" with the count 1
|
266
|
-
And I should see the scope "Single" with the count 1
|
267
|
-
And I should see 2 posts in the table
|
268
|
-
|
269
|
-
When I follow "Single"
|
270
|
-
Then I should see 1 posts in the table
|
271
|
-
|
272
|
-
When I follow "Published"
|
273
|
-
Then I should see the scope "Published" selected
|
274
|
-
And I should see the scope "All" with the count 2
|
275
|
-
And I should see the scope "Published" with the count 1
|
276
|
-
And I should see 1 posts in the table
|
277
|
-
|
278
|
-
When I select "Daft Punk" from "Author"
|
279
|
-
And I press "Filter"
|
280
|
-
|
281
|
-
Then I should see the scope "Published" selected
|
282
|
-
And I should see the scope "All" with the count 1
|
283
|
-
And I should see the scope "Published" with the count 1
|
284
|
-
And I should see 1 posts in the table
|
285
|
-
And I should see the current scope with label "Published"
|