yousty-activeadmin 1.0.4.pre → 1.0.5.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +261 -211
- data/CONTRIBUTING.md +73 -39
- data/Gemfile +38 -20
- data/Guardfile +1 -0
- data/LICENSE +1 -1
- data/README.md +48 -24
- data/Rakefile +12 -4
- data/activeadmin.gemspec +21 -26
- data/app/assets/javascripts/active_admin/application.js.coffee +34 -5
- data/app/assets/javascripts/active_admin/base.js.coffee +11 -2
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +39 -0
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +3 -4
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +51 -55
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +37 -0
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +27 -0
- data/app/assets/javascripts/active_admin/lib/popover.js.coffee +29 -58
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +2 -3
- data/app/assets/stylesheets/active_admin/{_base.css.scss → _base.scss} +3 -0
- data/app/assets/stylesheets/active_admin/{_forms.css.scss → _forms.scss} +51 -15
- data/app/assets/stylesheets/active_admin/{_header.css.scss → _header.scss} +9 -5
- data/app/assets/stylesheets/active_admin/{_mixins.css.scss → _mixins.scss} +0 -0
- data/app/assets/stylesheets/active_admin/{_typography.css.scss → _typography.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/{_comments.css.scss → _comments.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/{_date_picker.css.scss → _date_picker.scss} +40 -12
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +3 -1
- data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
- data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +10 -0
- data/app/assets/stylesheets/active_admin/components/{_popovers.css.scss → _popovers.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +4 -0
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
- data/app/assets/stylesheets/active_admin/components/{_tables.css.scss → _tables.scss} +1 -0
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
- data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
- data/app/assets/stylesheets/active_admin/mixins/{_all.css.scss → _all.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_buttons.css.scss → _buttons.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_gradients.css.scss → _gradients.scss} +1 -1
- data/app/assets/stylesheets/active_admin/mixins/{_icons.css.scss → _icons.scss} +1 -2
- data/app/assets/stylesheets/active_admin/mixins/{_reset.css.scss → _reset.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_rounded.css.scss → _rounded.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_sections.css.scss → _sections.scss} +7 -1
- data/app/assets/stylesheets/active_admin/mixins/{_shadows.css.scss → _shadows.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_variables.css.scss → _variables.scss} +10 -8
- data/app/assets/stylesheets/active_admin/{print.css.scss → print.scss} +4 -0
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +10 -7
- data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/edit.html.erb +9 -10
- data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
- data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
- data/app/views/active_admin/devise/sessions/new.html.erb +8 -8
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +5 -4
- data/app/views/layouts/active_admin_logged_out.html.erb +3 -5
- data/config/locales/ar.yml +120 -0
- data/config/locales/bg.yml +26 -6
- data/config/locales/bs.yml +122 -0
- data/config/locales/ca.yml +10 -1
- data/config/locales/cs.yml +7 -2
- data/config/locales/da.yml +7 -3
- data/config/locales/de-CH.yml +14 -31
- data/config/locales/de.yml +33 -33
- data/config/locales/el.yml +127 -0
- data/config/locales/en-GB.yml +11 -4
- data/config/locales/en.yml +21 -4
- data/config/locales/{es_MX.yml → es-MX.yml} +14 -24
- data/config/locales/es.yml +32 -25
- data/config/locales/fa.yml +120 -0
- data/config/locales/fi.yml +9 -5
- data/config/locales/fr.yml +28 -12
- data/config/locales/he.yml +7 -3
- data/config/locales/hr.yml +42 -11
- data/config/locales/hu.yml +10 -3
- data/config/locales/it.yml +31 -3
- data/config/locales/ja.yml +17 -4
- data/config/locales/ko.yml +7 -1
- data/config/locales/lt.yml +42 -11
- data/config/locales/lv.yml +7 -3
- data/config/locales/{no-NB.yml → nb.yml} +46 -15
- data/config/locales/nl.yml +36 -5
- data/config/locales/pl.yml +13 -8
- data/config/locales/pt-BR.yml +36 -5
- data/config/locales/pt-PT.yml +8 -4
- data/config/locales/ro.yml +7 -3
- data/config/locales/ru.yml +26 -5
- data/config/locales/sv-SE.yml +9 -5
- data/config/locales/tr.yml +10 -3
- data/config/locales/uk.yml +36 -12
- data/config/locales/vi.yml +7 -3
- data/config/locales/zh-CN.yml +26 -10
- data/config/locales/zh-TW.yml +19 -13
- data/docs/0-installation.md +14 -6
- data/docs/1-general-configuration.md +8 -5
- data/docs/10-custom-pages.md +68 -70
- data/docs/11-decorators.md +48 -59
- data/docs/12-arbre-components.md +79 -73
- data/docs/13-authorization-adapter.md +128 -107
- data/docs/14-gotchas.md +90 -0
- data/docs/2-resource-customization.md +82 -15
- data/docs/3-index-pages.md +71 -12
- data/docs/3-index-pages/custom-index.md +31 -0
- data/docs/3-index-pages/index-as-table.md +45 -2
- data/docs/4-csv-format.md +1 -1
- data/docs/5-forms.md +78 -29
- data/docs/6-show-pages.md +31 -3
- data/docs/7-sidebars.md +46 -25
- data/docs/8-custom-actions.md +98 -77
- data/docs/9-batch-actions.md +211 -133
- data/docs/README.md +24 -0
- data/features/action_item.feature +3 -3
- data/features/authorization_pundit.feature +37 -0
- data/features/belongs_to.feature +3 -0
- data/features/breadcrumb.feature +48 -0
- data/features/comments/commenting.feature +44 -13
- data/features/development_reloading.feature +3 -4
- data/features/edit_page.feature +9 -19
- data/features/favicon.feature +3 -3
- data/features/i18n.feature +5 -0
- data/features/index/batch_actions.feature +41 -0
- data/features/index/filters.feature +23 -0
- data/features/index/format_as_csv.feature +90 -4
- data/features/index/index_as_blog.feature +4 -4
- data/features/index/index_as_table.feature +102 -6
- data/features/index/index_blank_slate.feature +22 -0
- data/features/index/index_scope_to.feature +16 -16
- data/features/index/page_title.feature +11 -0
- data/features/index/pagination.feature +1 -1
- data/features/index/switch_index_view.feature +14 -14
- data/features/new_page.feature +10 -20
- data/features/registering_pages.feature +1 -1
- data/features/renamed_resource.feature +32 -0
- data/features/show/page_title.feature +11 -0
- data/features/show/tabs.feature +27 -0
- data/features/sidebar_sections.feature +12 -0
- data/features/specifying_actions.feature +3 -3
- data/features/step_definitions/action_item_steps.rb +2 -2
- data/features/step_definitions/action_link_steps.rb +14 -1
- data/features/step_definitions/additional_web_steps.rb +17 -18
- data/features/step_definitions/asset_steps.rb +3 -3
- data/features/step_definitions/attribute_steps.rb +8 -3
- data/features/step_definitions/batch_action_steps.rb +26 -9
- data/features/step_definitions/blog_steps.rb +3 -0
- data/features/step_definitions/breadcrumb_steps.rb +1 -1
- data/features/step_definitions/comment_steps.rb +1 -1
- data/features/step_definitions/configuration_steps.rb +1 -1
- data/features/step_definitions/dashboard_steps.rb +2 -2
- data/features/step_definitions/factory_steps.rb +6 -6
- data/features/step_definitions/filter_steps.rb +25 -3
- data/features/step_definitions/flash_steps.rb +3 -3
- data/features/step_definitions/format_steps.rb +17 -10
- data/features/step_definitions/index_scope_steps.rb +5 -5
- data/features/step_definitions/layout_steps.rb +1 -1
- data/features/step_definitions/member_link_steps.rb +2 -2
- data/features/step_definitions/menu_steps.rb +3 -3
- data/features/step_definitions/pagination_steps.rb +2 -3
- data/features/step_definitions/sidebar_steps.rb +8 -3
- data/features/step_definitions/site_title_steps.rb +6 -4
- data/features/step_definitions/symbol_leak_steps.rb +1 -1
- data/features/step_definitions/tab_steps.rb +5 -0
- data/features/step_definitions/table_steps.rb +4 -4
- data/features/step_definitions/user_steps.rb +15 -9
- data/features/step_definitions/web_steps.rb +10 -11
- data/features/sti_resource.feature +2 -10
- data/features/strong_parameters.feature +73 -0
- data/features/support/env.rb +35 -2
- data/features/support/paths.rb +2 -2
- data/features/support/selectors.rb +1 -1
- data/features/users/resetting_password.feature +7 -7
- data/lib/active_admin.rb +18 -13
- data/lib/active_admin/abstract_view_factory.rb +7 -17
- data/lib/active_admin/application.rb +50 -25
- data/lib/active_admin/asset_registration.rb +2 -2
- data/lib/active_admin/authorization_adapter.rb +2 -2
- data/lib/active_admin/base_controller.rb +2 -3
- data/lib/active_admin/base_controller/authorization.rb +13 -31
- data/lib/active_admin/batch_actions.rb +1 -1
- data/lib/active_admin/batch_actions/controller.rb +13 -7
- data/lib/active_admin/batch_actions/resource_extension.rb +43 -17
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +7 -4
- data/lib/active_admin/batch_actions/views/batch_action_popover.rb +3 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -17
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -4
- data/lib/active_admin/callbacks.rb +25 -24
- data/lib/active_admin/cancan_adapter.rb +7 -11
- data/lib/active_admin/csv_builder.rb +92 -15
- data/lib/active_admin/dependency.rb +93 -0
- data/lib/active_admin/deprecation.rb +6 -7
- data/lib/active_admin/devise.rb +26 -14
- data/lib/active_admin/dsl.rb +18 -11
- data/lib/active_admin/engine.rb +7 -2
- data/lib/active_admin/error.rb +59 -0
- data/lib/active_admin/filters/dsl.rb +2 -2
- data/lib/active_admin/filters/forms.rb +19 -30
- data/lib/active_admin/filters/formtastic_addons.rb +20 -11
- data/lib/active_admin/filters/resource_extension.rb +16 -9
- data/lib/active_admin/form_builder.rb +94 -105
- data/lib/active_admin/helpers/collection.rb +7 -13
- data/lib/active_admin/helpers/i18n.rb +7 -0
- data/lib/active_admin/helpers/optional_display.rb +5 -5
- data/lib/active_admin/helpers/scope_chain.rb +1 -1
- data/lib/active_admin/helpers/settings.rb +16 -9
- data/lib/active_admin/iconic.rb +17 -15
- data/lib/active_admin/iconic/icons.rb +136 -136
- data/lib/active_admin/inputs.rb +11 -7
- data/lib/active_admin/inputs/datepicker_input.rb +1 -1
- data/lib/active_admin/inputs/filters/base.rb +42 -0
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
- data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +36 -0
- data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
- data/lib/active_admin/inputs/filters/select_input.rb +54 -0
- data/lib/active_admin/inputs/filters/string_input.rb +26 -0
- data/lib/active_admin/menu.rb +3 -3
- data/lib/active_admin/menu_collection.rb +1 -4
- data/lib/active_admin/namespace.rb +52 -29
- data/lib/active_admin/order_clause.rb +26 -0
- data/lib/active_admin/orm/active_record.rb +2 -0
- data/lib/active_admin/orm/active_record/comments.rb +48 -51
- data/lib/active_admin/orm/active_record/comments/comment.rb +16 -10
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +15 -13
- data/lib/active_admin/page.rb +5 -1
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/page_presenter.rb +2 -2
- data/lib/active_admin/pundit_adapter.rb +68 -0
- data/lib/active_admin/resource.rb +12 -3
- data/lib/active_admin/resource/action_items.rb +15 -8
- data/lib/active_admin/resource/belongs_to.rb +7 -3
- data/lib/active_admin/resource/controllers.rb +1 -0
- data/lib/active_admin/resource/includes.rb +12 -0
- data/lib/active_admin/resource/menu.rb +5 -5
- data/lib/active_admin/resource/naming.rb +25 -47
- data/lib/active_admin/resource/page_presenters.rb +1 -1
- data/lib/active_admin/resource/routes.rb +26 -10
- data/lib/active_admin/resource/scope_to.rb +7 -7
- data/lib/active_admin/resource/sidebars.rb +1 -0
- data/lib/active_admin/resource_collection.rb +44 -16
- data/lib/active_admin/resource_controller.rb +6 -5
- data/lib/active_admin/resource_controller/data_access.rb +87 -82
- data/lib/active_admin/resource_controller/decorators.rb +91 -9
- data/lib/active_admin/resource_controller/streaming.rb +37 -0
- data/lib/active_admin/resource_dsl.rb +54 -10
- data/lib/active_admin/router.rb +7 -7
- data/lib/active_admin/scope.rb +6 -6
- data/lib/active_admin/sidebar_section.rb +10 -2
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +17 -16
- data/lib/active_admin/view_helpers.rb +0 -1
- data/lib/active_admin/view_helpers/auto_link_helper.rb +23 -12
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +13 -6
- data/lib/active_admin/view_helpers/display_helper.rb +30 -17
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +21 -24
- data/lib/active_admin/view_helpers/fields_for.rb +2 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +4 -3
- data/lib/active_admin/view_helpers/form_helper.rb +5 -9
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +6 -6
- data/lib/active_admin/views/action_items.rb +2 -2
- data/lib/active_admin/views/components/action_list_popover.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +123 -0
- data/lib/active_admin/views/components/attributes_table.rb +22 -13
- data/lib/active_admin/views/components/blank_slate.rb +1 -1
- data/lib/active_admin/views/components/columns.rb +13 -7
- data/lib/active_admin/views/components/dropdown_menu.rb +6 -6
- data/lib/active_admin/views/components/index_list.rb +7 -7
- data/lib/active_admin/views/components/paginated_collection.rb +33 -17
- data/lib/active_admin/views/components/panel.rb +8 -2
- data/lib/active_admin/views/components/popover.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +1 -1
- data/lib/active_admin/views/components/sidebar_section.rb +3 -2
- data/lib/active_admin/views/components/site_title.rb +2 -2
- data/lib/active_admin/views/components/status_tag.rb +34 -11
- data/lib/active_admin/views/components/table_for.rb +67 -22
- data/lib/active_admin/views/components/tabs.rb +28 -0
- data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
- data/lib/active_admin/views/footer.rb +3 -3
- data/lib/active_admin/views/header.rb +3 -3
- data/lib/active_admin/views/index_as_blog.rb +6 -6
- data/lib/active_admin/views/index_as_grid.rb +2 -2
- data/lib/active_admin/views/index_as_table.rb +127 -40
- data/lib/active_admin/views/pages/base.rb +22 -18
- data/lib/active_admin/views/pages/form.rb +16 -6
- data/lib/active_admin/views/pages/index.rb +36 -20
- data/lib/active_admin/views/pages/layout.rb +1 -1
- data/lib/active_admin/views/pages/show.rb +4 -4
- data/lib/active_admin/views/tabbed_navigation.rb +7 -3
- data/lib/active_admin/views/title_bar.rb +10 -8
- data/lib/generators/active_admin/assets/assets_generator.rb +1 -3
- data/lib/generators/active_admin/devise/devise_generator.rb +20 -28
- data/lib/generators/active_admin/install/install_generator.rb +8 -9
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -22
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +12 -9
- data/lib/generators/active_admin/install/templates/dashboard.rb +4 -4
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +3 -3
- data/lib/generators/active_admin/page/USAGE +8 -0
- data/lib/generators/active_admin/page/page_generator.rb +12 -0
- data/lib/generators/active_admin/page/templates/page.rb +5 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +2 -4
- data/lib/generators/active_admin/resource/templates/admin.rb +15 -0
- data/lib/ransack_ext.rb +4 -4
- data/script/local +2 -2
- data/script/travis_cache +107 -0
- data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
- data/spec/javascripts/fixtures/flashes.html +2 -0
- data/spec/rails_helper.rb +154 -0
- data/spec/{integration → requests}/default_namespace_spec.rb +6 -6
- data/spec/{integration → requests}/javascript_spec.rb +5 -5
- data/spec/requests/memory_spec.rb +23 -0
- data/spec/requests/stylesheets_spec.rb +18 -0
- data/spec/spec_helper.rb +12 -170
- data/spec/support/detect_rails_version.rb +31 -39
- data/spec/support/rails_template.rb +61 -34
- data/spec/support/rails_template_with_data.rb +14 -14
- data/spec/support/templates/admin/stores.rb +3 -5
- data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
- data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
- data/spec/support/templates/policies/admin_user_policy.rb +11 -0
- data/spec/support/templates/policies/application_policy.rb +45 -0
- data/spec/support/templates/policies/category_policy.rb +7 -0
- data/spec/support/templates/policies/post_policy.rb +15 -0
- data/spec/support/templates/policies/store_policy.rb +11 -0
- data/spec/support/templates/policies/user_policy.rb +11 -0
- data/spec/support/templates/post_decorator.rb +4 -46
- data/spec/unit/abstract_view_factory_spec.rb +11 -11
- data/spec/unit/action_builder_spec.rb +24 -18
- data/spec/unit/active_admin_spec.rb +2 -2
- data/spec/unit/application_spec.rb +30 -31
- data/spec/unit/asset_registration_spec.rb +11 -11
- data/spec/unit/authorization/authorization_adapter_spec.rb +7 -7
- data/spec/unit/authorization/controller_authorization_spec.rb +11 -11
- data/spec/unit/authorization/index_overriding_spec.rb +22 -0
- data/spec/unit/auto_link_spec.rb +42 -5
- data/spec/unit/batch_actions/resource_spec.rb +15 -14
- data/spec/unit/batch_actions/settings_spec.rb +18 -18
- data/spec/unit/belongs_to_spec.rb +26 -17
- data/spec/unit/cancan_adapter_spec.rb +4 -4
- data/spec/unit/comments_spec.rb +99 -39
- data/spec/unit/component_spec.rb +3 -3
- data/spec/unit/config_shared_examples.rb +8 -8
- data/spec/unit/controller_filters_spec.rb +26 -14
- data/spec/unit/csv_builder_spec.rb +152 -24
- data/spec/unit/dependency_spec.rb +135 -0
- data/spec/unit/devise_spec.rb +17 -37
- data/spec/unit/dsl_spec.rb +70 -9
- data/spec/unit/event_spec.rb +9 -9
- data/spec/unit/filters/filter_form_builder_spec.rb +167 -157
- data/spec/unit/filters/resource_spec.rb +35 -33
- data/spec/unit/form_builder_spec.rb +383 -145
- data/spec/unit/generators/install_spec.rb +5 -5
- data/spec/unit/helpers/collection_spec.rb +18 -18
- data/spec/unit/helpers/scope_chain_spec.rb +5 -5
- data/spec/unit/helpers/settings_spec.rb +4 -4
- data/spec/unit/i18n_spec.rb +12 -0
- data/spec/unit/menu_collection_spec.rb +14 -14
- data/spec/unit/menu_item_spec.rb +42 -42
- data/spec/unit/menu_spec.rb +20 -20
- data/spec/unit/namespace/authorization_spec.rb +5 -5
- data/spec/unit/namespace/register_page_spec.rb +9 -9
- data/spec/unit/namespace/register_resource_spec.rb +26 -28
- data/spec/unit/namespace_spec.rb +20 -20
- data/spec/unit/order_clause_spec.rb +81 -0
- data/spec/unit/page_controller_spec.rb +1 -1
- data/spec/unit/page_spec.rb +18 -12
- data/spec/unit/pretty_format_spec.rb +42 -14
- data/spec/unit/pundit_adapter_spec.rb +98 -0
- data/spec/unit/resource/action_items_spec.rb +13 -10
- data/spec/unit/resource/includes_spec.rb +21 -0
- data/spec/unit/resource/menu_spec.rb +1 -1
- data/spec/unit/resource/naming_spec.rb +23 -23
- data/spec/unit/resource/page_presenters_spec.rb +8 -8
- data/spec/unit/resource/pagination_spec.rb +6 -6
- data/spec/unit/resource/routes_spec.rb +10 -10
- data/spec/unit/resource/scopes_spec.rb +14 -7
- data/spec/unit/resource/sidebars_spec.rb +6 -6
- data/spec/unit/resource_collection_spec.rb +66 -68
- data/spec/unit/resource_controller/data_access_spec.rb +39 -21
- data/spec/unit/resource_controller/decorators_spec.rb +83 -0
- data/spec/unit/resource_controller/sidebars_spec.rb +7 -8
- data/spec/unit/resource_controller_spec.rb +66 -62
- data/spec/unit/resource_registration_spec.rb +12 -12
- data/spec/unit/resource_spec.rb +75 -40
- data/spec/unit/routing_spec.rb +39 -31
- data/spec/unit/scope_spec.rb +112 -30
- data/spec/unit/settings_spec.rb +51 -21
- data/spec/unit/view_factory_spec.rb +2 -2
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +137 -69
- data/spec/unit/view_helpers/display_name_spec.rb +49 -21
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +5 -5
- data/spec/unit/view_helpers/fields_for_spec.rb +18 -18
- data/spec/unit/view_helpers/flash_helper_spec.rb +25 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +9 -22
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +59 -21
- data/spec/unit/views/components/action_list_popover_spec.rb +16 -6
- data/spec/unit/views/components/attributes_table_spec.rb +94 -52
- data/spec/unit/views/components/batch_action_popover_spec.rb +20 -6
- data/spec/unit/views/components/blank_slate_spec.rb +14 -4
- data/spec/unit/views/components/columns_spec.rb +52 -22
- data/spec/unit/views/components/index_list_spec.rb +11 -8
- data/spec/unit/views/components/index_table_for_spec.rb +46 -0
- data/spec/unit/views/components/paginated_collection_spec.rb +68 -59
- data/spec/unit/views/components/panel_spec.rb +32 -21
- data/spec/unit/views/components/popover_spec.rb +7 -7
- data/spec/unit/views/components/sidebar_section_spec.rb +18 -8
- data/spec/unit/views/components/site_title_spec.rb +8 -8
- data/spec/unit/views/components/status_tag_spec.rb +178 -38
- data/spec/unit/views/components/table_for_spec.rb +227 -44
- data/spec/unit/views/components/tabs_spec.rb +39 -0
- data/spec/unit/views/components/unsupported_browser_spec.rb +47 -0
- data/spec/unit/views/pages/form_spec.rb +17 -10
- data/spec/unit/views/pages/index_spec.rb +60 -0
- data/spec/unit/views/pages/layout_spec.rb +17 -21
- data/spec/unit/views/pages/show_spec.rb +16 -3
- data/spec/unit/views/tabbed_navigation_spec.rb +61 -52
- data/tasks/docs.rake +1 -1
- data/tasks/parallel_tests.rake +8 -2
- data/tasks/test.rake +8 -4
- data/tasks/yard.rake +7 -5
- metadata +180 -101
- data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
- data/app/assets/images/active_admin/index_list_icons/block_icon.svg +0 -10
- data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +0 -4
- data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +0 -13
- data/app/assets/images/active_admin/index_list_icons/table_icon.svg +0 -3
- data/app/assets/images/active_admin/loading.gif +0 -0
- data/app/assets/javascripts/active_admin/components/application.js.coffee +0 -23
- data/app/assets/javascripts/active_admin/components/batch_actions.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/components/has_many.js.coffee +0 -41
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +0 -11
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +0 -39
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +0 -95
- data/app/views/active_admin/dashboard/index.html.arb +0 -1
- data/app/views/active_admin/resource/index.csv.erb +0 -17
- data/docs/3-index-pages/create-an-index.md +0 -29
- data/lib/active_admin/inputs/filter_base.rb +0 -33
- data/lib/active_admin/inputs/filter_base/search_method_select.rb +0 -73
- data/lib/active_admin/inputs/filter_boolean_input.rb +0 -32
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +0 -51
- data/lib/active_admin/inputs/filter_date_range_input.rb +0 -34
- data/lib/active_admin/inputs/filter_numeric_input.rb +0 -10
- data/lib/active_admin/inputs/filter_select_input.rb +0 -61
- data/lib/active_admin/inputs/filter_string_input.rb +0 -24
- data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +0 -7
- data/spec/integration/memory_spec.rb +0 -29
- data/spec/integration/stylesheets_spec.rb +0 -41
- data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +0 -60
- data/spec/javascripts/compiled/jquery.aa.popover-spec.js +0 -106
- data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +0 -37
- data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +0 -108
- data/spec/javascripts/helpers/vendor/jasmine-jquery.js +0 -288
- data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +0 -2915
- data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +0 -34
- data/spec/javascripts/support/jquery.min.js +0 -4
- data/spec/spec_helper_without_rails.rb +0 -16
- data/tasks/js.rake +0 -32
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_helper'
|
|
2
2
|
|
|
3
3
|
describe ActiveAdmin::Resource, "authorization" do
|
|
4
4
|
|
|
@@ -9,18 +9,18 @@ describe ActiveAdmin::Resource, "authorization" do
|
|
|
9
9
|
describe "authorization_adapter" do
|
|
10
10
|
|
|
11
11
|
it "should return AuthorizationAdapter by default" do
|
|
12
|
-
app.authorization_adapter.
|
|
13
|
-
namespace.authorization_adapter.
|
|
12
|
+
expect(app.authorization_adapter).to eq ActiveAdmin::AuthorizationAdapter
|
|
13
|
+
expect(namespace.authorization_adapter).to eq ActiveAdmin::AuthorizationAdapter
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
it "should be settable on the namespace" do
|
|
17
17
|
namespace.authorization_adapter = auth
|
|
18
|
-
namespace.authorization_adapter.
|
|
18
|
+
expect(namespace.authorization_adapter).to eq auth
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
it "should be settable on the application" do
|
|
22
22
|
app.authorization_adapter = auth
|
|
23
|
-
app.authorization_adapter.
|
|
23
|
+
expect(app.authorization_adapter).to eq auth
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_helper'
|
|
2
2
|
|
|
3
3
|
describe ActiveAdmin::Namespace, "registering a page" do
|
|
4
4
|
|
|
@@ -13,15 +13,15 @@ describe ActiveAdmin::Namespace, "registering a page" do
|
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
it "should store the namespaced registered configuration" do
|
|
16
|
-
namespace.resources.keys.
|
|
16
|
+
expect(namespace.resources.keys).to include('Status')
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
it "should create a new controller in the default namespace" do
|
|
20
|
-
defined?(Admin::StatusController).
|
|
20
|
+
expect(defined?(Admin::StatusController)).to be_truthy
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
it "should create a menu item" do
|
|
24
|
-
menu["Status"].
|
|
24
|
+
expect(menu["Status"]).to be_an_instance_of(ActiveAdmin::MenuItem)
|
|
25
25
|
end
|
|
26
26
|
end # context "with no configuration"
|
|
27
27
|
|
|
@@ -42,21 +42,21 @@ describe ActiveAdmin::Namespace, "registering a page" do
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
it "should add a new menu item" do
|
|
45
|
-
menu['Status'].
|
|
45
|
+
expect(menu['Status']).to_not be_nil
|
|
46
46
|
end
|
|
47
47
|
end # describe "adding as a top level item"
|
|
48
48
|
|
|
49
49
|
describe "adding as a child" do
|
|
50
50
|
before do
|
|
51
51
|
namespace.register_page "Status" do
|
|
52
|
-
menu :
|
|
52
|
+
menu parent: 'Extra'
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
it "should generate the parent menu item" do
|
|
56
|
-
|
|
56
|
+
expect( menu['Extra']).to_not be_nil
|
|
57
57
|
end
|
|
58
58
|
it "should generate its own child item" do
|
|
59
|
-
menu['Extra']['Status'].
|
|
59
|
+
expect(menu['Extra']['Status']).to_not be_nil
|
|
60
60
|
end
|
|
61
61
|
end # describe "adding as a child"
|
|
62
62
|
|
|
@@ -67,7 +67,7 @@ describe ActiveAdmin::Namespace, "registering a page" do
|
|
|
67
67
|
end
|
|
68
68
|
end
|
|
69
69
|
it "should not create a menu item" do
|
|
70
|
-
menu["Status"].
|
|
70
|
+
expect(menu["Status"]).to be_nil
|
|
71
71
|
end
|
|
72
72
|
end # describe "disabling the menu"
|
|
73
73
|
end # describe "adding to the menu"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_helper'
|
|
2
2
|
|
|
3
3
|
# TODO: refactor this file so it doesn't depend on the Admin namespace in such a broken way.
|
|
4
|
-
# Specifically, the dashboard is already defined
|
|
4
|
+
# Specifically, the dashboard is already defined.
|
|
5
5
|
|
|
6
6
|
describe ActiveAdmin::Namespace, "registering a resource" do
|
|
7
7
|
|
|
@@ -16,17 +16,17 @@ describe ActiveAdmin::Namespace, "registering a resource" do
|
|
|
16
16
|
namespace.register Category
|
|
17
17
|
end
|
|
18
18
|
it "should store the namespaced registered configuration" do
|
|
19
|
-
namespace.resources.keys.
|
|
19
|
+
expect(namespace.resources.keys).to include('Category')
|
|
20
20
|
end
|
|
21
21
|
it "should create a new controller in the default namespace" do
|
|
22
|
-
defined?(Admin::CategoriesController).
|
|
22
|
+
expect(defined?(Admin::CategoriesController)).to be_truthy
|
|
23
23
|
end
|
|
24
|
-
|
|
25
|
-
defined?(Admin::DashboardController).
|
|
24
|
+
skip "should not create the dashboard controller" do
|
|
25
|
+
defined?(Admin::DashboardController).to_not be_truthy
|
|
26
26
|
end
|
|
27
27
|
it "should create a menu item" do
|
|
28
|
-
menu["Categories"].
|
|
29
|
-
menu["Categories"].instance_variable_get(:@url).
|
|
28
|
+
expect(menu["Categories"]).to be_a ActiveAdmin::MenuItem
|
|
29
|
+
expect(menu["Categories"].instance_variable_get(:@url)).to be_a Proc
|
|
30
30
|
end
|
|
31
31
|
end # context "with no configuration"
|
|
32
32
|
|
|
@@ -47,41 +47,39 @@ describe ActiveAdmin::Namespace, "registering a resource" do
|
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
it "should store the namespaced registered configuration" do
|
|
50
|
-
namespace.resources.keys.
|
|
50
|
+
expect(namespace.resources.keys).to include('Mock::Resource')
|
|
51
51
|
end
|
|
52
52
|
it "should create a new controller in the default namespace" do
|
|
53
|
-
defined?(Admin::MockResourcesController).
|
|
53
|
+
expect(defined?(Admin::MockResourcesController)).to be_truthy
|
|
54
54
|
end
|
|
55
55
|
it "should create a menu item" do
|
|
56
|
-
menu["Mock Resources"].
|
|
56
|
+
expect(menu["Mock Resources"]).to be_an_instance_of(ActiveAdmin::MenuItem)
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
it "should use the resource as the model in the controller" do
|
|
60
|
-
Admin::MockResourcesController.resource_class.
|
|
60
|
+
expect(Admin::MockResourcesController.resource_class).to eq Mock::Resource
|
|
61
61
|
end
|
|
62
62
|
end # context "with a resource that's namespaced"
|
|
63
63
|
|
|
64
64
|
describe "finding resource instances" do
|
|
65
|
-
let(:namespace){ ActiveAdmin::Namespace.new(application, :admin) }
|
|
66
|
-
|
|
67
65
|
it "should return the resource when its been registered" do
|
|
68
66
|
post = namespace.register Post
|
|
69
|
-
namespace.resource_for(Post).
|
|
67
|
+
expect(namespace.resource_for(Post)).to eq post
|
|
70
68
|
end
|
|
71
69
|
|
|
72
70
|
it 'should return nil when the resource has not been registered' do
|
|
73
|
-
namespace.resource_for(Post).
|
|
71
|
+
expect(namespace.resource_for(Post)).to eq nil
|
|
74
72
|
end
|
|
75
73
|
|
|
76
74
|
it "should return the parent when the parent class has been registered and the child has not" do
|
|
77
75
|
user = namespace.register User
|
|
78
|
-
namespace.resource_for(Publisher).
|
|
76
|
+
expect(namespace.resource_for(Publisher)).to eq user
|
|
79
77
|
end
|
|
80
78
|
|
|
81
79
|
it "should return the resource if it and it's parent were registered" do
|
|
82
80
|
user = namespace.register User
|
|
83
81
|
publisher = namespace.register Publisher
|
|
84
|
-
namespace.resource_for(Publisher).
|
|
82
|
+
expect(namespace.resource_for(Publisher)).to eq publisher
|
|
85
83
|
end
|
|
86
84
|
end # describe "finding resource instances"
|
|
87
85
|
|
|
@@ -91,21 +89,21 @@ describe ActiveAdmin::Namespace, "registering a resource" do
|
|
|
91
89
|
namespace.register Category
|
|
92
90
|
end
|
|
93
91
|
it "should add a new menu item" do
|
|
94
|
-
menu['Categories'].
|
|
92
|
+
expect(menu['Categories']).to_not be_nil
|
|
95
93
|
end
|
|
96
94
|
end # describe "adding as a top level item"
|
|
97
95
|
|
|
98
96
|
describe "adding as a child" do
|
|
99
97
|
before do
|
|
100
98
|
namespace.register Category do
|
|
101
|
-
menu :
|
|
99
|
+
menu parent: 'Blog'
|
|
102
100
|
end
|
|
103
101
|
end
|
|
104
102
|
it "should generate the parent menu item" do
|
|
105
|
-
menu['Blog'].
|
|
103
|
+
expect(menu['Blog']).to_not be_nil
|
|
106
104
|
end
|
|
107
105
|
it "should generate its own child item" do
|
|
108
|
-
menu['Blog']['Categories'].
|
|
106
|
+
expect(menu['Blog']['Categories']).to_not be_nil
|
|
109
107
|
end
|
|
110
108
|
end # describe "adding as a child"
|
|
111
109
|
|
|
@@ -116,7 +114,7 @@ describe ActiveAdmin::Namespace, "registering a resource" do
|
|
|
116
114
|
end
|
|
117
115
|
end
|
|
118
116
|
it "should not create a menu item" do
|
|
119
|
-
menu["Categories"].
|
|
117
|
+
expect(menu["Categories"]).to be_nil
|
|
120
118
|
end
|
|
121
119
|
end # describe "disabling the menu"
|
|
122
120
|
|
|
@@ -128,17 +126,17 @@ describe ActiveAdmin::Namespace, "registering a resource" do
|
|
|
128
126
|
end
|
|
129
127
|
end
|
|
130
128
|
it "should not show up in the menu" do
|
|
131
|
-
menu["Posts"].
|
|
129
|
+
expect(menu["Posts"]).to be_nil
|
|
132
130
|
end
|
|
133
131
|
end
|
|
134
132
|
context "when optional" do
|
|
135
133
|
before do
|
|
136
134
|
namespace.register Post do
|
|
137
|
-
belongs_to :author, :
|
|
135
|
+
belongs_to :author, optional: true
|
|
138
136
|
end
|
|
139
137
|
end
|
|
140
138
|
it "should show up in the menu" do
|
|
141
|
-
menu["Posts"].
|
|
139
|
+
expect(menu["Posts"]).to_not be_nil
|
|
142
140
|
end
|
|
143
141
|
end
|
|
144
142
|
end
|
|
@@ -149,14 +147,14 @@ describe ActiveAdmin::Namespace, "registering a resource" do
|
|
|
149
147
|
it "should be namespaced" do
|
|
150
148
|
namespace = ActiveAdmin::Namespace.new(application, :one)
|
|
151
149
|
namespace.register Category
|
|
152
|
-
defined?(One::CategoriesController).
|
|
150
|
+
expect(defined?(One::CategoriesController)).to be_truthy
|
|
153
151
|
end
|
|
154
152
|
end
|
|
155
153
|
context "when not namespaced" do
|
|
156
154
|
it "should not be namespaced" do
|
|
157
155
|
namespace = ActiveAdmin::Namespace.new(application, :two)
|
|
158
156
|
namespace.register Category
|
|
159
|
-
defined?(Two::CategoriesController).
|
|
157
|
+
expect(defined?(Two::CategoriesController)).to be_truthy
|
|
160
158
|
end
|
|
161
159
|
end
|
|
162
160
|
end # describe "dashboard controller name"
|
data/spec/unit/namespace_spec.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_helper'
|
|
2
2
|
|
|
3
3
|
describe ActiveAdmin::Namespace do
|
|
4
4
|
|
|
@@ -8,19 +8,19 @@ describe ActiveAdmin::Namespace do
|
|
|
8
8
|
let(:namespace){ ActiveAdmin::Namespace.new(application, :admin) }
|
|
9
9
|
|
|
10
10
|
it "should have an application instance" do
|
|
11
|
-
namespace.application.
|
|
11
|
+
expect(namespace.application).to eq application
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
it "should have a name" do
|
|
15
|
-
namespace.name.
|
|
15
|
+
expect(namespace.name).to eq :admin
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
it "should have no resources" do
|
|
19
|
-
namespace.resources.
|
|
19
|
+
expect(namespace.resources).to be_empty
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
it "should not have any menu item" do
|
|
23
|
-
namespace.fetch_menu(:default).children.
|
|
23
|
+
expect(namespace.fetch_menu(:default).children).to be_empty
|
|
24
24
|
end
|
|
25
25
|
end # context "when new"
|
|
26
26
|
|
|
@@ -29,13 +29,13 @@ describe ActiveAdmin::Namespace do
|
|
|
29
29
|
|
|
30
30
|
it "should inherit the site title from the application" do
|
|
31
31
|
ActiveAdmin::Namespace.setting :site_title, "Not the Same"
|
|
32
|
-
namespace.site_title.
|
|
32
|
+
expect(namespace.site_title).to eq application.site_title
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
it "should be able to override the site title" do
|
|
36
|
-
namespace.site_title.
|
|
36
|
+
expect(namespace.site_title).to eq application.site_title
|
|
37
37
|
namespace.site_title = "My Site Title"
|
|
38
|
-
namespace.site_title.
|
|
38
|
+
expect(namespace.site_title).to_not eq application.site_title
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
@@ -44,11 +44,11 @@ describe ActiveAdmin::Namespace do
|
|
|
44
44
|
let(:namespace){ ActiveAdmin::Namespace.new(application, :admin) }
|
|
45
45
|
|
|
46
46
|
it "returns the menu" do
|
|
47
|
-
namespace.fetch_menu(:default).
|
|
47
|
+
expect(namespace.fetch_menu(:default)).to be_an_instance_of(ActiveAdmin::Menu)
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
it "should have utility nav menu" do
|
|
51
|
-
namespace.fetch_menu(:utility_navigation).
|
|
51
|
+
expect(namespace.fetch_menu(:utility_navigation)).to be_an_instance_of(ActiveAdmin::Menu)
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
it "should raise an exception if the menu doesn't exist" do
|
|
@@ -63,18 +63,18 @@ describe ActiveAdmin::Namespace do
|
|
|
63
63
|
|
|
64
64
|
it "should set the block as a menu build callback" do
|
|
65
65
|
namespace.build_menu do |menu|
|
|
66
|
-
menu.add :
|
|
66
|
+
menu.add label: "menu item"
|
|
67
67
|
end
|
|
68
68
|
|
|
69
|
-
namespace.fetch_menu(:default)["menu item"].
|
|
69
|
+
expect(namespace.fetch_menu(:default)["menu item"]).to_not be_nil
|
|
70
70
|
end
|
|
71
71
|
|
|
72
72
|
it "should set a block on a custom menu" do
|
|
73
73
|
namespace.build_menu :test do |menu|
|
|
74
|
-
menu.add :
|
|
74
|
+
menu.add label: "menu item"
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
namespace.fetch_menu(:test)["menu item"].
|
|
77
|
+
expect(namespace.fetch_menu(:test)["menu item"]).to_not be_nil
|
|
78
78
|
end
|
|
79
79
|
end
|
|
80
80
|
|
|
@@ -82,20 +82,20 @@ describe ActiveAdmin::Namespace do
|
|
|
82
82
|
let(:namespace){ ActiveAdmin::Namespace.new(application, :admin) }
|
|
83
83
|
let(:menu) do
|
|
84
84
|
namespace.build_menu :utility_navigation do |menu|
|
|
85
|
-
menu.add :
|
|
86
|
-
namespace.add_logout_button_to_menu menu, 1, :
|
|
85
|
+
menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info", html_options: { target: :blank }
|
|
86
|
+
namespace.add_logout_button_to_menu menu, 1, class: "matt"
|
|
87
87
|
end
|
|
88
88
|
namespace.fetch_menu(:utility_navigation)
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
it "should have a logout button to the far left" do
|
|
92
|
-
menu["Logout"].
|
|
93
|
-
menu["Logout"].priority.
|
|
92
|
+
expect(menu["Logout"]).to_not be_nil
|
|
93
|
+
expect(menu["Logout"].priority).to eq 1
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
it "should have a static link with a target of :blank" do
|
|
97
|
-
menu["ActiveAdmin.info"].
|
|
98
|
-
menu["ActiveAdmin.info"].html_options.
|
|
97
|
+
expect(menu["ActiveAdmin.info"]).to_not be_nil
|
|
98
|
+
expect(menu["ActiveAdmin.info"].html_options).to include(target: :blank)
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
describe ActiveAdmin::OrderClause do
|
|
4
|
+
subject { described_class.new clause }
|
|
5
|
+
|
|
6
|
+
let(:application) { ActiveAdmin::Application.new }
|
|
7
|
+
let(:namespace) { ActiveAdmin::Namespace.new application, :admin }
|
|
8
|
+
let(:config) { ActiveAdmin::Resource.new namespace, Post }
|
|
9
|
+
|
|
10
|
+
describe 'id_asc (existing column)' do
|
|
11
|
+
let(:clause) { 'id_asc' }
|
|
12
|
+
|
|
13
|
+
it { is_expected.to be_valid }
|
|
14
|
+
|
|
15
|
+
describe '#field' do
|
|
16
|
+
subject { super().field }
|
|
17
|
+
it { is_expected.to eq('id') }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
describe '#order' do
|
|
21
|
+
subject { super().order }
|
|
22
|
+
it { is_expected.to eq('asc') }
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
specify '#to_sql prepends table name' do
|
|
26
|
+
expect(subject.to_sql(config)).to eq '"posts"."id" asc'
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'virtual_column_asc' do
|
|
31
|
+
let(:clause) { 'virtual_column_asc' }
|
|
32
|
+
|
|
33
|
+
it { is_expected.to be_valid }
|
|
34
|
+
|
|
35
|
+
describe '#field' do
|
|
36
|
+
subject { super().field }
|
|
37
|
+
it { is_expected.to eq('virtual_column') }
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe '#order' do
|
|
41
|
+
subject { super().order }
|
|
42
|
+
it { is_expected.to eq('asc') }
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
specify '#to_sql' do
|
|
46
|
+
expect(subject.to_sql(config)).to eq '"virtual_column" asc'
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
describe "hstore_col->'field'_desc" do
|
|
51
|
+
let(:clause) { "hstore_col->'field'_desc" }
|
|
52
|
+
|
|
53
|
+
it { is_expected.to be_valid }
|
|
54
|
+
|
|
55
|
+
describe '#field' do
|
|
56
|
+
subject { super().field }
|
|
57
|
+
it { is_expected.to eq("hstore_col->'field'") }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe '#order' do
|
|
61
|
+
subject { super().order }
|
|
62
|
+
it { is_expected.to eq('desc') }
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it 'converts to sql' do
|
|
66
|
+
expect(subject.to_sql(config)).to eq %Q("hstore_col"->'field' desc)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
describe '_asc' do
|
|
71
|
+
let(:clause) { '_asc' }
|
|
72
|
+
|
|
73
|
+
it { is_expected.not_to be_valid }
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe 'nil' do
|
|
77
|
+
let(:clause) { nil }
|
|
78
|
+
|
|
79
|
+
it { is_expected.not_to be_valid }
|
|
80
|
+
end
|
|
81
|
+
end
|
data/spec/unit/page_spec.rb
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'rails_helper'
|
|
4
4
|
require File.expand_path('config_shared_examples', File.dirname(__FILE__))
|
|
5
5
|
|
|
6
6
|
module ActiveAdmin
|
|
7
7
|
describe Page do
|
|
8
8
|
|
|
9
|
-
it_should_behave_like "ActiveAdmin::
|
|
9
|
+
it_should_behave_like "ActiveAdmin::Resource"
|
|
10
10
|
before { load_defaults! }
|
|
11
11
|
|
|
12
12
|
let(:application){ ActiveAdmin::Application.new }
|
|
@@ -18,54 +18,60 @@ module ActiveAdmin
|
|
|
18
18
|
|
|
19
19
|
describe "controller name" do
|
|
20
20
|
it "should return a namespaced controller name" do
|
|
21
|
-
config.controller_name.
|
|
21
|
+
expect(config.controller_name).to eq "Admin::ChocolateILoveYouController"
|
|
22
22
|
end
|
|
23
23
|
context "when non namespaced controller" do
|
|
24
24
|
let(:namespace){ ActiveAdmin::Namespace.new(application, :root) }
|
|
25
25
|
it "should return a non namespaced controller name" do
|
|
26
|
-
config.controller_name.
|
|
26
|
+
expect(config.controller_name).to eq "ChocolateILoveYouController"
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
describe "#resource_name" do
|
|
32
32
|
it "returns the name" do
|
|
33
|
-
config.resource_name.
|
|
33
|
+
expect(config.resource_name).to eq "Chocolate I lØve You!"
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
it "returns the singular, lowercase name" do
|
|
37
|
-
config.resource_name.singular.
|
|
37
|
+
expect(config.resource_name.singular).to eq "chocolate i lØve you!"
|
|
38
38
|
end
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
describe "#plural_resource_label" do
|
|
42
42
|
it "returns the singular name" do
|
|
43
|
-
config.plural_resource_label.
|
|
43
|
+
expect(config.plural_resource_label).to eq "Chocolate I lØve You!"
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
describe "#underscored_resource_name" do
|
|
48
48
|
it "returns the resource name underscored" do
|
|
49
|
-
config.underscored_resource_name.
|
|
49
|
+
expect(config.underscored_resource_name).to eq "chocolate_i_love_you"
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
describe "#camelized_resource_name" do
|
|
54
54
|
it "returns the resource name camel case" do
|
|
55
|
-
config.camelized_resource_name.
|
|
55
|
+
expect(config.camelized_resource_name).to eq "ChocolateILoveYou"
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
describe "#namespace_name" do
|
|
60
|
+
it "returns the name of the namespace" do
|
|
61
|
+
expect(config.namespace_name).to eq "admin"
|
|
56
62
|
end
|
|
57
63
|
end
|
|
58
64
|
|
|
59
65
|
it "should not belong_to anything" do
|
|
60
|
-
config.belongs_to
|
|
66
|
+
expect(config.belongs_to?).to eq false
|
|
61
67
|
end
|
|
62
68
|
|
|
63
69
|
it "should not have any action_items" do
|
|
64
|
-
config.action_items
|
|
70
|
+
expect(config.action_items?).to eq false
|
|
65
71
|
end
|
|
66
72
|
|
|
67
73
|
it "should not have any sidebar_sections" do
|
|
68
|
-
config.sidebar_sections
|
|
74
|
+
expect(config.sidebar_sections?).to eq false
|
|
69
75
|
end
|
|
70
76
|
|
|
71
77
|
end
|