drewda_rails_admin 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.
- data/Gemfile +53 -0
- data/LICENSE.md +20 -0
- data/README.md +160 -0
- data/Rakefile +19 -0
- data/app/assets/images/rails_admin/aristo/images/bg_fallback.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/icon_sprite.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/progress_bar.gif +0 -0
- data/app/assets/images/rails_admin/aristo/images/slider_handles.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/rails_admin/bullet_black.png +0 -0
- data/app/assets/images/rails_admin/bullet_white.png +0 -0
- data/app/assets/images/rails_admin/calendar.png +0 -0
- data/app/assets/images/rails_admin/clock.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/select.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/select2.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/slider.png +0 -0
- data/app/assets/images/rails_admin/logo.png +0 -0
- data/app/assets/images/rails_admin/magnifier.png +0 -0
- data/app/assets/images/rails_admin/multiselect/icon_sprite.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-dark.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-light.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-dark.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-light.png +0 -0
- data/app/assets/javascripts/rails_admin/custom/ui.js +12 -0
- data/app/assets/javascripts/rails_admin/jquery.colorpicker.js +484 -0
- data/app/assets/javascripts/rails_admin/jquery.pjax.js +431 -0
- data/app/assets/javascripts/rails_admin/jquery.ui.timepicker.js +1371 -0
- data/app/assets/javascripts/rails_admin/ra.datetimepicker.js +67 -0
- data/app/assets/javascripts/rails_admin/ra.filter-box.js +129 -0
- data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +280 -0
- data/app/assets/javascripts/rails_admin/ra.filtering-select.js +181 -0
- data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.coffee +40 -0
- data/app/assets/javascripts/rails_admin/ra.remote-form.js +150 -0
- data/app/assets/javascripts/rails_admin/rails_admin.js.erb +25 -0
- data/app/assets/javascripts/rails_admin/themes/default/ui.js +12 -0
- data/app/assets/javascripts/rails_admin/ui.js.coffee +61 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.css.scss +733 -0
- data/app/assets/stylesheets/rails_admin/base/README +2 -0
- data/app/assets/stylesheets/rails_admin/base/mixins.css.scss +1 -0
- data/app/assets/stylesheets/rails_admin/base/theming.css.scss +263 -0
- data/app/assets/stylesheets/rails_admin/base/variables.css.scss +1 -0
- data/app/assets/stylesheets/rails_admin/custom/mixins.css.scss +12 -0
- data/app/assets/stylesheets/rails_admin/custom/theming.css.scss +13 -0
- data/app/assets/stylesheets/rails_admin/custom/variables.css.scss +15 -0
- data/app/assets/stylesheets/rails_admin/imports.css.scss.erb +76 -0
- data/app/assets/stylesheets/rails_admin/jquery.colorpicker.css.scss +180 -0
- data/app/assets/stylesheets/rails_admin/jquery.ui.timepicker.css.scss +69 -0
- data/app/assets/stylesheets/rails_admin/ra.calendar-additions.css.scss +25 -0
- data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.css.scss +85 -0
- data/app/assets/stylesheets/rails_admin/rails_admin.css +4 -0
- data/app/assets/stylesheets/rails_admin/themes/default/mixins.css.scss +8 -0
- data/app/assets/stylesheets/rails_admin/themes/default/theming.css.scss +11 -0
- data/app/assets/stylesheets/rails_admin/themes/default/variables.css.scss +12 -0
- data/app/controllers/rails_admin/application_controller.rb +82 -0
- data/app/controllers/rails_admin/main_controller.rb +151 -0
- data/app/helpers/rails_admin/application_helper.rb +123 -0
- data/app/helpers/rails_admin/form_builder.rb +104 -0
- data/app/helpers/rails_admin/main_helper.rb +36 -0
- data/app/views/kaminari/twitter-bootstrap/_gap.html.haml +2 -0
- data/app/views/kaminari/twitter-bootstrap/_next_page.html.haml +4 -0
- data/app/views/kaminari/twitter-bootstrap/_page.html.haml +4 -0
- data/app/views/kaminari/twitter-bootstrap/_paginator.html.haml +10 -0
- data/app/views/kaminari/twitter-bootstrap/_prev_page.html.haml +4 -0
- data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +12 -0
- data/app/views/layouts/rails_admin/application.html.haml +39 -0
- data/app/views/rails_admin/main/_dashboard_history.html.haml +10 -0
- data/app/views/rails_admin/main/_delete_notice.html.haml +18 -0
- data/app/views/rails_admin/main/_form_colorpicker.html.haml +24 -0
- data/app/views/rails_admin/main/_form_datetime.html.haml +4 -0
- data/app/views/rails_admin/main/_form_enumeration.html.haml +4 -0
- data/app/views/rails_admin/main/_form_field.html.haml +1 -0
- data/app/views/rails_admin/main/_form_file_upload.html.haml +18 -0
- data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +59 -0
- data/app/views/rails_admin/main/_form_filtering_select.html.haml +47 -0
- data/app/views/rails_admin/main/_form_nested_many.html.haml +41 -0
- data/app/views/rails_admin/main/_form_nested_one.html.haml +35 -0
- data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +34 -0
- data/app/views/rails_admin/main/_form_text.html.haml +9 -0
- data/app/views/rails_admin/main/_submit_buttons.html.haml +15 -0
- data/app/views/rails_admin/main/bulk_delete.html.haml +11 -0
- data/app/views/rails_admin/main/dashboard.html.haml +31 -0
- data/app/views/rails_admin/main/delete.html.haml +18 -0
- data/app/views/rails_admin/main/edit.html.haml +2 -0
- data/app/views/rails_admin/main/export.html.haml +75 -0
- data/app/views/rails_admin/main/history.html.haml +42 -0
- data/app/views/rails_admin/main/index.html.haml +140 -0
- data/app/views/rails_admin/main/new.html.haml +2 -0
- data/app/views/rails_admin/main/show.html.haml +14 -0
- data/config/initializers/active_record_extensions.rb +19 -0
- data/config/initializers/devise_patch.rb +9 -0
- data/config/initializers/haml.rb +2 -0
- data/config/initializers/mongoid_extensions.rb +4 -0
- data/config/locales/fr.yml +24 -0
- data/config/locales/rails_admin.en.yml +130 -0
- data/config/routes.rb +12 -0
- data/lib/generators/rails_admin/install_generator.rb +84 -0
- data/lib/generators/rails_admin/templates/drop.rb +18 -0
- data/lib/generators/rails_admin/templates/initializer.erb +101 -0
- data/lib/generators/rails_admin/templates/migration.rb +18 -0
- data/lib/generators/rails_admin/uninstall_generator.rb +22 -0
- data/lib/generators/rails_admin/utils.rb +30 -0
- data/lib/rails_admin.rb +34 -0
- data/lib/rails_admin/abstract_model.rb +110 -0
- data/lib/rails_admin/adapters/active_record.rb +247 -0
- data/lib/rails_admin/adapters/active_record/abstract_object.rb +32 -0
- data/lib/rails_admin/adapters/mongoid.rb +333 -0
- data/lib/rails_admin/adapters/mongoid/abstract_object.rb +32 -0
- data/lib/rails_admin/adapters/mongoid/extension.rb +27 -0
- data/lib/rails_admin/config.rb +322 -0
- data/lib/rails_admin/config/actions.rb +121 -0
- data/lib/rails_admin/config/actions/base.rb +117 -0
- data/lib/rails_admin/config/actions/bulk_delete.rb +55 -0
- data/lib/rails_admin/config/actions/dashboard.rb +44 -0
- data/lib/rails_admin/config/actions/delete.rb +53 -0
- data/lib/rails_admin/config/actions/edit.rb +60 -0
- data/lib/rails_admin/config/actions/export.rb +40 -0
- data/lib/rails_admin/config/actions/history_index.rb +38 -0
- data/lib/rails_admin/config/actions/history_show.rb +38 -0
- data/lib/rails_admin/config/actions/index.rb +85 -0
- data/lib/rails_admin/config/actions/new.rb +64 -0
- data/lib/rails_admin/config/actions/show.rb +32 -0
- data/lib/rails_admin/config/actions/show_in_app.rb +28 -0
- data/lib/rails_admin/config/configurable.rb +92 -0
- data/lib/rails_admin/config/fields.rb +88 -0
- data/lib/rails_admin/config/fields/association.rb +108 -0
- data/lib/rails_admin/config/fields/base.rb +281 -0
- data/lib/rails_admin/config/fields/factories/belongs_to_association.rb +29 -0
- data/lib/rails_admin/config/fields/factories/carrierwave.rb +31 -0
- data/lib/rails_admin/config/fields/factories/devise.rb +27 -0
- data/lib/rails_admin/config/fields/factories/dragonfly.rb +27 -0
- data/lib/rails_admin/config/fields/factories/enum.rb +11 -0
- data/lib/rails_admin/config/fields/factories/paperclip.rb +26 -0
- data/lib/rails_admin/config/fields/factories/password.rb +17 -0
- data/lib/rails_admin/config/fields/factories/serialized.rb +17 -0
- data/lib/rails_admin/config/fields/group.rb +78 -0
- data/lib/rails_admin/config/fields/types.rb +27 -0
- data/lib/rails_admin/config/fields/types/all.rb +26 -0
- data/lib/rails_admin/config/fields/types/belongs_to_association.rb +41 -0
- data/lib/rails_admin/config/fields/types/boolean.rb +31 -0
- data/lib/rails_admin/config/fields/types/bson_object_id.rb +42 -0
- data/lib/rails_admin/config/fields/types/carrierwave.rb +31 -0
- data/lib/rails_admin/config/fields/types/color.rb +37 -0
- data/lib/rails_admin/config/fields/types/date.rb +24 -0
- data/lib/rails_admin/config/fields/types/datetime.rb +165 -0
- data/lib/rails_admin/config/fields/types/decimal.rb +14 -0
- data/lib/rails_admin/config/fields/types/dragonfly.rb +41 -0
- data/lib/rails_admin/config/fields/types/enum.rb +35 -0
- data/lib/rails_admin/config/fields/types/file_upload.rb +61 -0
- data/lib/rails_admin/config/fields/types/float.rb +14 -0
- data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +14 -0
- data/lib/rails_admin/config/fields/types/has_many_association.rb +32 -0
- data/lib/rails_admin/config/fields/types/has_one_association.rb +39 -0
- data/lib/rails_admin/config/fields/types/hidden.rb +21 -0
- data/lib/rails_admin/config/fields/types/integer.rb +22 -0
- data/lib/rails_admin/config/fields/types/mongoid_type.rb +25 -0
- data/lib/rails_admin/config/fields/types/paperclip.rb +28 -0
- data/lib/rails_admin/config/fields/types/password.rb +39 -0
- data/lib/rails_admin/config/fields/types/polymorphic_association.rb +76 -0
- data/lib/rails_admin/config/fields/types/serialized.rb +22 -0
- data/lib/rails_admin/config/fields/types/string.rb +41 -0
- data/lib/rails_admin/config/fields/types/text.rb +36 -0
- data/lib/rails_admin/config/fields/types/time.rb +36 -0
- data/lib/rails_admin/config/fields/types/timestamp.rb +18 -0
- data/lib/rails_admin/config/groupable.rb +18 -0
- data/lib/rails_admin/config/has_fields.rb +135 -0
- data/lib/rails_admin/config/has_groups.rb +23 -0
- data/lib/rails_admin/config/hideable.rb +28 -0
- data/lib/rails_admin/config/model.rb +88 -0
- data/lib/rails_admin/config/proxyable.rb +12 -0
- data/lib/rails_admin/config/proxyable/proxy.rb +43 -0
- data/lib/rails_admin/config/sections.rb +38 -0
- data/lib/rails_admin/config/sections/base.rb +29 -0
- data/lib/rails_admin/config/sections/create.rb +11 -0
- data/lib/rails_admin/config/sections/edit.rb +11 -0
- data/lib/rails_admin/config/sections/export.rb +11 -0
- data/lib/rails_admin/config/sections/list.rb +27 -0
- data/lib/rails_admin/config/sections/nested.rb +10 -0
- data/lib/rails_admin/config/sections/show.rb +10 -0
- data/lib/rails_admin/config/sections/update.rb +10 -0
- data/lib/rails_admin/engine.rb +22 -0
- data/lib/rails_admin/extension.rb +29 -0
- data/lib/rails_admin/extensions/cancan.rb +5 -0
- data/lib/rails_admin/extensions/cancan/authorization_adapter.rb +59 -0
- data/lib/rails_admin/extensions/history.rb +5 -0
- data/lib/rails_admin/extensions/history/auditing_adapter.rb +37 -0
- data/lib/rails_admin/extensions/history/history.rb +69 -0
- data/lib/rails_admin/extensions/paper_trail.rb +5 -0
- data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +92 -0
- data/lib/rails_admin/i18n_support.rb +43 -0
- data/lib/rails_admin/support/core_extensions.rb +44 -0
- data/lib/rails_admin/support/csv_converter.rb +109 -0
- data/lib/rails_admin/version.rb +6 -0
- data/lib/tasks/prepare_ci_env.rake +27 -0
- data/lib/tasks/rails_admin.rake +18 -0
- data/spec/ci.sh +2 -0
- data/spec/controllers/application_controller_spec.rb +30 -0
- data/spec/controllers/main_controller_spec.rb +180 -0
- data/spec/database_helpers.rb +15 -0
- data/spec/dummy_app/Gemfile +58 -0
- data/spec/dummy_app/Rakefile +7 -0
- data/spec/dummy_app/app/assets/images/rails.png +0 -0
- data/spec/dummy_app/app/assets/javascripts/application.js +15 -0
- data/spec/dummy_app/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy_app/app/controllers/application_controller.rb +3 -0
- data/spec/dummy_app/app/controllers/players_controller.rb +5 -0
- data/spec/dummy_app/app/helpers/application_helper.rb +2 -0
- data/spec/dummy_app/app/locales/models.en.yml +16 -0
- data/spec/dummy_app/app/models/abstract.rb +5 -0
- data/spec/dummy_app/app/models/article.rb +9 -0
- data/spec/dummy_app/app/models/author.rb +6 -0
- data/spec/dummy_app/app/models/ball.rb +8 -0
- data/spec/dummy_app/app/models/category.rb +3 -0
- data/spec/dummy_app/app/models/cms.rb +5 -0
- data/spec/dummy_app/app/models/cms/basic_page.rb +7 -0
- data/spec/dummy_app/app/models/cms/unscoped_page.rb +3 -0
- data/spec/dummy_app/app/models/comment.rb +3 -0
- data/spec/dummy_app/app/models/division.rb +12 -0
- data/spec/dummy_app/app/models/draft.rb +11 -0
- data/spec/dummy_app/app/models/fan.rb +5 -0
- data/spec/dummy_app/app/models/field_test.rb +20 -0
- data/spec/dummy_app/app/models/hardball.rb +2 -0
- data/spec/dummy_app/app/models/league.rb +10 -0
- data/spec/dummy_app/app/models/mongoid_field_test.rb +22 -0
- data/spec/dummy_app/app/models/nested_field_test.rb +6 -0
- data/spec/dummy_app/app/models/player.rb +23 -0
- data/spec/dummy_app/app/models/rel_test.rb +6 -0
- data/spec/dummy_app/app/models/tag.rb +7 -0
- data/spec/dummy_app/app/models/team.rb +25 -0
- data/spec/dummy_app/app/models/user.rb +21 -0
- data/spec/dummy_app/app/uploaders/carrierwave_uploader.rb +53 -0
- data/spec/dummy_app/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy_app/app/views/players/show.html.haml +1 -0
- data/spec/dummy_app/config.ru +4 -0
- data/spec/dummy_app/config/application.rb +62 -0
- data/spec/dummy_app/config/boot.rb +6 -0
- data/spec/dummy_app/config/database.yml +25 -0
- data/spec/dummy_app/config/environment.rb +5 -0
- data/spec/dummy_app/config/environments/development.rb +37 -0
- data/spec/dummy_app/config/environments/production.rb +67 -0
- data/spec/dummy_app/config/environments/test.rb +37 -0
- data/spec/dummy_app/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy_app/config/initializers/devise.rb +148 -0
- data/spec/dummy_app/config/initializers/inflections.rb +15 -0
- data/spec/dummy_app/config/initializers/mime_types.rb +5 -0
- data/spec/dummy_app/config/initializers/rails_admin.rb +11 -0
- data/spec/dummy_app/config/initializers/secret_token.rb +7 -0
- data/spec/dummy_app/config/initializers/session_store.rb +8 -0
- data/spec/dummy_app/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy_app/config/mongoid.yml +17 -0
- data/spec/dummy_app/config/routes.rb +10 -0
- data/spec/dummy_app/db/migrate/00000000000001_create_divisions_migration.rb +13 -0
- data/spec/dummy_app/db/migrate/00000000000002_create_drafts_migration.rb +19 -0
- data/spec/dummy_app/db/migrate/00000000000003_create_leagues_migration.rb +12 -0
- data/spec/dummy_app/db/migrate/00000000000004_create_players_migration.rb +20 -0
- data/spec/dummy_app/db/migrate/00000000000005_create_teams_migration.rb +22 -0
- data/spec/dummy_app/db/migrate/00000000000006_devise_create_users.rb +49 -0
- data/spec/dummy_app/db/migrate/00000000000007_create_histories_table.rb +16 -0
- data/spec/dummy_app/db/migrate/00000000000008_create_fans_migration.rb +12 -0
- data/spec/dummy_app/db/migrate/00000000000009_create_fans_teams_migration.rb +11 -0
- data/spec/dummy_app/db/migrate/00000000000010_add_revenue_to_team_migration.rb +9 -0
- data/spec/dummy_app/db/migrate/00000000000011_add_suspended_to_player_migration.rb +9 -0
- data/spec/dummy_app/db/migrate/00000000000012_add_avatar_columns_to_user.rb +16 -0
- data/spec/dummy_app/db/migrate/00000000000013_add_roles_to_user.rb +9 -0
- data/spec/dummy_app/db/migrate/00000000000014_add_color_to_team_migration.rb +9 -0
- data/spec/dummy_app/db/migrate/20101223222233_create_rel_tests.rb +15 -0
- data/spec/dummy_app/db/migrate/20110103205808_create_comments.rb +15 -0
- data/spec/dummy_app/db/migrate/20110123042530_rename_histories_to_rails_admin_histories.rb +9 -0
- data/spec/dummy_app/db/migrate/20110224184303_create_field_tests.rb +22 -0
- data/spec/dummy_app/db/migrate/20110328193014_create_cms_basic_pages.rb +14 -0
- data/spec/dummy_app/db/migrate/20110329183136_remove_league_id_from_teams.rb +9 -0
- data/spec/dummy_app/db/migrate/20110607152842_add_format_to_field_test.rb +9 -0
- data/spec/dummy_app/db/migrate/20110714095433_create_balls.rb +12 -0
- data/spec/dummy_app/db/migrate/20110831090841_add_protected_field_and_restricted_field_to_field_tests.rb +6 -0
- data/spec/dummy_app/db/migrate/20110901131551_change_division_primary_key.rb +19 -0
- data/spec/dummy_app/db/migrate/20110901142530_rename_league_id_foreign_key_on_divisions.rb +5 -0
- data/spec/dummy_app/db/migrate/20110901150912_set_primary_key_not_null_for_divisions.rb +21 -0
- data/spec/dummy_app/db/migrate/20110901154834_change_length_for_rails_admin_histories.rb +9 -0
- data/spec/dummy_app/db/migrate/20111103174459_create_unscoped_pages.rb +9 -0
- data/spec/dummy_app/db/migrate/20111108143642_add_dragonfly_and_carrierwave_to_field_tests.rb +7 -0
- data/spec/dummy_app/db/migrate/20111115041025_add_type_to_balls.rb +5 -0
- data/spec/dummy_app/db/migrate/20111123092549_create_nested_field_tests.rb +10 -0
- data/spec/dummy_app/db/migrate/20111130075338_add_dragonfly_asset_name_to_field_tests.rb +5 -0
- data/spec/dummy_app/db/migrate/20111215083258_create_foo_bars.rb +8 -0
- data/spec/dummy_app/db/migrate/20120117151733_add_custom_field_to_teams.rb +5 -0
- data/spec/dummy_app/db/migrate/20120118122004_add_categories.rb +7 -0
- data/spec/dummy_app/db/seeds.rb +18 -0
- data/spec/dummy_app/doc/README_FOR_APP +2 -0
- data/spec/dummy_app/public/404.html +26 -0
- data/spec/dummy_app/public/422.html +26 -0
- data/spec/dummy_app/public/500.html +25 -0
- data/spec/dummy_app/public/favicon.ico +0 -0
- data/spec/dummy_app/public/robots.txt +5 -0
- data/spec/dummy_app/public/system/dragonfly/development/2011/11/24/10_36_27_888_Pensive_Parakeet.jpg +0 -0
- data/spec/dummy_app/public/system/dragonfly/development/2011/11/24/10_36_27_888_Pensive_Parakeet.jpg.meta +1 -0
- data/spec/dummy_app/public/system/dragonfly/development/2011/11/30/08_54_39_906_Costa_Rican_Frog.jpg +0 -0
- data/spec/dummy_app/public/system/dragonfly/development/2011/11/30/08_54_39_906_Costa_Rican_Frog.jpg.meta +1 -0
- data/spec/dummy_app/public/system/paperclip_assets/1/original/Boston City Flow.jpg +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/1/thumb/Boston City Flow.jpg +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/3/original/Costa Rican Frog.jpg +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/3/thumb/Costa Rican Frog.jpg +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/6/original/liste-electorale.pdf +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/6/thumb/liste-electorale.pdf +148 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/3/Boston_City_Flow.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/3/thumb_Boston_City_Flow.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/4/Costa_Rican_Frog.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/4/thumb_Costa_Rican_Frog.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/6/Pensive_Parakeet.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/6/thumb_Pensive_Parakeet.jpg +0 -0
- data/spec/dummy_app/script/rails +6 -0
- data/spec/factories.rb +89 -0
- data/spec/helpers/application_helper_spec.rb +277 -0
- data/spec/integration/authorization/cancan_spec.rb +349 -0
- data/spec/integration/basic/bulk_action/rails_admin_basic_bulk_action_spec.rb +25 -0
- data/spec/integration/basic/bulk_destroy/rails_admin_basic_bulk_destroy_spec.rb +44 -0
- data/spec/integration/basic/create/rails_admin_basic_create_spec.rb +154 -0
- data/spec/integration/basic/create/rails_admin_namespaced_model_create_spec.rb +23 -0
- data/spec/integration/basic/delete/rails_admin_basic_delete_spec.rb +27 -0
- data/spec/integration/basic/destroy/rails_admin_basic_destroy_spec.rb +56 -0
- data/spec/integration/basic/edit/rails_admin_basic_edit_spec.rb +109 -0
- data/spec/integration/basic/export/rails_admin_basic_export_spec.rb +87 -0
- data/spec/integration/basic/list/rails_admin_basic_list_spec.rb +392 -0
- data/spec/integration/basic/new/rails_admin_basic_new_spec.rb +74 -0
- data/spec/integration/basic/new/rails_admin_namespaced_model_new_spec.rb +31 -0
- data/spec/integration/basic/show/rails_admin_basic_show_spec.rb +91 -0
- data/spec/integration/basic/update/rails_admin_basic_update_spec.rb +219 -0
- data/spec/integration/config/edit/rails_admin_config_edit_spec.rb +954 -0
- data/spec/integration/config/list/rails_admin_config_list_spec.rb +509 -0
- data/spec/integration/config/show/rails_admin_config_show_spec.rb +302 -0
- data/spec/integration/history/rails_admin_history_spec.rb +66 -0
- data/spec/integration/rails_admin_spec.rb +113 -0
- data/spec/integration/relation_spec.rb +26 -0
- data/spec/spec_helper.rb +86 -0
- data/spec/support/tableless.rb +27 -0
- data/spec/unit/adapters/active_record/abstract_object_spec.rb +131 -0
- data/spec/unit/adapters/active_record_spec.rb +373 -0
- data/spec/unit/adapters/mongoid/abstract_object_spec.rb +30 -0
- data/spec/unit/adapters/mongoid_spec.rb +581 -0
- data/spec/unit/config/actions_spec.rb +181 -0
- data/spec/unit/config/fields/base_spec.rb +300 -0
- data/spec/unit/config/model_spec.rb +75 -0
- data/spec/unit/config/sections_spec.rb +123 -0
- data/spec/unit/config_spec.rb +273 -0
- metadata +823 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "RailsAdmin Config DSL Show Section" do
|
|
4
|
+
subject { page }
|
|
5
|
+
let(:team) { FactoryGirl.create :team }
|
|
6
|
+
|
|
7
|
+
def do_request
|
|
8
|
+
# tests were done with compact_show_view being false
|
|
9
|
+
RailsAdmin.config do |c|
|
|
10
|
+
c.compact_show_view = false
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
visit show_path(:model_name => "team", :id => team.id)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
describe "compact_show_view" do
|
|
17
|
+
|
|
18
|
+
it 'should hide empty fields in show view by default' do
|
|
19
|
+
@player = FactoryGirl.create :player
|
|
20
|
+
visit show_path(:model_name => "league", :id => @player.id)
|
|
21
|
+
should_not have_css(".born_on_field")
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
it 'should be disactivable' do
|
|
26
|
+
RailsAdmin.config do |c|
|
|
27
|
+
c.compact_show_view = false
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
@player = FactoryGirl.create :player
|
|
31
|
+
visit show_path(:model_name => "player", :id => @player.id)
|
|
32
|
+
should have_css(".born_on_field")
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe "css hooks" do
|
|
37
|
+
it "should be present" do
|
|
38
|
+
do_request
|
|
39
|
+
should have_selector("dt.name_field.string_type")
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
describe "field groupings" do
|
|
44
|
+
it "should be hideable" do
|
|
45
|
+
RailsAdmin.config Team do
|
|
46
|
+
show do
|
|
47
|
+
group :default do
|
|
48
|
+
hide
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
do_request
|
|
54
|
+
|
|
55
|
+
should_not have_selector("h4", :text => "Basic info")
|
|
56
|
+
|
|
57
|
+
%w[division name logo_url manager
|
|
58
|
+
ballpark mascot founded wins
|
|
59
|
+
losses win_percentage revenue
|
|
60
|
+
].each do |field|
|
|
61
|
+
should_not have_selector(".#{field}_field")
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "should hide association groupings by the name of the association" do
|
|
66
|
+
RailsAdmin.config Team do
|
|
67
|
+
show do
|
|
68
|
+
group :players do
|
|
69
|
+
hide
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
do_request
|
|
75
|
+
|
|
76
|
+
should_not have_selector("h4", :text => "Players")
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
it "should be renameable" do
|
|
80
|
+
RailsAdmin.config Team do
|
|
81
|
+
show do
|
|
82
|
+
group :default do
|
|
83
|
+
label "Renamed group"
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
do_request
|
|
89
|
+
|
|
90
|
+
should have_selector("h4", :text => "Renamed group")
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
it "should have accessor for its fields" do
|
|
94
|
+
RailsAdmin.config Team do
|
|
95
|
+
show do
|
|
96
|
+
group :default do
|
|
97
|
+
field :name
|
|
98
|
+
field :logo_url
|
|
99
|
+
end
|
|
100
|
+
group :belongs_to_associations do
|
|
101
|
+
label "Belong's to associations"
|
|
102
|
+
field :division
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
do_request
|
|
108
|
+
|
|
109
|
+
should have_selector("h4", :text => "Basic info")
|
|
110
|
+
should have_selector("h4", :text => "Belong's to associations")
|
|
111
|
+
|
|
112
|
+
should have_selector(".name_field")
|
|
113
|
+
should have_selector(".logo_url_field")
|
|
114
|
+
should have_selector(".division_field")
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
it "should have accessor for its fields by type" do
|
|
118
|
+
RailsAdmin.config Team do
|
|
119
|
+
show do
|
|
120
|
+
group :default do
|
|
121
|
+
field :name
|
|
122
|
+
field :logo_url
|
|
123
|
+
end
|
|
124
|
+
group :other do
|
|
125
|
+
field :division
|
|
126
|
+
field :manager
|
|
127
|
+
field :ballpark
|
|
128
|
+
fields_of_type :string do
|
|
129
|
+
label { "#{label} (STRING)" }
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
do_request
|
|
136
|
+
|
|
137
|
+
should have_selector(".label", :text => "Name")
|
|
138
|
+
should have_selector(".label", :text => "Logo url")
|
|
139
|
+
should have_selector(".label", :text => "Division")
|
|
140
|
+
should have_selector(".label", :text => "Manager (STRING)")
|
|
141
|
+
should have_selector(".label", :text => "Ballpark (STRING)")
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
describe "items' fields" do
|
|
146
|
+
|
|
147
|
+
it "should show all by default" do
|
|
148
|
+
do_request
|
|
149
|
+
|
|
150
|
+
%w[division name logo_url manager
|
|
151
|
+
ballpark mascot founded wins
|
|
152
|
+
losses win_percentage revenue players fans
|
|
153
|
+
].each do |field|
|
|
154
|
+
should have_selector(".#{field}_field")
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
it "should only show the defined fields and appear in order defined" do
|
|
159
|
+
RailsAdmin.config Team do
|
|
160
|
+
show do
|
|
161
|
+
field :manager
|
|
162
|
+
field :division
|
|
163
|
+
field :name
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
do_request
|
|
168
|
+
|
|
169
|
+
should have_selector(".manager_field")
|
|
170
|
+
should have_selector(".division_field")
|
|
171
|
+
should have_selector(".name_field")
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
it "should delegates the label option to the ActiveModel API" do
|
|
176
|
+
RailsAdmin.config Team do
|
|
177
|
+
show do
|
|
178
|
+
field :manager
|
|
179
|
+
field :fans
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
do_request
|
|
184
|
+
|
|
185
|
+
should have_selector(".label", :text => "Team Manager")
|
|
186
|
+
should have_selector(".label", :text => "Some Fans")
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
it "should be renameable" do
|
|
190
|
+
RailsAdmin.config Team do
|
|
191
|
+
show do
|
|
192
|
+
field :manager do
|
|
193
|
+
label "Renamed field"
|
|
194
|
+
end
|
|
195
|
+
field :division
|
|
196
|
+
field :name
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
do_request
|
|
201
|
+
|
|
202
|
+
should have_selector(".label", :text => "Renamed field")
|
|
203
|
+
should have_selector(".label", :text => "Division")
|
|
204
|
+
should have_selector(".label", :text => "Name")
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
it "should be renameable by type" do
|
|
208
|
+
RailsAdmin.config Team do
|
|
209
|
+
show do
|
|
210
|
+
fields_of_type :string do
|
|
211
|
+
label { "#{label} (STRING)" }
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
do_request
|
|
217
|
+
|
|
218
|
+
["Division", "Name (STRING)", "Logo url (STRING)", "Manager (STRING)",
|
|
219
|
+
"Ballpark (STRING)", "Mascot (STRING)", "Founded", "Wins", "Losses",
|
|
220
|
+
"Win percentage", "Revenue", "Players", "Fans"
|
|
221
|
+
].each do |text|
|
|
222
|
+
should have_selector(".label", :text => text)
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
it "should be globally renameable by type" do
|
|
227
|
+
RailsAdmin::Config.models do
|
|
228
|
+
show do
|
|
229
|
+
fields_of_type :string do
|
|
230
|
+
label { "#{label} (STRING)" }
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
do_request
|
|
236
|
+
|
|
237
|
+
["Division", "Name (STRING)", "Logo url (STRING)", "Manager (STRING)",
|
|
238
|
+
"Ballpark (STRING)", "Mascot (STRING)", "Founded", "Wins", "Losses",
|
|
239
|
+
"Win percentage", "Revenue", "Players", "Fans"
|
|
240
|
+
].each do |text|
|
|
241
|
+
should have_selector(".label", :text => text)
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
it "should be hideable" do
|
|
246
|
+
RailsAdmin.config Team do
|
|
247
|
+
show do
|
|
248
|
+
field :manager do
|
|
249
|
+
hide
|
|
250
|
+
end
|
|
251
|
+
field :division
|
|
252
|
+
field :name
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
do_request
|
|
257
|
+
|
|
258
|
+
should have_selector(".division_field")
|
|
259
|
+
should have_selector(".name_field")
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
it "should be hideable by type" do
|
|
263
|
+
RailsAdmin.config Team do
|
|
264
|
+
show do
|
|
265
|
+
fields_of_type :string do
|
|
266
|
+
hide
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
do_request
|
|
272
|
+
|
|
273
|
+
%w[Name Logo\ url Manager Ballpark Mascot].each do |text|
|
|
274
|
+
should_not have_selector(".label", :text => text)
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
%w[Division Founded Wins Losses Win\ percentage Revenue Players Fans].each do |text|
|
|
278
|
+
should have_selector(".label", :text => text)
|
|
279
|
+
end
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
it "should be globally hideable by type" do
|
|
283
|
+
RailsAdmin::Config.models do
|
|
284
|
+
show do
|
|
285
|
+
fields_of_type :string do
|
|
286
|
+
hide
|
|
287
|
+
end
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
do_request
|
|
292
|
+
|
|
293
|
+
%w[Name Logo\ url Manager Ballpark Mascot].each do |text|
|
|
294
|
+
should_not have_selector(".label", :text => text)
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
%w[Division Founded Wins Losses Win\ percentage Revenue Players Fans].each do |text|
|
|
298
|
+
should have_selector(".label", :text => text)
|
|
299
|
+
end
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'rails_admin/extensions/history/history'
|
|
3
|
+
|
|
4
|
+
describe "RailsAdmin History" do
|
|
5
|
+
describe "model history fetch" do
|
|
6
|
+
before :each do
|
|
7
|
+
RailsAdmin::History.delete_all
|
|
8
|
+
@model = RailsAdmin::AbstractModel.new("Player")
|
|
9
|
+
player = FactoryGirl.create :player
|
|
10
|
+
30.times do |i|
|
|
11
|
+
player.number = i
|
|
12
|
+
RailsAdmin::History.create_history_item "change #{i}", player, @model, nil
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "should fetch one page of history" do
|
|
17
|
+
histories = RailsAdmin::History.history_for_model @model, nil, false, false, false, nil, 20
|
|
18
|
+
histories.total_count.should == 30
|
|
19
|
+
histories.count.should == 20
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "should respect RailsAdmin::Config.default_items_per_page" do
|
|
23
|
+
RailsAdmin.config.default_items_per_page = 15
|
|
24
|
+
histories = RailsAdmin::History.history_for_model @model, nil, false, false, false, nil
|
|
25
|
+
histories.total_count.should == 30
|
|
26
|
+
histories.count.should == 15
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
context "GET admin/history/@model" do
|
|
30
|
+
before :each do
|
|
31
|
+
RailsAdmin.config do |c|
|
|
32
|
+
c.audit_with :history
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
visit history_index_path(@model)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# https://github.com/sferik/rails_admin/issues/362
|
|
39
|
+
# test that no link uses the "wildcard route" with the history
|
|
40
|
+
# controller and for_model method
|
|
41
|
+
it "should not use the 'wildcard route'" do
|
|
42
|
+
page.should have_selector("a[href*='all=true']") # make sure we're fully testing pagination
|
|
43
|
+
page.should have_no_selector("a[href^='/rails_admin/history/for_model']")
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
context "with a lot of histories" do
|
|
47
|
+
before :each do
|
|
48
|
+
player = Player.create(:team_id => -1, :number => -1, :name => "Player 1")
|
|
49
|
+
101.times do |i|
|
|
50
|
+
player.number = i
|
|
51
|
+
RailsAdmin::History.create_history_item "change #{i}", player, @model, nil
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
it 'should get latest ones' do
|
|
56
|
+
RailsAdmin::History.latest.count.should == 100
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it "should render a XHR request successfully" do
|
|
60
|
+
xhr :get, history_index_path(@model, :page => 2)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "RailsAdmin" do
|
|
4
|
+
|
|
5
|
+
subject { page }
|
|
6
|
+
|
|
7
|
+
describe "authentication" do
|
|
8
|
+
it "should be disableable" do
|
|
9
|
+
logout
|
|
10
|
+
RailsAdmin.config do |config|
|
|
11
|
+
config.authenticate_with {}
|
|
12
|
+
end
|
|
13
|
+
visit dashboard_path
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# A common mistake for translators is to forget to change the YAML file's
|
|
18
|
+
# root key from en to their own locale (as people tend to use the English
|
|
19
|
+
# file as template for a new translation).
|
|
20
|
+
describe "localization" do
|
|
21
|
+
it "should default to English" do
|
|
22
|
+
visit dashboard_path
|
|
23
|
+
|
|
24
|
+
should have_content("Site administration")
|
|
25
|
+
should have_content("Dashboard")
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe "html head" do
|
|
30
|
+
before { visit dashboard_path }
|
|
31
|
+
|
|
32
|
+
# Note: the [href^="/asset... syntax matches the start of a value. The reason
|
|
33
|
+
# we just do that is to avoid being confused by rails' asset_ids.
|
|
34
|
+
it "should load stylesheets in header" do
|
|
35
|
+
should have_selector('head link[href^="/assets/rails_admin/rails_admin.css"]')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it "should load javascript files in body" do
|
|
39
|
+
should have_selector('head script[src^="/assets/rails_admin/rails_admin.js"]')
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
describe 'hidden fields with default values' do
|
|
44
|
+
it "should show up with default value, hidden" do
|
|
45
|
+
RailsAdmin.config Player do
|
|
46
|
+
include_all_fields
|
|
47
|
+
edit do
|
|
48
|
+
field :name, :hidden do
|
|
49
|
+
default_value do
|
|
50
|
+
bindings[:view]._current_user.email
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
visit new_path(:model_name => "player")
|
|
57
|
+
should have_selector("#player_name[type=hidden][value='username@example.com']")
|
|
58
|
+
should_not have_selector("#player_name[type=hidden][value='toto@example.com']")
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
describe '_current_user' do # https://github.com/sferik/rails_admin/issues/549
|
|
63
|
+
|
|
64
|
+
it 'should be accessible from the list view' do
|
|
65
|
+
RailsAdmin.config Player do
|
|
66
|
+
list do
|
|
67
|
+
field :name do
|
|
68
|
+
visible do
|
|
69
|
+
bindings[:view]._current_user.email == 'username@example.com'
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
field :team do
|
|
74
|
+
visible do
|
|
75
|
+
bindings[:view]._current_user.email == 'foo@example.com'
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
visit index_path(:model_name => "player")
|
|
82
|
+
should have_selector(".header.name_field")
|
|
83
|
+
should_not have_selector(".header.team_field")
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
describe "polymorphic associations" do
|
|
88
|
+
before :each do
|
|
89
|
+
@team = FactoryGirl.create :team
|
|
90
|
+
@comment = FactoryGirl.create :comment, :commentable => @team
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
it "should work like belongs to associations in the list view" do
|
|
94
|
+
visit index_path(:model_name => "comment")
|
|
95
|
+
|
|
96
|
+
should have_content(@team.name)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it "should be editable" do
|
|
100
|
+
visit edit_path(:model_name => "comment", :id => @comment.id)
|
|
101
|
+
|
|
102
|
+
should have_selector("select#comment_commentable_type")
|
|
103
|
+
should have_selector("select#comment_commentable_id")
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
it "should be visible in the owning end" do
|
|
107
|
+
visit edit_path(:model_name => "team", :id => @team.id)
|
|
108
|
+
|
|
109
|
+
should have_selector("select#team_comment_ids")
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
end
|