activeadministration 0.0.1
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 +7 -0
- data/.gitignore +47 -0
- data/.travis.yml +19 -0
- data/.yardopts +9 -0
- data/CHANGELOG.md +1074 -0
- data/CONTRIBUTING.md +139 -0
- data/Gemfile +52 -0
- data/Guardfile +7 -0
- data/LICENSE +25 -0
- data/README.md +8 -0
- data/Rakefile +33 -0
- data/activeadministration.gemspec +34 -0
- 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-input-icon.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 +10 -0
- data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +4 -0
- data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +13 -0
- data/app/assets/images/active_admin/index_list_icons/table_icon.svg +3 -0
- data/app/assets/images/active_admin/loading.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/application.js.coffee +30 -0
- data/app/assets/javascripts/active_admin/base.js.coffee +14 -0
- 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 +36 -0
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +85 -0
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +75 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +36 -0
- data/app/assets/javascripts/active_admin/lib/popover.js.coffee +68 -0
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +24 -0
- data/app/assets/stylesheets/active_admin/_base.css.scss +42 -0
- data/app/assets/stylesheets/active_admin/_forms.css.scss +329 -0
- data/app/assets/stylesheets/active_admin/_header.css.scss +156 -0
- data/app/assets/stylesheets/active_admin/_mixins.css.scss +1 -0
- data/app/assets/stylesheets/active_admin/_typography.css.scss +100 -0
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +31 -0
- data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_comments.css.scss +41 -0
- data/app/assets/stylesheets/active_admin/components/_date_picker.css.scss +127 -0
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +151 -0
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +39 -0
- data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
- data/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
- data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
- data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +31 -0
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +34 -0
- data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
- data/app/assets/stylesheets/active_admin/components/_popovers.css.scss +123 -0
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +10 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +16 -0
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +65 -0
- data/app/assets/stylesheets/active_admin/components/_tables.css.scss +111 -0
- data/app/assets/stylesheets/active_admin/mixins/_all.css.scss +11 -0
- data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +66 -0
- data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +38 -0
- data/app/assets/stylesheets/active_admin/mixins/_icons.css.scss +20 -0
- data/app/assets/stylesheets/active_admin/mixins/_reset.css.scss +165 -0
- data/app/assets/stylesheets/active_admin/mixins/_rounded.css.scss +43 -0
- data/app/assets/stylesheets/active_admin/mixins/_sections.css.scss +36 -0
- data/app/assets/stylesheets/active_admin/mixins/_shadows.css.scss +22 -0
- data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
- data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +26 -0
- data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +34 -0
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
- data/app/assets/stylesheets/active_admin/print.css.scss +284 -0
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +46 -0
- data/app/views/active_admin/dashboard/index.html.arb +1 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +14 -0
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/active_admin/devise/passwords/edit.html.erb +19 -0
- data/app/views/active_admin/devise/passwords/new.html.erb +14 -0
- data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
- data/app/views/active_admin/devise/sessions/new.html.erb +20 -0
- data/app/views/active_admin/devise/shared/_links.erb +27 -0
- data/app/views/active_admin/devise/unlocks/new.html.erb +14 -0
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.csv.erb +17 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +23 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +37 -0
- data/config/locales/bg.yml +102 -0
- data/config/locales/bs.yml +121 -0
- data/config/locales/ca.yml +102 -0
- data/config/locales/cs.yml +106 -0
- data/config/locales/da.yml +103 -0
- data/config/locales/de-CH.yml +118 -0
- data/config/locales/de.yml +143 -0
- data/config/locales/el.yml +111 -0
- data/config/locales/en-GB.yml +95 -0
- data/config/locales/en.yml +117 -0
- data/config/locales/es.yml +127 -0
- data/config/locales/es_MX.yml +110 -0
- data/config/locales/fi.yml +110 -0
- data/config/locales/fr.yml +109 -0
- data/config/locales/he.yml +92 -0
- data/config/locales/hr.yml +121 -0
- data/config/locales/hu.yml +96 -0
- data/config/locales/it.yml +114 -0
- data/config/locales/ja.yml +114 -0
- data/config/locales/ko.yml +85 -0
- data/config/locales/lt.yml +118 -0
- data/config/locales/lv.yml +90 -0
- data/config/locales/nl.yml +94 -0
- data/config/locales/no-NB.yml +111 -0
- data/config/locales/pl.yml +100 -0
- data/config/locales/pt-BR.yml +117 -0
- data/config/locales/pt-PT.yml +90 -0
- data/config/locales/ro.yml +94 -0
- data/config/locales/ru.yml +121 -0
- data/config/locales/sv-SE.yml +90 -0
- data/config/locales/tr.yml +94 -0
- data/config/locales/uk.yml +121 -0
- data/config/locales/vi.yml +91 -0
- data/config/locales/zh-CN.yml +112 -0
- data/config/locales/zh-TW.yml +94 -0
- data/cucumber.yml +3 -0
- data/docs/0-installation.md +84 -0
- data/docs/1-general-configuration.md +138 -0
- data/docs/10-custom-pages.md +84 -0
- data/docs/11-decorators.md +50 -0
- data/docs/12-arbre-components.md +150 -0
- data/docs/13-authorization-adapter.md +239 -0
- data/docs/2-resource-customization.md +359 -0
- data/docs/3-index-pages.md +245 -0
- data/docs/3-index-pages/create-an-index.md +31 -0
- data/docs/3-index-pages/index-as-block.md +21 -0
- data/docs/3-index-pages/index-as-blog.md +71 -0
- data/docs/3-index-pages/index-as-grid.md +29 -0
- data/docs/3-index-pages/index-as-table.md +163 -0
- data/docs/4-csv-format.md +39 -0
- data/docs/5-forms.md +118 -0
- data/docs/6-show-pages.md +77 -0
- data/docs/7-sidebars.md +63 -0
- data/docs/8-custom-actions.md +159 -0
- data/docs/9-batch-actions.md +233 -0
- data/features/action_item.feature +73 -0
- data/features/authorization.feature +64 -0
- data/features/authorization_cancan.feature +52 -0
- data/features/authorization_pundit.feature +37 -0
- data/features/belongs_to.feature +66 -0
- data/features/breadcrumb.feature +75 -0
- data/features/comments/commenting.feature +159 -0
- data/features/comments/viewing_index.feature +19 -0
- data/features/dashboard.feature +16 -0
- data/features/decorators.feature +41 -0
- data/features/development_reloading.feature +31 -0
- data/features/edit_page.feature +114 -0
- data/features/favicon.feature +20 -0
- data/features/first_boot.feature +16 -0
- data/features/global_navigation.feature +29 -0
- data/features/i18n.feature +43 -0
- data/features/index/batch_actions.feature +123 -0
- data/features/index/filters.feature +138 -0
- data/features/index/format_as_csv.feature +117 -0
- data/features/index/formats.feature +66 -0
- data/features/index/index_as_block.feature +15 -0
- data/features/index/index_as_blog.feature +69 -0
- data/features/index/index_as_grid.feature +45 -0
- data/features/index/index_as_table.feature +208 -0
- data/features/index/index_blank_slate.feature +83 -0
- data/features/index/index_parameters.feature +75 -0
- data/features/index/index_scope_to.feature +56 -0
- data/features/index/index_scopes.feature +251 -0
- data/features/index/page_title.feature +41 -0
- data/features/index/pagination.feature +59 -0
- data/features/index/switch_index_view.feature +73 -0
- data/features/menu.feature +53 -0
- data/features/new_page.feature +106 -0
- data/features/registering_assets.feature +35 -0
- data/features/registering_pages.feature +148 -0
- data/features/registering_resources.feature +33 -0
- data/features/root_to.feature +17 -0
- data/features/show/default_content.feature +43 -0
- data/features/show/page_title.feature +58 -0
- data/features/sidebar_sections.feature +210 -0
- data/features/site_title.feature +47 -0
- data/features/specifying_actions.feature +93 -0
- data/features/step_definitions/action_item_steps.rb +7 -0
- data/features/step_definitions/action_link_steps.rb +7 -0
- data/features/step_definitions/additional_web_steps.rb +82 -0
- data/features/step_definitions/asset_steps.rb +15 -0
- data/features/step_definitions/attribute_steps.rb +18 -0
- data/features/step_definitions/batch_action_steps.rb +55 -0
- data/features/step_definitions/breadcrumb_steps.rb +3 -0
- data/features/step_definitions/comment_steps.rb +12 -0
- data/features/step_definitions/configuration_steps.rb +100 -0
- data/features/step_definitions/dashboard_steps.rb +15 -0
- data/features/step_definitions/factory_steps.rb +34 -0
- data/features/step_definitions/filter_steps.rb +17 -0
- data/features/step_definitions/flash_steps.rb +11 -0
- data/features/step_definitions/format_steps.rb +45 -0
- data/features/step_definitions/i18n_steps.rb +3 -0
- data/features/step_definitions/index_scope_steps.rb +21 -0
- data/features/step_definitions/index_views_steps.rb +3 -0
- data/features/step_definitions/layout_steps.rb +3 -0
- data/features/step_definitions/member_link_steps.rb +7 -0
- data/features/step_definitions/menu_steps.rb +11 -0
- data/features/step_definitions/pagination_steps.rb +8 -0
- data/features/step_definitions/sidebar_steps.rb +12 -0
- data/features/step_definitions/site_title_steps.rb +15 -0
- data/features/step_definitions/symbol_leak_steps.rb +3 -0
- data/features/step_definitions/tab_steps.rb +3 -0
- data/features/step_definitions/table_steps.rb +119 -0
- data/features/step_definitions/user_steps.rb +41 -0
- data/features/step_definitions/web_steps.rb +86 -0
- data/features/sti_resource.feature +65 -0
- data/features/strong_parameters.feature +72 -0
- data/features/support/env.rb +119 -0
- data/features/support/paths.rb +71 -0
- data/features/support/selectors.rb +45 -0
- data/features/symbol_leak.feature +35 -0
- data/features/users/logging_in.feature +34 -0
- data/features/users/logging_out.feature +13 -0
- data/features/users/resetting_password.feature +34 -0
- data/lib/active_admin.rb +135 -0
- data/lib/active_admin/abstract_view_factory.rb +86 -0
- data/lib/active_admin/application.rb +250 -0
- data/lib/active_admin/asset_registration.rb +29 -0
- data/lib/active_admin/authorization_adapter.rb +132 -0
- data/lib/active_admin/base_controller.rb +78 -0
- data/lib/active_admin/base_controller/authorization.rb +151 -0
- data/lib/active_admin/base_controller/menu.rb +34 -0
- data/lib/active_admin/batch_actions.rb +17 -0
- data/lib/active_admin/batch_actions/controller.rb +29 -0
- data/lib/active_admin/batch_actions/resource_extension.rb +154 -0
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +38 -0
- data/lib/active_admin/batch_actions/views/batch_action_popover.rb +28 -0
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +57 -0
- data/lib/active_admin/batch_actions/views/selection_cells.rb +37 -0
- data/lib/active_admin/callbacks.rb +84 -0
- data/lib/active_admin/cancan_adapter.rb +40 -0
- data/lib/active_admin/component.rb +5 -0
- data/lib/active_admin/controller_action.rb +12 -0
- data/lib/active_admin/csv_builder.rb +70 -0
- data/lib/active_admin/dependencies.rb +38 -0
- data/lib/active_admin/deprecation.rb +35 -0
- data/lib/active_admin/devise.rb +80 -0
- data/lib/active_admin/dsl.rb +165 -0
- data/lib/active_admin/engine.rb +7 -0
- data/lib/active_admin/error.rb +22 -0
- data/lib/active_admin/event.rb +33 -0
- data/lib/active_admin/filters.rb +9 -0
- data/lib/active_admin/filters/dsl.rb +21 -0
- data/lib/active_admin/filters/forms.rb +87 -0
- data/lib/active_admin/filters/formtastic_addons.rb +73 -0
- data/lib/active_admin/filters/resource_extension.rb +135 -0
- data/lib/active_admin/form_builder.rb +185 -0
- data/lib/active_admin/helpers/collection.rb +23 -0
- data/lib/active_admin/helpers/i18n.rb +7 -0
- data/lib/active_admin/helpers/optional_display.rb +38 -0
- data/lib/active_admin/helpers/scope_chain.rb +23 -0
- data/lib/active_admin/helpers/settings.rb +106 -0
- data/lib/active_admin/iconic.rb +54 -0
- data/lib/active_admin/iconic/icons.rb +142 -0
- data/lib/active_admin/inputs.rb +15 -0
- data/lib/active_admin/inputs/datepicker_input.rb +20 -0
- data/lib/active_admin/inputs/filter_base.rb +40 -0
- data/lib/active_admin/inputs/filter_base/search_method_select.rb +73 -0
- data/lib/active_admin/inputs/filter_boolean_input.rb +32 -0
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +48 -0
- data/lib/active_admin/inputs/filter_date_range_input.rb +34 -0
- data/lib/active_admin/inputs/filter_numeric_input.rb +10 -0
- data/lib/active_admin/inputs/filter_select_input.rb +53 -0
- data/lib/active_admin/inputs/filter_string_input.rb +24 -0
- data/lib/active_admin/menu.rb +107 -0
- data/lib/active_admin/menu_collection.rb +96 -0
- data/lib/active_admin/menu_item.rb +97 -0
- data/lib/active_admin/namespace.rb +231 -0
- data/lib/active_admin/order_clause.rb +26 -0
- data/lib/active_admin/orm/active_record.rb +3 -0
- data/lib/active_admin/orm/active_record/comments.rb +84 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +49 -0
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +75 -0
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
- data/lib/active_admin/page.rb +88 -0
- data/lib/active_admin/page_controller.rb +29 -0
- data/lib/active_admin/page_dsl.rb +28 -0
- data/lib/active_admin/page_presenter.rb +32 -0
- data/lib/active_admin/pundit_adapter.rb +42 -0
- data/lib/active_admin/resource.rb +156 -0
- data/lib/active_admin/resource/action_items.rb +91 -0
- data/lib/active_admin/resource/belongs_to.rb +36 -0
- data/lib/active_admin/resource/controllers.rb +18 -0
- data/lib/active_admin/resource/menu.rb +64 -0
- data/lib/active_admin/resource/naming.rb +84 -0
- data/lib/active_admin/resource/page_presenters.rb +82 -0
- data/lib/active_admin/resource/pagination.rb +19 -0
- data/lib/active_admin/resource/routes.rb +99 -0
- data/lib/active_admin/resource/scope_to.rb +74 -0
- data/lib/active_admin/resource/scopes.rb +50 -0
- data/lib/active_admin/resource/sidebars.rb +28 -0
- data/lib/active_admin/resource_collection.rb +70 -0
- data/lib/active_admin/resource_controller.rb +50 -0
- data/lib/active_admin/resource_controller/action_builder.rb +21 -0
- data/lib/active_admin/resource_controller/data_access.rb +284 -0
- data/lib/active_admin/resource_controller/decorators.rb +100 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +24 -0
- data/lib/active_admin/resource_controller/scoping.rb +31 -0
- data/lib/active_admin/resource_controller/sidebars.rb +18 -0
- data/lib/active_admin/resource_dsl.rb +171 -0
- data/lib/active_admin/router.rb +106 -0
- data/lib/active_admin/scope.rb +57 -0
- data/lib/active_admin/sidebar_section.rb +45 -0
- data/lib/active_admin/version.rb +3 -0
- data/lib/active_admin/view_factory.rb +27 -0
- data/lib/active_admin/view_helpers.rb +21 -0
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
- data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +7 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +37 -0
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +27 -0
- data/lib/active_admin/view_helpers/display_helper.rb +64 -0
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +49 -0
- data/lib/active_admin/view_helpers/fields_for.rb +50 -0
- data/lib/active_admin/view_helpers/flash_helper.rb +13 -0
- data/lib/active_admin/view_helpers/form_helper.rb +21 -0
- data/lib/active_admin/view_helpers/icon_helper.rb +12 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +93 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
- data/lib/active_admin/view_helpers/title_helper.rb +11 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
- data/lib/active_admin/views.rb +8 -0
- data/lib/active_admin/views/action_items.rb +17 -0
- data/lib/active_admin/views/components/action_list_popover.rb +29 -0
- data/lib/active_admin/views/components/attributes_table.rb +105 -0
- data/lib/active_admin/views/components/blank_slate.rb +17 -0
- data/lib/active_admin/views/components/columns.rb +157 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +73 -0
- data/lib/active_admin/views/components/index_list.rb +68 -0
- data/lib/active_admin/views/components/paginated_collection.rb +126 -0
- data/lib/active_admin/views/components/panel.rb +34 -0
- data/lib/active_admin/views/components/popover.rb +27 -0
- data/lib/active_admin/views/components/scopes.rb +66 -0
- data/lib/active_admin/views/components/sidebar_section.rb +29 -0
- data/lib/active_admin/views/components/site_title.rb +55 -0
- data/lib/active_admin/views/components/status_tag.rb +67 -0
- data/lib/active_admin/views/components/table_for.rb +212 -0
- data/lib/active_admin/views/footer.rb +20 -0
- data/lib/active_admin/views/header.rb +32 -0
- data/lib/active_admin/views/index_as_block.rb +36 -0
- data/lib/active_admin/views/index_as_blog.rb +156 -0
- data/lib/active_admin/views/index_as_grid.rb +80 -0
- data/lib/active_admin/views/index_as_table.rb +277 -0
- data/lib/active_admin/views/pages/base.rb +139 -0
- data/lib/active_admin/views/pages/form.rb +51 -0
- data/lib/active_admin/views/pages/index.rb +163 -0
- data/lib/active_admin/views/pages/layout.rb +26 -0
- data/lib/active_admin/views/pages/page.rb +30 -0
- data/lib/active_admin/views/pages/show.rb +59 -0
- data/lib/active_admin/views/tabbed_navigation.rb +62 -0
- data/lib/active_admin/views/title_bar.rb +55 -0
- data/lib/activeadmin.rb +1 -0
- data/lib/generators/active_admin/assets/assets_generator.rb +16 -0
- data/lib/generators/active_admin/assets/templates/active_admin.css.scss +17 -0
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
- data/lib/generators/active_admin/devise/devise_generator.rb +66 -0
- data/lib/generators/active_admin/install/install_generator.rb +46 -0
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +243 -0
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +30 -0
- data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +19 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +16 -0
- data/lib/generators/active_admin/resource/templates/admin.rb +17 -0
- data/lib/ransack_ext.rb +12 -0
- data/script/local +44 -0
- data/script/use_rails +53 -0
- data/spec/integration/default_namespace_spec.rb +61 -0
- data/spec/integration/javascript_spec.rb +20 -0
- data/spec/integration/memory_spec.rb +29 -0
- data/spec/integration/stylesheets_spec.rb +18 -0
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +50 -0
- data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +82 -0
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +34 -0
- data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +60 -0
- data/spec/javascripts/compiled/jquery.aa.popover-spec.js +106 -0
- data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +37 -0
- data/spec/javascripts/fixtures/checkboxes.html +9 -0
- data/spec/javascripts/fixtures/table_checkboxes.html +17 -0
- data/spec/javascripts/helpers/SpecHelper.js +3 -0
- data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +108 -0
- data/spec/javascripts/helpers/vendor/jasmine-jquery.js +288 -0
- data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +2915 -0
- data/spec/javascripts/support/jasmine.yml +74 -0
- data/spec/javascripts/support/jasmine_config.rb +23 -0
- data/spec/javascripts/support/jasmine_runner.rb +32 -0
- data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +34 -0
- data/spec/javascripts/support/jquery.min.js +4 -0
- data/spec/spec_helper.rb +182 -0
- data/spec/spec_helper_without_rails.rb +16 -0
- data/spec/support/deferred_garbage_collection.rb +19 -0
- data/spec/support/detect_rails_version.rb +42 -0
- data/spec/support/integration_example_group.rb +31 -0
- data/spec/support/jslint.yml +80 -0
- data/spec/support/rails_template.rb +117 -0
- data/spec/support/rails_template_with_data.rb +59 -0
- data/spec/support/templates/admin/stores.rb +11 -0
- data/spec/support/templates/cucumber.rb +24 -0
- data/spec/support/templates/cucumber_with_reloading.rb +5 -0
- data/spec/support/templates/en.yml +8 -0
- 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 +11 -0
- data/spec/unit/abstract_view_factory_spec.rb +79 -0
- data/spec/unit/action_builder_spec.rb +126 -0
- data/spec/unit/active_admin_spec.rb +11 -0
- data/spec/unit/application_spec.rb +140 -0
- data/spec/unit/asset_registration_spec.rb +52 -0
- data/spec/unit/authorization/authorization_adapter_spec.rb +61 -0
- data/spec/unit/authorization/controller_authorization_spec.rb +39 -0
- data/spec/unit/auto_link_spec.rb +34 -0
- data/spec/unit/batch_actions/resource_spec.rb +92 -0
- data/spec/unit/batch_actions/settings_spec.rb +61 -0
- data/spec/unit/belongs_to_spec.rb +42 -0
- data/spec/unit/cancan_adapter_spec.rb +43 -0
- data/spec/unit/comments_spec.rb +144 -0
- data/spec/unit/component_spec.rb +18 -0
- data/spec/unit/config_shared_examples.rb +59 -0
- data/spec/unit/controller_filters_spec.rb +37 -0
- data/spec/unit/csv_builder_spec.rb +134 -0
- data/spec/unit/devise_spec.rb +116 -0
- data/spec/unit/dsl_spec.rb +61 -0
- data/spec/unit/event_spec.rb +47 -0
- data/spec/unit/filters/filter_form_builder_spec.rb +418 -0
- data/spec/unit/filters/resource_spec.rb +121 -0
- data/spec/unit/form_builder_spec.rb +576 -0
- data/spec/unit/generators/install_spec.rb +23 -0
- data/spec/unit/helpers/collection_spec.rb +65 -0
- data/spec/unit/helpers/scope_chain_spec.rb +36 -0
- data/spec/unit/helpers/settings_spec.rb +30 -0
- data/spec/unit/menu_collection_spec.rb +62 -0
- data/spec/unit/menu_item_spec.rb +143 -0
- data/spec/unit/menu_spec.rb +71 -0
- data/spec/unit/namespace/authorization_spec.rb +27 -0
- data/spec/unit/namespace/register_page_spec.rb +74 -0
- data/spec/unit/namespace/register_resource_spec.rb +163 -0
- data/spec/unit/namespace_spec.rb +103 -0
- data/spec/unit/order_clause_spec.rb +57 -0
- data/spec/unit/page_controller_spec.rb +5 -0
- data/spec/unit/page_spec.rb +72 -0
- data/spec/unit/pretty_format_spec.rb +63 -0
- data/spec/unit/pundit_adapter_spec.rb +36 -0
- data/spec/unit/resource/action_items_spec.rb +62 -0
- data/spec/unit/resource/menu_spec.rb +18 -0
- data/spec/unit/resource/naming_spec.rb +122 -0
- data/spec/unit/resource/page_presenters_spec.rb +44 -0
- data/spec/unit/resource/pagination_spec.rb +38 -0
- data/spec/unit/resource/routes_spec.rb +73 -0
- data/spec/unit/resource/scopes_spec.rb +50 -0
- data/spec/unit/resource/sidebars_spec.rb +43 -0
- data/spec/unit/resource_collection_spec.rb +158 -0
- data/spec/unit/resource_controller/data_access_spec.rb +73 -0
- data/spec/unit/resource_controller/decorators_spec.rb +86 -0
- data/spec/unit/resource_controller/sidebars_spec.rb +46 -0
- data/spec/unit/resource_controller_spec.rb +265 -0
- data/spec/unit/resource_registration_spec.rb +56 -0
- data/spec/unit/resource_spec.rb +263 -0
- data/spec/unit/routing_spec.rb +172 -0
- data/spec/unit/scope_spec.rb +114 -0
- data/spec/unit/settings_spec.rb +88 -0
- data/spec/unit/view_factory_spec.rb +21 -0
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +180 -0
- data/spec/unit/view_helpers/display_name_spec.rb +68 -0
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +39 -0
- data/spec/unit/view_helpers/fields_for_spec.rb +50 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +42 -0
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +97 -0
- data/spec/unit/views/components/action_list_popover_spec.rb +29 -0
- data/spec/unit/views/components/attributes_table_spec.rb +259 -0
- data/spec/unit/views/components/batch_action_popover_spec.rb +33 -0
- data/spec/unit/views/components/blank_slate_spec.rb +17 -0
- data/spec/unit/views/components/columns_spec.rb +172 -0
- data/spec/unit/views/components/index_list_spec.rb +32 -0
- data/spec/unit/views/components/paginated_collection_spec.rb +229 -0
- data/spec/unit/views/components/panel_spec.rb +51 -0
- data/spec/unit/views/components/popover_spec.rb +33 -0
- data/spec/unit/views/components/sidebar_section_spec.rb +47 -0
- data/spec/unit/views/components/site_title_spec.rb +78 -0
- data/spec/unit/views/components/status_tag_spec.rb +102 -0
- data/spec/unit/views/components/table_for_spec.rb +242 -0
- data/spec/unit/views/pages/form_spec.rb +35 -0
- data/spec/unit/views/pages/layout_spec.rb +63 -0
- data/spec/unit/views/pages/show_spec.rb +20 -0
- data/spec/unit/views/tabbed_navigation_spec.rb +149 -0
- data/tasks/docs.rake +37 -0
- data/tasks/js.rake +32 -0
- data/tasks/parallel_tests.rake +60 -0
- data/tasks/test.rake +79 -0
- data/tasks/yard.rake +7 -0
- metadata +741 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
Feature: Belongs To
|
|
2
|
+
|
|
3
|
+
A resource belongs to another resource
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given I am logged in
|
|
7
|
+
And a post with the title "Hello World" written by "John Doe" exists
|
|
8
|
+
And a post with the title "Hello World" written by "Jane Doe" exists
|
|
9
|
+
|
|
10
|
+
Scenario: Viewing the child resource index page
|
|
11
|
+
Given a configuration of:
|
|
12
|
+
"""
|
|
13
|
+
ActiveAdmin.register User
|
|
14
|
+
ActiveAdmin.register Post do
|
|
15
|
+
belongs_to :user
|
|
16
|
+
end
|
|
17
|
+
"""
|
|
18
|
+
When I go to the last author's posts
|
|
19
|
+
Then the "Posts" tab should be selected
|
|
20
|
+
And I should not see a menu item for "Users"
|
|
21
|
+
And I should see "Displaying 1 Post"
|
|
22
|
+
And I should see a link to "Users" in the breadcrumb
|
|
23
|
+
And I should see a link to "Jane Doe" in the breadcrumb
|
|
24
|
+
When I follow "Edit"
|
|
25
|
+
Then I should see a link to "Hello World" in the breadcrumb
|
|
26
|
+
|
|
27
|
+
Scenario: Viewing a child resource page
|
|
28
|
+
Given a configuration of:
|
|
29
|
+
"""
|
|
30
|
+
ActiveAdmin.register User
|
|
31
|
+
ActiveAdmin.register Post do
|
|
32
|
+
belongs_to :user
|
|
33
|
+
end
|
|
34
|
+
"""
|
|
35
|
+
When I go to the last author's posts
|
|
36
|
+
And I follow "View"
|
|
37
|
+
Then I should be on the last author's last post page
|
|
38
|
+
And the "Posts" tab should be selected
|
|
39
|
+
|
|
40
|
+
Scenario: When the belongs to is optional
|
|
41
|
+
Given a configuration of:
|
|
42
|
+
"""
|
|
43
|
+
ActiveAdmin.register User
|
|
44
|
+
ActiveAdmin.register Post do
|
|
45
|
+
belongs_to :user, :optional => true
|
|
46
|
+
end
|
|
47
|
+
"""
|
|
48
|
+
When I go to the last author's posts
|
|
49
|
+
Then the "Users" tab should be selected
|
|
50
|
+
And I should see a menu item for "Posts"
|
|
51
|
+
|
|
52
|
+
When I follow "Posts"
|
|
53
|
+
Then the "Posts" tab should be selected
|
|
54
|
+
|
|
55
|
+
Scenario: Displaying belongs to resources in main menu
|
|
56
|
+
Given a configuration of:
|
|
57
|
+
"""
|
|
58
|
+
ActiveAdmin.register User
|
|
59
|
+
ActiveAdmin.register Post do
|
|
60
|
+
belongs_to :user
|
|
61
|
+
navigation_menu :user
|
|
62
|
+
end
|
|
63
|
+
"""
|
|
64
|
+
When I go to the last author's posts
|
|
65
|
+
And I follow "View"
|
|
66
|
+
Then the "Posts" tab should be selected
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
Feature: Breadcrumb
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given I am logged in
|
|
5
|
+
|
|
6
|
+
Scenario: Default breadcrumb links
|
|
7
|
+
Given a configuration of:
|
|
8
|
+
"""
|
|
9
|
+
ActiveAdmin.register Post do
|
|
10
|
+
end
|
|
11
|
+
"""
|
|
12
|
+
When I am on the new post page
|
|
13
|
+
Then I should see a link to "Post" in the breadcrumb
|
|
14
|
+
|
|
15
|
+
Scenario: Rewritten breadcrumb links
|
|
16
|
+
Given a configuration of:
|
|
17
|
+
"""
|
|
18
|
+
ActiveAdmin.register Post do
|
|
19
|
+
breadcrumb do
|
|
20
|
+
[
|
|
21
|
+
link_to('test', '/admin/test/url')
|
|
22
|
+
]
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
"""
|
|
26
|
+
When I am on the new post page
|
|
27
|
+
Then I should see a link to "test" in the breadcrumb
|
|
28
|
+
|
|
29
|
+
Scenario: No Breadcrumbs configuration
|
|
30
|
+
Given a configuration of:
|
|
31
|
+
"""
|
|
32
|
+
ActiveAdmin.application.breadcrumb = false
|
|
33
|
+
ActiveAdmin.register Post do
|
|
34
|
+
end
|
|
35
|
+
"""
|
|
36
|
+
When I am on the new post page
|
|
37
|
+
Then I should see "Post"
|
|
38
|
+
And I should not see the element ".breadcrumb"
|
|
39
|
+
|
|
40
|
+
Scenario: Application config of false and a resource config of true
|
|
41
|
+
Given a configuration of:
|
|
42
|
+
"""
|
|
43
|
+
ActiveAdmin.application.breadcrumb = false
|
|
44
|
+
ActiveAdmin.register Post do
|
|
45
|
+
config.breadcrumb = true
|
|
46
|
+
end
|
|
47
|
+
"""
|
|
48
|
+
When I am on the new post page
|
|
49
|
+
Then I should see a link to "Post" in the breadcrumb
|
|
50
|
+
|
|
51
|
+
Scenario: Application config of false and rewritten breadcrumb links
|
|
52
|
+
Given a configuration of:
|
|
53
|
+
"""
|
|
54
|
+
ActiveAdmin.application.breadcrumb = false
|
|
55
|
+
ActiveAdmin.register Post do
|
|
56
|
+
breadcrumb do
|
|
57
|
+
[
|
|
58
|
+
link_to('test', '/admin/test/url')
|
|
59
|
+
]
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
"""
|
|
63
|
+
When I am on the new post page
|
|
64
|
+
Then I should see a link to "test" in the breadcrumb
|
|
65
|
+
|
|
66
|
+
Scenario: Application config of true and a resource config of false
|
|
67
|
+
Given a configuration of:
|
|
68
|
+
"""
|
|
69
|
+
ActiveAdmin.application.breadcrumb = true
|
|
70
|
+
ActiveAdmin.register Post do
|
|
71
|
+
config.breadcrumb = false
|
|
72
|
+
end
|
|
73
|
+
"""
|
|
74
|
+
When I am on the new post page
|
|
75
|
+
Then I should not see the element ".breadcrumb"
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
Feature: Commenting
|
|
2
|
+
|
|
3
|
+
As a user
|
|
4
|
+
In order to document changes and have a discussion
|
|
5
|
+
I want to store and view comments on a resource
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given a post with the title "Hello World" written by "Jane Doe" exists
|
|
9
|
+
|
|
10
|
+
Scenario: View a resource with no comments
|
|
11
|
+
Given a show configuration of:
|
|
12
|
+
"""
|
|
13
|
+
ActiveAdmin.register Post
|
|
14
|
+
"""
|
|
15
|
+
Then I should see "Comments (0)"
|
|
16
|
+
And I should see "No comments yet."
|
|
17
|
+
|
|
18
|
+
Scenario: Create a new comment
|
|
19
|
+
Given a show configuration of:
|
|
20
|
+
"""
|
|
21
|
+
ActiveAdmin.register Post
|
|
22
|
+
"""
|
|
23
|
+
When I add a comment "Hello from Comment"
|
|
24
|
+
Then I should see a flash with "Comment was successfully created"
|
|
25
|
+
And I should be in the resource section for posts
|
|
26
|
+
And I should see "Comments (1)"
|
|
27
|
+
And I should see "Hello from Comment"
|
|
28
|
+
And I should see a comment by "admin@example.com"
|
|
29
|
+
|
|
30
|
+
Scenario: View resource with comments turned off
|
|
31
|
+
Given a show configuration of:
|
|
32
|
+
"""
|
|
33
|
+
ActiveAdmin.register Post do
|
|
34
|
+
config.comments = false
|
|
35
|
+
end
|
|
36
|
+
"""
|
|
37
|
+
Then I should not see the element "div.comments.panel"
|
|
38
|
+
|
|
39
|
+
Scenario: View a resource in a namespace that doesn't have comments
|
|
40
|
+
Given a configuration of:
|
|
41
|
+
"""
|
|
42
|
+
ActiveAdmin.application.namespace(:new_namespace).allow_comments = false
|
|
43
|
+
ActiveAdmin.register Post, :namespace => :new_namespace
|
|
44
|
+
ActiveAdmin.register AdminUser, :namespace => :new_namespace
|
|
45
|
+
"""
|
|
46
|
+
Given I am logged in
|
|
47
|
+
When I am on the index page for posts in the new_namespace namespace
|
|
48
|
+
And I follow "View"
|
|
49
|
+
Then I should not see "Comments"
|
|
50
|
+
|
|
51
|
+
Scenario: Creating a comment in one namespace does not create it in another
|
|
52
|
+
Given a show configuration of:
|
|
53
|
+
"""
|
|
54
|
+
ActiveAdmin.register Post
|
|
55
|
+
ActiveAdmin.register Post, :namespace => :public
|
|
56
|
+
ActiveAdmin.register AdminUser, :namespace => :public
|
|
57
|
+
"""
|
|
58
|
+
When I add a comment "Hello world in admin namespace"
|
|
59
|
+
Then I should see "Hello world in admin namespace"
|
|
60
|
+
|
|
61
|
+
When I am on the index page for posts in the public namespace
|
|
62
|
+
And I follow "View"
|
|
63
|
+
Then I should not see "Hello world in admin namespace"
|
|
64
|
+
And I should see "Comments (0)"
|
|
65
|
+
|
|
66
|
+
When I add a comment "Hello world in public namespace"
|
|
67
|
+
Then I should see "Hello world in public namespace"
|
|
68
|
+
When I am on the index page for posts in the admin namespace
|
|
69
|
+
And I follow "View"
|
|
70
|
+
Then I should not see "Hello world in public namespace"
|
|
71
|
+
And I should see "Comments (1)"
|
|
72
|
+
|
|
73
|
+
Scenario: Creating a comment on an aliased resource
|
|
74
|
+
Given a configuration of:
|
|
75
|
+
"""
|
|
76
|
+
ActiveAdmin.register Post, :as => "Article"
|
|
77
|
+
"""
|
|
78
|
+
Given I am logged in
|
|
79
|
+
When I am on the index page for articles
|
|
80
|
+
And I follow "View"
|
|
81
|
+
When I add a comment "Hello from Comment"
|
|
82
|
+
Then I should see a flash with "Comment was successfully created"
|
|
83
|
+
And I should be in the resource section for articles
|
|
84
|
+
|
|
85
|
+
Scenario: Create an empty comment
|
|
86
|
+
Given a show configuration of:
|
|
87
|
+
"""
|
|
88
|
+
ActiveAdmin.register Post
|
|
89
|
+
"""
|
|
90
|
+
When I add a comment ""
|
|
91
|
+
Then I should see a flash with "Comment wasn't saved, text was empty."
|
|
92
|
+
And I should see "Comments (0)"
|
|
93
|
+
|
|
94
|
+
Scenario: Viewing all comments for a namespace
|
|
95
|
+
Given a show configuration of:
|
|
96
|
+
"""
|
|
97
|
+
ActiveAdmin.register Post
|
|
98
|
+
"""
|
|
99
|
+
When I add a comment "Hello from Comment"
|
|
100
|
+
When I am on the index page for comments
|
|
101
|
+
Then I should see a table header with "Body"
|
|
102
|
+
And I should see "Hello from Comment"
|
|
103
|
+
|
|
104
|
+
Scenario: Commenting on a STI superclass
|
|
105
|
+
Given a configuration of:
|
|
106
|
+
"""
|
|
107
|
+
ActiveAdmin.register User
|
|
108
|
+
"""
|
|
109
|
+
Given I am logged in
|
|
110
|
+
And a publisher named "Pragmatic Publishers" exists
|
|
111
|
+
When I am on the index page for users
|
|
112
|
+
And I follow "View"
|
|
113
|
+
When I add a comment "Hello World"
|
|
114
|
+
Then I should see a flash with "Comment was successfully created"
|
|
115
|
+
And I should be in the resource section for users
|
|
116
|
+
When I am on the index page for comments
|
|
117
|
+
Then I should see the content "User"
|
|
118
|
+
And I should see "Hello World"
|
|
119
|
+
|
|
120
|
+
Scenario: Commenting on a STI subclass
|
|
121
|
+
Given a configuration of:
|
|
122
|
+
"""
|
|
123
|
+
ActiveAdmin.register Publisher
|
|
124
|
+
"""
|
|
125
|
+
Given I am logged in
|
|
126
|
+
And a publisher named "Pragmatic Publishers" exists
|
|
127
|
+
When I am on the index page for publishers
|
|
128
|
+
And I follow "View"
|
|
129
|
+
When I add a comment "Hello World"
|
|
130
|
+
Then I should see a flash with "Comment was successfully created"
|
|
131
|
+
And I should be in the resource section for publishers
|
|
132
|
+
When I am on the index page for comments
|
|
133
|
+
Then I should see the content "Publisher"
|
|
134
|
+
And I should see "Hello World"
|
|
135
|
+
|
|
136
|
+
Scenario: Commenting on a class with string id
|
|
137
|
+
Given a tag with the name "coolness" exists
|
|
138
|
+
Given a configuration of:
|
|
139
|
+
"""
|
|
140
|
+
ActiveAdmin.register Tag
|
|
141
|
+
"""
|
|
142
|
+
Given I am logged in
|
|
143
|
+
When I am on the index page for tags
|
|
144
|
+
And I follow "View"
|
|
145
|
+
When I add a comment "Tag Comment"
|
|
146
|
+
Then I should see a flash with "Comment was successfully created"
|
|
147
|
+
And I should be in the resource section for tags
|
|
148
|
+
|
|
149
|
+
Scenario: Commenting on an aliased resource with an existing non-aliased config
|
|
150
|
+
Given a configuration of:
|
|
151
|
+
"""
|
|
152
|
+
ActiveAdmin.register Post
|
|
153
|
+
ActiveAdmin.register Post, as: 'Foo'
|
|
154
|
+
"""
|
|
155
|
+
Given I am logged in
|
|
156
|
+
When I am on the index page for foos
|
|
157
|
+
And I follow "View"
|
|
158
|
+
When I add a comment "Bar"
|
|
159
|
+
Then I should be in the resource section for foos
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Feature: Viewing Index of Comments
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given a post with the title "Hello World" written by "Jane Doe" exists
|
|
5
|
+
Given a show configuration of:
|
|
6
|
+
"""
|
|
7
|
+
ActiveAdmin.register Post
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
Scenario: Viewing all commments for a namespace
|
|
11
|
+
When I add a comment "Hello from Comment"
|
|
12
|
+
When I am on the index page for comments
|
|
13
|
+
Then I should see a table header with "Body"
|
|
14
|
+
And I should see a table header with "Resource"
|
|
15
|
+
And I should see a table header with "Author"
|
|
16
|
+
And I should see "Hello from Comment"
|
|
17
|
+
And I should see a link to "Hello World"
|
|
18
|
+
And I should see "admin@example.com"
|
|
19
|
+
And I should not see an action item button "New Comment"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Feature: Dashboard
|
|
2
|
+
|
|
3
|
+
Scenario: With default configuration
|
|
4
|
+
Given a configuration of:
|
|
5
|
+
"""
|
|
6
|
+
ActiveAdmin.register_page "Dashboard" do
|
|
7
|
+
content do
|
|
8
|
+
para "Hello world from the dashboard page"
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
"""
|
|
12
|
+
Given I am logged in
|
|
13
|
+
When I go to the dashboard
|
|
14
|
+
Then I should see the Active Admin layout
|
|
15
|
+
And I should not see the default welcome message
|
|
16
|
+
And I should see "Hello world from the dashboard page"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
Feature: Decorators
|
|
2
|
+
|
|
3
|
+
Using decorators for index and show sections
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given a user named "John Doe" exists
|
|
7
|
+
Given a post with the title "A very unique post" exists
|
|
8
|
+
And I am logged in
|
|
9
|
+
|
|
10
|
+
Scenario: Index page with decorator
|
|
11
|
+
Given a configuration of:
|
|
12
|
+
"""
|
|
13
|
+
ActiveAdmin.register Post do
|
|
14
|
+
decorate_with PostDecorator
|
|
15
|
+
|
|
16
|
+
index do
|
|
17
|
+
column(:id)
|
|
18
|
+
column(:title)
|
|
19
|
+
column(:decorator_method)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
"""
|
|
23
|
+
When I am on the index page for posts
|
|
24
|
+
Then I should see "A method only available on the decorator"
|
|
25
|
+
And I should see "A very unique post"
|
|
26
|
+
|
|
27
|
+
Scenario: Show page with decorator
|
|
28
|
+
Given a configuration of:
|
|
29
|
+
"""
|
|
30
|
+
ActiveAdmin.register Post do
|
|
31
|
+
decorate_with PostDecorator
|
|
32
|
+
|
|
33
|
+
show do
|
|
34
|
+
attributes_table :title, :decorator_method
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
"""
|
|
38
|
+
When I am on the index page for posts
|
|
39
|
+
And I follow "View"
|
|
40
|
+
And I should see the attribute "Decorator Method" with "A method only available on the decorator"
|
|
41
|
+
And I should see the attribute "Title" with "A very unique post"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Feature: Development Reloading
|
|
2
|
+
|
|
3
|
+
In order to quickly develop applications
|
|
4
|
+
As a developer
|
|
5
|
+
I want the application to reload itself in development
|
|
6
|
+
|
|
7
|
+
@requires-reloading
|
|
8
|
+
Scenario: Registering a resource that was not previously registered
|
|
9
|
+
When I am logged in with capybara
|
|
10
|
+
Then I should not see a menu item for "Posts"
|
|
11
|
+
|
|
12
|
+
When "app/admin/posts.rb" contains:
|
|
13
|
+
"""
|
|
14
|
+
ActiveAdmin.register Post do
|
|
15
|
+
controller do
|
|
16
|
+
def permitted_params
|
|
17
|
+
params.permit post: [:category, :author, :title, :body, :published_at, :starred]
|
|
18
|
+
end if Rails::VERSION::MAJOR == 4
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
"""
|
|
22
|
+
When I am logged in with capybara
|
|
23
|
+
Then I should see a menu item for "Posts"
|
|
24
|
+
|
|
25
|
+
When I create a new post with the title "A"
|
|
26
|
+
Then I should see a successful create flash
|
|
27
|
+
|
|
28
|
+
When I add "validates_presence_of :title" to the "post" model
|
|
29
|
+
And I create a new post with the title ""
|
|
30
|
+
Then I should not see a successful create flash
|
|
31
|
+
And I should see a validation error "can't be blank"
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
Feature: Edit Page
|
|
2
|
+
|
|
3
|
+
Customizing the form to edit resources
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given a category named "Music" exists
|
|
7
|
+
And a user named "John Doe" exists
|
|
8
|
+
And a post with the title "Hello World" written by "John Doe" exists
|
|
9
|
+
And I am logged in
|
|
10
|
+
Given a configuration of:
|
|
11
|
+
"""
|
|
12
|
+
ActiveAdmin.register Post do
|
|
13
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
14
|
+
end
|
|
15
|
+
"""
|
|
16
|
+
When I am on the index page for posts
|
|
17
|
+
|
|
18
|
+
Scenario: Default form with no config
|
|
19
|
+
Given I follow "Edit"
|
|
20
|
+
Then the "Title" field should contain "Hello World"
|
|
21
|
+
And the "Body" field should contain ""
|
|
22
|
+
And the "Category" field should contain ""
|
|
23
|
+
And the "Author" field should contain the option "John Doe"
|
|
24
|
+
When I fill in "Title" with "Hello World from update"
|
|
25
|
+
When I press "Update Post"
|
|
26
|
+
Then I should see "Post was successfully updated."
|
|
27
|
+
And I should see the attribute "Title" with "Hello World from update"
|
|
28
|
+
And I should see the attribute "Author" with "John Doe"
|
|
29
|
+
|
|
30
|
+
Scenario: Generating a custom form
|
|
31
|
+
Given a configuration of:
|
|
32
|
+
"""
|
|
33
|
+
ActiveAdmin.register Post do
|
|
34
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
35
|
+
|
|
36
|
+
form do |f|
|
|
37
|
+
f.inputs "Your Post" do
|
|
38
|
+
f.input :title
|
|
39
|
+
f.input :body
|
|
40
|
+
end
|
|
41
|
+
f.inputs "Publishing" do
|
|
42
|
+
f.input :published_at
|
|
43
|
+
end
|
|
44
|
+
f.actions
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
"""
|
|
48
|
+
Given I follow "Edit"
|
|
49
|
+
Then I should see a fieldset titled "Your Post"
|
|
50
|
+
And I should see a fieldset titled "Publishing"
|
|
51
|
+
And the "Title" field should contain "Hello World"
|
|
52
|
+
And the "Body" field should contain ""
|
|
53
|
+
When I fill in "Title" with "Hello World from update"
|
|
54
|
+
When I press "Update Post"
|
|
55
|
+
Then I should see "Post was successfully updated."
|
|
56
|
+
And I should see the attribute "Title" with "Hello World from update"
|
|
57
|
+
And I should see the attribute "Author" with "John Doe"
|
|
58
|
+
|
|
59
|
+
Scenario: Generating a custom form with :html set, visiting the new page first (bug probing issue #109)
|
|
60
|
+
Given a configuration of:
|
|
61
|
+
"""
|
|
62
|
+
ActiveAdmin.register Post do
|
|
63
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
64
|
+
|
|
65
|
+
form :html => {} do |f|
|
|
66
|
+
f.inputs "Your Post" do
|
|
67
|
+
f.input :title
|
|
68
|
+
f.input :body
|
|
69
|
+
end
|
|
70
|
+
f.inputs "Publishing" do
|
|
71
|
+
f.input :published_at
|
|
72
|
+
end
|
|
73
|
+
f.actions
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
"""
|
|
77
|
+
Given I follow "New"
|
|
78
|
+
Then I follow "Posts"
|
|
79
|
+
Then I follow "Edit"
|
|
80
|
+
Then I should see a fieldset titled "Your Post"
|
|
81
|
+
And I should see a fieldset titled "Publishing"
|
|
82
|
+
And the "Title" field should contain "Hello World"
|
|
83
|
+
And the "Body" field should contain ""
|
|
84
|
+
When I fill in "Title" with "Hello World from update"
|
|
85
|
+
When I press "Update Post"
|
|
86
|
+
Then I should see "Post was successfully updated."
|
|
87
|
+
And I should see the attribute "Title" with "Hello World from update"
|
|
88
|
+
And I should see the attribute "Author" with "John Doe"
|
|
89
|
+
|
|
90
|
+
Scenario: Generating a form from a partial
|
|
91
|
+
Given "app/views/admin/posts/_form.html.erb" contains:
|
|
92
|
+
"""
|
|
93
|
+
<% url = @post.new_record? ? admin_posts_path : admin_post_path(@post) %>
|
|
94
|
+
<%= active_admin_form_for @post, :url => url do |f|
|
|
95
|
+
f.inputs :title, :body
|
|
96
|
+
f.actions
|
|
97
|
+
end %>
|
|
98
|
+
"""
|
|
99
|
+
Given a configuration of:
|
|
100
|
+
"""
|
|
101
|
+
ActiveAdmin.register Post do
|
|
102
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
103
|
+
|
|
104
|
+
form :partial => "form"
|
|
105
|
+
end
|
|
106
|
+
"""
|
|
107
|
+
Given I follow "Edit"
|
|
108
|
+
Then the "Title" field should contain "Hello World"
|
|
109
|
+
And the "Body" field should contain ""
|
|
110
|
+
When I fill in "Title" with "Hello World from update"
|
|
111
|
+
When I press "Update Post"
|
|
112
|
+
Then I should see "Post was successfully updated."
|
|
113
|
+
And I should see the attribute "Title" with "Hello World from update"
|
|
114
|
+
And I should see the attribute "Author" with "John Doe"
|