rails_admin 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rails_admin might be problematic. Click here for more details.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Gemfile +22 -10
- data/README.md +32 -92
- data/Rakefile +13 -2
- data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +3 -3
- data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +153 -58
- data/app/controllers/rails_admin/application_controller.rb +12 -12
- data/app/controllers/rails_admin/main_controller.rb +30 -35
- data/app/helpers/rails_admin/application_helper.rb +37 -40
- data/app/helpers/rails_admin/form_builder.rb +26 -25
- data/app/helpers/rails_admin/main_helper.rb +10 -9
- data/app/views/rails_admin/main/_dashboard_history.html.haml +5 -4
- data/app/views/rails_admin/main/index.html.haml +7 -0
- data/config/initializers/active_record_extensions.rb +3 -3
- data/config/initializers/haml.rb +1 -1
- data/config/routes.rb +7 -7
- data/lib/generators/rails_admin/install_generator.rb +5 -84
- data/lib/generators/rails_admin/templates/initializer.erb +29 -95
- data/lib/generators/rails_admin/utils.rb +3 -14
- data/lib/rails_admin.rb +1 -1
- data/lib/rails_admin/abstract_model.rb +30 -28
- data/lib/rails_admin/adapters/active_record.rb +36 -36
- data/lib/rails_admin/adapters/active_record/abstract_object.rb +2 -2
- data/lib/rails_admin/adapters/mongoid.rb +102 -108
- data/lib/rails_admin/adapters/mongoid/abstract_object.rb +1 -1
- data/lib/rails_admin/adapters/mongoid/extension.rb +5 -5
- data/lib/rails_admin/bootstrap-sass.rb +7 -8
- data/lib/rails_admin/bootstrap-sass/compass_functions.rb +2 -1
- data/lib/rails_admin/config.rb +24 -29
- data/lib/rails_admin/config/actions.rb +12 -15
- data/lib/rails_admin/config/actions/base.rb +8 -8
- data/lib/rails_admin/config/actions/bulk_delete.rb +3 -3
- data/lib/rails_admin/config/actions/dashboard.rb +5 -5
- data/lib/rails_admin/config/actions/delete.rb +4 -4
- data/lib/rails_admin/config/actions/edit.rb +3 -3
- data/lib/rails_admin/config/actions/export.rb +1 -1
- data/lib/rails_admin/config/actions/history_index.rb +1 -1
- data/lib/rails_admin/config/actions/history_show.rb +1 -1
- data/lib/rails_admin/config/actions/index.rb +20 -11
- data/lib/rails_admin/config/actions/new.rb +3 -3
- data/lib/rails_admin/config/actions/show.rb +2 -2
- data/lib/rails_admin/config/actions/show_in_app.rb +1 -1
- data/lib/rails_admin/config/configurable.rb +27 -27
- data/lib/rails_admin/config/fields.rb +7 -7
- data/lib/rails_admin/config/fields/association.rb +6 -7
- data/lib/rails_admin/config/fields/base.rb +32 -30
- data/lib/rails_admin/config/fields/factories/association.rb +9 -10
- data/lib/rails_admin/config/fields/factories/carrierwave.rb +3 -9
- data/lib/rails_admin/config/fields/factories/devise.rb +2 -4
- data/lib/rails_admin/config/fields/factories/dragonfly.rb +3 -5
- data/lib/rails_admin/config/fields/factories/enum.rb +1 -1
- data/lib/rails_admin/config/fields/factories/paperclip.rb +3 -3
- data/lib/rails_admin/config/fields/group.rb +6 -8
- data/lib/rails_admin/config/fields/types.rb +2 -2
- data/lib/rails_admin/config/fields/types/belongs_to_association.rb +4 -4
- data/lib/rails_admin/config/fields/types/boolean.rb +2 -2
- data/lib/rails_admin/config/fields/types/bson_object_id.rb +7 -12
- data/lib/rails_admin/config/fields/types/carrierwave.rb +1 -1
- data/lib/rails_admin/config/fields/types/ck_editor.rb +3 -3
- data/lib/rails_admin/config/fields/types/code_mirror.rb +9 -9
- data/lib/rails_admin/config/fields/types/color.rb +2 -2
- data/lib/rails_admin/config/fields/types/date.rb +2 -2
- data/lib/rails_admin/config/fields/types/datetime.rb +52 -54
- data/lib/rails_admin/config/fields/types/decimal.rb +1 -1
- data/lib/rails_admin/config/fields/types/dragonfly.rb +2 -2
- data/lib/rails_admin/config/fields/types/enum.rb +3 -3
- data/lib/rails_admin/config/fields/types/file_upload.rb +5 -5
- data/lib/rails_admin/config/fields/types/float.rb +1 -1
- data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +1 -1
- data/lib/rails_admin/config/fields/types/has_many_association.rb +1 -1
- data/lib/rails_admin/config/fields/types/has_one_association.rb +3 -4
- data/lib/rails_admin/config/fields/types/hidden.rb +1 -1
- data/lib/rails_admin/config/fields/types/integer.rb +1 -1
- data/lib/rails_admin/config/fields/types/paperclip.rb +2 -2
- data/lib/rails_admin/config/fields/types/password.rb +4 -4
- data/lib/rails_admin/config/fields/types/polymorphic_association.rb +8 -11
- data/lib/rails_admin/config/fields/types/serialized.rb +1 -1
- data/lib/rails_admin/config/fields/types/string.rb +5 -6
- data/lib/rails_admin/config/fields/types/text.rb +6 -6
- data/lib/rails_admin/config/fields/types/time.rb +4 -4
- data/lib/rails_admin/config/fields/types/timestamp.rb +1 -1
- data/lib/rails_admin/config/fields/types/wysihtml5.rb +1 -2
- data/lib/rails_admin/config/has_fields.rb +24 -24
- data/lib/rails_admin/config/has_groups.rb +5 -3
- data/lib/rails_admin/config/hideable.rb +2 -2
- data/lib/rails_admin/config/lazy_model.rb +1 -1
- data/lib/rails_admin/config/model.rb +6 -7
- data/lib/rails_admin/config/proxyable/proxy.rb +4 -6
- data/lib/rails_admin/config/sections.rb +1 -3
- data/lib/rails_admin/config/sections/base.rb +1 -1
- data/lib/rails_admin/config/sections/list.rb +4 -0
- data/lib/rails_admin/engine.rb +3 -3
- data/lib/rails_admin/extension.rb +3 -3
- data/lib/rails_admin/extensions/cancan.rb +3 -3
- data/lib/rails_admin/extensions/cancan/authorization_adapter.rb +1 -1
- data/lib/rails_admin/extensions/history.rb +3 -3
- data/lib/rails_admin/extensions/history/auditing_adapter.rb +1 -1
- data/lib/rails_admin/extensions/history/history.rb +12 -11
- data/lib/rails_admin/extensions/paper_trail.rb +3 -3
- data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +30 -19
- data/lib/rails_admin/i18n_support.rb +11 -15
- data/lib/rails_admin/support/core_extensions.rb +4 -5
- data/lib/rails_admin/support/csv_converter.rb +21 -23
- data/lib/rails_admin/version.rb +4 -7
- data/lib/rails_admin/version.rbc +582 -0
- data/lib/tasks/rails_admin.rake +0 -12
- data/spec/controllers/rails_admin/application_controller_spec.rb +12 -12
- data/spec/controllers/rails_admin/main_controller_spec.rb +127 -131
- data/spec/dummy_app/Gemfile +12 -6
- data/spec/dummy_app/Gemfile.lock +276 -47
- data/spec/dummy_app/app/active_record/abstract.rb +0 -2
- data/spec/dummy_app/app/active_record/another_field_test.rb +1 -1
- data/spec/dummy_app/app/active_record/ball.rb +2 -2
- data/spec/dummy_app/app/active_record/carrierwave_uploader.rb +1 -3
- data/spec/dummy_app/app/active_record/category.rb +1 -1
- data/spec/dummy_app/app/active_record/cms/basic_page.rb +1 -1
- data/spec/dummy_app/app/active_record/comment.rb +1 -1
- data/spec/dummy_app/app/active_record/comment/confirmed.rb +1 -1
- data/spec/dummy_app/app/active_record/division.rb +2 -2
- data/spec/dummy_app/app/active_record/draft.rb +5 -5
- data/spec/dummy_app/app/active_record/field_test.rb +6 -6
- data/spec/dummy_app/app/active_record/image.rb +1 -1
- data/spec/dummy_app/app/active_record/league.rb +3 -3
- data/spec/dummy_app/app/active_record/nested_field_test.rb +4 -4
- data/spec/dummy_app/app/active_record/player.rb +7 -7
- data/spec/dummy_app/app/active_record/team.rb +12 -9
- data/spec/dummy_app/app/active_record/user.rb +2 -2
- data/spec/dummy_app/app/mongoid/another_field_test.rb +1 -1
- data/spec/dummy_app/app/mongoid/ball.rb +3 -3
- data/spec/dummy_app/app/mongoid/carrierwave_uploader.rb +1 -3
- data/spec/dummy_app/app/mongoid/category.rb +1 -1
- data/spec/dummy_app/app/mongoid/cms/basic_page.rb +3 -3
- data/spec/dummy_app/app/mongoid/comment.rb +2 -2
- data/spec/dummy_app/app/mongoid/comment/confirmed.rb +1 -1
- data/spec/dummy_app/app/mongoid/division.rb +2 -2
- data/spec/dummy_app/app/mongoid/draft.rb +11 -11
- data/spec/dummy_app/app/mongoid/embed.rb +1 -1
- data/spec/dummy_app/app/mongoid/fan.rb +1 -1
- data/spec/dummy_app/app/mongoid/field_test.rb +35 -35
- data/spec/dummy_app/app/mongoid/image.rb +1 -1
- data/spec/dummy_app/app/mongoid/league.rb +3 -3
- data/spec/dummy_app/app/mongoid/nested_field_test.rb +5 -5
- data/spec/dummy_app/app/mongoid/player.rb +17 -17
- data/spec/dummy_app/app/mongoid/team.rb +28 -24
- data/spec/dummy_app/app/mongoid/user.rb +13 -13
- data/spec/dummy_app/config/application.rb +5 -5
- data/spec/dummy_app/config/boot.rb +1 -3
- data/spec/dummy_app/config/environments/test.rb +1 -1
- data/spec/dummy_app/config/initializers/devise.rb +2 -2
- data/spec/dummy_app/config/initializers/session_patch.rb +1 -2
- data/spec/dummy_app/config/initializers/session_store.rb +1 -1
- data/spec/dummy_app/config/initializers/wrap_parameters.rb +1 -1
- data/spec/dummy_app/config/routes.rb +2 -2
- data/spec/dummy_app/db/development.sqlite3 +0 -0
- data/spec/dummy_app/db/migrate/00000000000001_create_divisions_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000002_create_drafts_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000003_create_leagues_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000004_create_players_migration.rb +5 -5
- data/spec/dummy_app/db/migrate/00000000000005_create_teams_migration.rb +5 -5
- data/spec/dummy_app/db/migrate/00000000000006_devise_create_users.rb +5 -5
- data/spec/dummy_app/db/migrate/00000000000007_create_histories_table.rb +7 -7
- data/spec/dummy_app/db/migrate/00000000000008_create_fans_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000009_create_fans_teams_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000010_add_revenue_to_team_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000011_add_suspended_to_player_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000012_add_avatar_columns_to_user.rb +0 -1
- data/spec/dummy_app/db/migrate/20101223222233_create_rel_tests.rb +1 -1
- data/spec/dummy_app/db/migrate/20110714095433_create_balls.rb +1 -1
- data/spec/dummy_app/db/migrate/20110901131551_change_division_primary_key.rb +3 -3
- data/spec/dummy_app/db/migrate/20110901150912_set_primary_key_not_null_for_divisions.rb +4 -5
- data/spec/dummy_app/db/migrate/20120319041705_drop_rel_tests.rb +1 -1
- data/spec/dummy_app/db/schema.rb +197 -0
- data/spec/dummy_app/db/seeds.rb +9 -9
- data/spec/dummy_app/db/test.sqlite3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/mixins.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/theming.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/variables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/66bb15d356a3ae9531c123a31be7776c5874ac21/font-awesome.css.erbc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/7a85589b70ac6319b07ac05552a98bba4b834a39/font-awesome-4-compability.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/mixins.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/theming.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/variables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{ebde8a6cd2923d8c583ca746dd952b4fe080c2a1 → 92899d6fb50bc282d329302d61a5c00fa959d762}/jquery-ui-1.8.7.custom.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/jquery.colorpicker.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/jquery.ui.timepicker.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.calendar-additions.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.filtering-multiselect.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.widgets.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/rails_admin.scss.erbc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/mixins.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/theming.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/variables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_accordion.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_alerts.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_breadcrumbs.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_button-groups.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_buttons.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_carousel.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_close.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_component-animations.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_dropdowns.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_forms.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_grid.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_hero-unit.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_labels-badges.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_layouts.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_mixins.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_modals.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_navbar.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_navs.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_pager.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_pagination.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_popovers.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_progress-bars.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_reset.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_scaffolding.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_tables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_thumbnails.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_tooltip.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_type.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_utilities.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_variables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_wells.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d1c2c3a2df8517e019edf30db44566b4 → 021e87bfe65a024a849db3c621f39607} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/02da6cc33425a1387089c6030cf514db +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{4863c57f6c9bbf8cf392ba250f7e8e99 → 04880af615c5763f7808495d1676565b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0599094d22f449fecdbc1ae48e3d901e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5c75555dac51f16619f3630fc4ce7811 → 06065efe9216af455ca5ae63b780842a} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{fb0757f81f5726edb2a3fecb73c190ac → 07f7c76677c34256252f23976ce6c2a1} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0843377cd450cc8688003ba317723fae +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0a4355e8cc379590a5aaf8542419d306 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0b35ad462ccf12ca91cff9c51164c5a0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0f04a8cf5d989e555542213f5b5db676 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{129530d9cbfe95daa40fefb31b541d13 → 1252be603446e6064e85dae1533eaa59} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/12b2ef118f691f66646eac032f7535d3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/136f479ebd2eedeb83550b4a882538e5 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1381657fbbc4cc175ae0406c8cbdd852 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/161f8f439887fb5926b02a917b2fab29 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1b26b92ae53bdc1e9f8a5afa7b72b381 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1befe9a4bb03dc468cd7f5e7148a6a52 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1d12409a91dcc8c8a4965c52a7f6b099 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1db0d2a002e581a113a91a6e93e5d4e7 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{10c9ca24ee38f89898883cf73e22a947 → 1dd74057b76db8f42e06cbb888f14956} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{996f66db546cbb0e74c8e1b206934a8b → 1e7b3532f20949a13b8b69d2dddc559a} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/2051323c87c06ef9fb769ff13afe1d46 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{714f390b93b33846a6c8358e3fb0555e → 2197e41c9dda6c82b109eaa0d5adaf2f} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{cde5d358d89af1813033adcf5abdc012 → 22003805d8abcf11f0649bff9cef6c35} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/258dbc982e14f78732a377754ed23a4b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/26489e402a71f43f962d6055e30787d0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{969c58767a7de67e78f9ea69195183d9 → 276e2819a676347a7de259b70679adb8} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/2894746ab7d895286c1b09e42fc94281 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2ab4ad958f77a3629fb62246f5604bce → 28c0c99cd6d41ead252f979cef74c6c5} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{095e7d24e036c328ff8a353b062c075e → 2943f3fe07d2ae0184c2282647d5c50e} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{a03d8b8153d1a1abc2abf53568d4dad0 → 2a421ff8fbf280e0d7323f26d2656144} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d35f06fe57bd03bea2483b5398b2c6f8 → 2f23e3869b68c4c9492f9497b288f6bb} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{9011102569db38052e6353455fac950e → 30539f6bae0581cb548f51ee6d9d5b9b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2656c3bece9f7e34887e2fceded0784e → 318296efd3e38c26a302d99d1638e4ad} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/31bfcc7896d47062b682cb7305aa9052 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/346057a4a317d5399f0faa78baf2be98 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0ed0d802514844bf10f8361f431c8cc8 → 374aecf6aa1d05dd23ce4881c1bdd71b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{76c588a87498d0a7b9c4b93f78c47965 → 382ebccfe8b6bce742f4a2bc0c109d0f} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{9ba5c2b7b2f656550a0deffc19472e39 → 39792f57ea45373a09c7ac823905cb29} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e647f039e5c667d1ca130f914fb70624 → 3a3728ebf0994eb3f68ac9acf74c5904} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5395b275597f09db5cc276d8a35b1c9b → 3aaf980536f44c31d1d0145ba8f1721d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{460d342022e00bbd6edff25125a60ab1 → 3ba808481868b8a56fdf9f106eeda367} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/44e79847ae7bb5c853dbfefa452355f0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/459777cb1d30f6467da8dd53d9841bee +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/46842ce793ce3da43a6c21ef0c0e745e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4764b71e86b2ebfa988853e0ce3bb441 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4821eb4277ad6a0983c16630cd5806ae +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{375cc143f1184d76e6b3ff0dfb60187c → 485a6b0358511c73965a851ba5569014} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{ba4f88faafacc90d28bc5a92032f2608 → 49ccc514fe103c24a38f100cecb21be9} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b8e717c8deb6edc80a7a690369d13d35 → 49de4f401551329c23b46284313de8d1} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{c61f7caef6bb75b1c15bde82e7cbbee2 → 4f3e6b4e40b631d3d949509f32ea9bc3} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5de4f3048b6d83b2236bfbc041ad8f11 → 4fb06529e2126644ddf41924f5be2880} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4fbd3f63d231f5b25d1b8eb02ecdd150 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4ffa898a34dcdcfb92898d913da3f720 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5159e29eea352859ecad8605385bc97e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{498ee0d8892d5d9be8a37030e3253e14 → 529d621e1fb6b730d9d035b143e93f69} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/54c3d5d9311b5d421c51b5d473de5b05 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/582efaa561d6a724a7cd82b2023e8e29 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b7ffc32371aea730fc8e27be3be8e633 → 59c191aebff69f4e76cb50860ff17df5} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a0024fd5a8ae8322b07acc733c6caed +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a8fc55cb58b423142d530fc066dd3a4 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5b1732a4f9d541544d84a04dda73e752 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5c8e7da8dcddc72d152039cec5b173c9 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5e2e774a2e56e0db0d18d782bbcb9639 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6eff33b3b8fa010e960659ed61b250e6 → 5e9526449d8415fba07fb15676ccea95} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{63ff3018e663064066c3dae6658c36fc → 5eed513a4451dedcc36ec16c45745bd4} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5fab61053117e1d102e0a355e4b870d3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{8cfd86644ffefe11ed4880518435c8a5 → 62313843f7d1e2195eca82386ddbafc4} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6e2e2c829c91d3d0c079771ed77e6654 → 638b254892f40165bda0c1ee6f62a6d6} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{540da504e121104c4de8155ec685b4ea → 660d820d7f5e69fe59c0a7f01aaef8c6} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/69f59cfc7f92e5d7ebf02df73928083b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6a09089b5590cbb5dbccba9199b1aa0e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6ab99dcd31d6d0380c0df7baa42a2b18 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6b3e9ff481b3a040acb4e1ea61e4c8fc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6ce0b5fdde88a0e3ff318a0c2726d46f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6d278334e72b135765a41e991bec0500 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e13a9d14cda66ff1562d59bae5bb0009 → 6f70cf17d6c5ba22b8afddd7d39c4d70} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{743e275172178779f8b1f7fbe08dd5ea → 729b76b484c9c4df3af759a93635b21d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/72d8ec2796504cc9604b01118b806cd8 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/74b195601a5c6c8bf93e5e7e9e6da12b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2d1df5e32a061a951d5a2d4d9f6c3d24 → 75c3e223b3986acf0bc6c669d16054b8} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4a49843caf12d9a6dc764014f42b895 → 75ed3fc3c431fc2154cdd1f760f3210e} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7795054eed96c541e38536fa029a42ad +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2e8383214772b291c87934ed8a84b955 → 77a4a5a208b8121488fd9ef247d67813} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7ec629ff58b2d1e0dfe7f8c56f2fc5d7 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b82696d97bda7df1d71f90b91abbbb80 → 840324d228205039aaaafc391c208430} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7be36e83efedfb86b40e05e2c2e9cacf → 842328de502c909f498ccca706cd47dc} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5cb7d2cb1418d5831b0b61ca68d18a07 → 8644f94b9a1a902153cd97473ce23266} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bdf867751d648676e25e36a9435e6b26 → 88f2fbf474d52591035c94b07b696ff9} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e1bba75ba340cdef270c20efd6f983ac → 89fe3f3e75d5eb4ecb1b836fd792990d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{a03fc26531eea1055e58e91bd64792b3 → 917c85b2a002bf08c90f4509aba5b538} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7f5f2d823155f3f1da616e146d540dc1 → 920f17a87bb2678c28568f5e686a4cf1} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/925c3596709eb590d786f15a3cf817bb +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/984e0e653074756d5c241ac3597b68d8 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7ed06e4bd001b429d263963fbe783f11 → 98a0e68016b3c8f8000d991b1d5bc044} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9b9810623fa8a8a92e55d065f93340ee +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9c834e292807614b87fc885949cb12d5 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{aa87eff56d455dae33b13bb129cd4d3f → 9dab4fa8ba5260be660ee06b90e3e847} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9f60a2e19502e0f9ad7ccffa2da50342 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d5cb053b401e51026a9c743fc9442a45 → 9f6c080a6bd27db284fbb211f3f44a6c} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9fb546f0f37deda2fdcfd48930de0f69 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bb2bc7acd86cbf95e1ca5d978aa3b407 → a0bdc79935fc14ace4c5366e1ba7d527} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/a1f2411c0e3e9a52183b5f0c96fa84c8 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{24dcc2914999ebf715353482d3b22e51 → a41cd406b752008bf3aaeb365d9d5e8b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bedffc652989e272a8e2774aab019da5 → a50199939a6040343c5487c1dde55260} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/a80f3bf6075735abb8874bf40ca7a4cd +0 -0
- data/spec/dummy_app/tmp/{dragonfly/cache/body/20/4b9c4f1d960805e206c28eac62367b6970f63b → cache/assets/test/sprockets/ad452a261b3fc90b3aca85ffc630817d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{38fd3d9139702eff7281ee67b638d92e → b0b910efc00aa49d187637e761ea0654} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0c78a1295e80206cd724fb0661c58ee4 → b12de6d4d7f222f76b111c25f5dab178} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/b1d340312b1b800c7c5e652e1db6c9cc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/b31203d66a43ee74d976dc763f42f38a +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{20967f4e0f44fccf2c2de06aad218647 → b944bc4b0799f7954005e8b1a5336687} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{f8d79539ba48d44d737f7ca1295354f7 → baf1f20ee8ed55082855f5ecfbb9db4e} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/bf1fd5d742a16de894278017732d1b2c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/bffa7d2c518d584c3f1ba8b9e11cf745 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0f72b417ab87169150cd61260cc18f4e → c2f1cee7fb8eb8492c4084ce00dc53b6} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c53a5fc1810ee9b6c3c933fd5590228e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c801ebd7cabbdbe237c427692b2f6017 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{98c978063ce9eca4f00d35e8ee8ccccb → c87758b6b5f54876dccc4562ebd59a43} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/cb1a9d6c11a7eb5430d3c79838a53eb1 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/cb1d6fcc9bad898327636cf414f73b57 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/cd8be896a3bf8f11cc61e0fb6b90eb80 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{550d461012567dbfec3138e404c434e3 → ce027086e6de68f182037504b6227485} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ce9ba680277b6a7f2f6c65c077e83384 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4d934ea7bb7519042bc79deb3028314 → cf435b3d4a48bc16f5cc1db8f7049596} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{672892e6983bdb28969d20d688b445c3 → d024b2e0207c1a894ac2fc0c0e002033} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6983eaa0179424c5a469abec763c7433 → d1b6047944a0a6e232951727bba44560} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{306d8bf77dac0876fb62a6d7d7279f8b → d2acbd849a5e6d1809ac9e9639dbc893} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d3e77ae2b265a7b6a4e6619ae888c02f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{55b24a753c1452383f987ea056096fc8 → d43f3b9f17586aa28c6097e3be02822f} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d533eddb21cd722c5216bc0bb88f1c6d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d6205326f914ac8b2f61b0fefad24ef1 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{1ef09ffd0e1376aabbac9def4652b166 → d79f4cb89c0bf1ea5e42bfda6e6b27c5} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b68666c0d1bd7d3d06bacd7767043149 → d917eb39b30dcf6725854039c98a5012} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{3a6a4e5299d2063b2dd6e980fa0551d5 → de1a47afa53c502369479e8dbbfebd9b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e7da37b727b2c61d4f654f88ebda783d → dee3a9569b9ee7368f88a014ba475c3a} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/e1309c718c63004add03fd7c472ec5c1 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4de3cd17da73d9e0d3c4ff1142385c3 → e3e93c085f3fc84da01f92b8d61981ae} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/e5ce6cd41375d04320a8a3150db827a3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{8864a718fb2c0b6c297e9efbd210e1f5 → e613b18c9e1811582dc0aeaf095e56ae} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{c242b461c1c4aa60e2dfa5486dc9a1a8 → e69a4b84ef07dbc0ac277803d272a6fa} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d104a4ce0d9dc0398049425d45fd6e47 → e72ab273009021b9a7b5770457a9d13b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2998aba256780a65cc4058fdd00f3b8f → ebf2567e766b39401f690380a2d00e66} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ec99299f858e97986ac4ba883d94826c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ecddf8ef16cc19c9634433c4f5dcc256 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2e96c0383b32e1ec0746b08f3bea0c7b → eefb724057cd7d3f1e6fee605910718d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{51173669b5ab5031ba6c9eff069b6ae7 → f1f9a7b96317af0df54445979f298b68} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f342ebdd61bbcd9b91b4d09aac84b7e6 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d778ac3298efe5fc7d13405e66041015 → f37153d14eee1485b7d6bb7bd5196af6} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f3ad8cf21b94a7a5f382482e0529fe3c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{1c166333b9ae232ca3c43174ff7ed396 → f4f596c9ba337be0d71e4ef01d05e45c} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b1f49e09b0df0a360d041969f76da859 → fe334a948fd2e5baccfa25d2c4abffc4} +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/body/3e/2e27ad204d468500de8d9902b63d1e88657389 +4 -0
- data/spec/dummy_app/tmp/{cache/assets/test/sprockets/b1b5c83a14fd8b2081cbb32dd26021c4 → dragonfly/cache/body/6f/58795de38055147320844c9fa5ff32e0aa123e} +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/1c/caf9bcaeb88256d4e9505faaa85621e4b53a8d +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/25/1c81c04032b247ef575f4c929301f7f1963a39 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/2b/b5469f96538f0f47bb9c2828b5f970fae89a8d +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/2e/276270b8e924ea3de50db2ad7a265c3bc4f0a1 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/62/36dfc092f525f643ded34bb316308d788f8f41 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/70/d58ddc461366882590f97c0d9ea3af5545b5a1 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/bd/bb171fbf5c5c34eff7efc8fa78817acc7dea9d +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/d1/6c9c5ef0b7ae606b4a12cb7daf2fa7dc21acd5 +0 -0
- data/spec/factories.rb +2 -3
- data/spec/helpers/rails_admin/application_helper_spec.rb +86 -86
- data/spec/helpers/rails_admin/form_builder_spec.rb +6 -6
- data/spec/integration/authorization/cancan_spec.rb +168 -173
- data/spec/integration/basic/bulk_action/rails_admin_basic_bulk_action_spec.rb +11 -11
- data/spec/integration/basic/bulk_destroy/rails_admin_basic_bulk_destroy_spec.rb +16 -16
- data/spec/integration/basic/create/rails_admin_basic_create_spec.rb +69 -69
- data/spec/integration/basic/create/rails_admin_namespaced_model_create_spec.rb +8 -8
- data/spec/integration/basic/delete/rails_admin_basic_delete_spec.rb +21 -21
- data/spec/integration/basic/destroy/rails_admin_basic_destroy_spec.rb +32 -32
- data/spec/integration/basic/edit/rails_admin_basic_edit_spec.rb +39 -39
- data/spec/integration/basic/export/rails_admin_basic_export_spec.rb +36 -36
- data/spec/integration/basic/list/rails_admin_basic_list_spec.rb +194 -102
- data/spec/integration/basic/new/rails_admin_basic_new_spec.rb +30 -30
- data/spec/integration/basic/new/rails_admin_namespaced_model_new_spec.rb +12 -12
- data/spec/integration/basic/show/rails_admin_basic_show_spec.rb +34 -34
- data/spec/integration/basic/update/rails_admin_basic_update_spec.rb +90 -90
- data/spec/integration/config/edit/rails_admin_config_edit_spec.rb +351 -352
- data/spec/integration/config/list/rails_admin_config_list_spec.rb +132 -133
- data/spec/integration/config/show/rails_admin_config_show_spec.rb +82 -83
- data/spec/integration/history/rails_admin_history_spec.rb +15 -15
- data/spec/integration/rails_admin_spec.rb +48 -49
- data/spec/integration/relation_spec.rb +12 -12
- data/spec/orm/active_record.rb +7 -4
- data/spec/orm/mongoid.rb +1 -7
- data/spec/rails_admin/abstract_model_spec.rb +28 -28
- data/spec/rails_admin/active_record_extension_spec.rb +3 -3
- data/spec/rails_admin/adapters/active_record/abstract_object_spec.rb +29 -29
- data/spec/rails_admin/adapters/active_record_spec.rb +210 -215
- data/spec/rails_admin/adapters/mongoid/abstract_object_spec.rb +19 -19
- data/spec/rails_admin/adapters/mongoid_spec.rb +429 -435
- data/spec/rails_admin/config/actions/base_spec.rb +9 -9
- data/spec/rails_admin/config/actions_spec.rb +42 -42
- data/spec/rails_admin/config/fields/base_spec.rb +135 -136
- data/spec/rails_admin/config/fields/date_spec.rb +17 -17
- data/spec/rails_admin/config/fields/datetime_spec.rb +12 -13
- data/spec/rails_admin/config/fields/file_upload_spec.rb +4 -5
- data/spec/rails_admin/config/fields/time_spec.rb +12 -13
- data/spec/rails_admin/config/fields/timestamp_spec.rb +5 -5
- data/spec/rails_admin/config/fields/types/ck_editor_spec.rb +1 -1
- data/spec/rails_admin/config/fields/types/datetime_spec.rb +2 -2
- data/spec/rails_admin/config/fields_spec.rb +4 -4
- data/spec/rails_admin/config/has_fields_spec.rb +4 -4
- data/spec/rails_admin/config/lazy_model_spec.rb +5 -5
- data/spec/rails_admin/config/model_spec.rb +50 -50
- data/spec/rails_admin/config/proxyable/proxy_spec.rb +7 -10
- data/spec/rails_admin/config/sections_spec.rb +22 -22
- data/spec/rails_admin/config_spec.rb +81 -80
- data/spec/rails_admin/support/csv_converter_spec.rb +3 -3
- data/spec/spec_helper.rb +11 -14
- metadata +509 -548
- metadata.gz.sig +0 -0
- data/lib/generators/rails_admin/templates/drop.rb +0 -18
- data/lib/generators/rails_admin/templates/migration.rb +0 -18
- data/lib/generators/rails_admin/uninstall_generator.rb +0 -22
- data/spec/dummy_app/tmp/cache/assets/test/sass/245c4be20f01db9121b0992275b77e082f23d7df/font-awesome-4-compability.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/ec09962bad77c2bf0bbd3ac3d62b1dd18394a9fe/font-awesome.css.erbc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0166686128d421b993db59eb5e22c92c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/03c695c9019f09cbb02f63a7ae21d79f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/09f8aac43754fe92352c1a0dac795897 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0ae5c9a0fc0ac395440fd4a9475ad717 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/11f4d136083919b98336de97c5a27364 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/128dcffe5acb878aaf10cb69ede11e54 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/143fa89e22fd0f160912728242c12d20 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/174a5ce6774da56e0d025f915d2a5656 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1e909aba91e1216beb4533895a4a6ffa +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/21af0c9472c74ff4307411a74eb52a08 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/232be00ca912eb52d6fc11676eee2f52 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/245b58f60816ff2e286784b47a8124a6 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/24df57fbd4ef4a5d613ab3360a611f9d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/26495c65c6a62b71419149d7dd3b601b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/2d69e41d82df0b55096aed4faa6f16c6 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/2f60f107ce85662c1588f521bb9e2c8b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/30061ffe89ebc51d869d6b363b18a7cf +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/34ac1a6bcf81e3f9139511c7be3dfed9 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/3c44e3b6e6c89b71c859ee6552fd8abb +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/412440cb48736db6d625f0ecb113344d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4557193886d8770d362ce8103d320b9f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/498f25956085afc83e15c44ffb1170e6 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/57dc08580327982fc6a9e8c0a7f168ad +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a6cbfd514173d817be78f9d005c5680 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5e2c9668e1a6c05d64b5c7cd79ddd647 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/64277385d99fc22b7ff9fa9cacc0dc93 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/66c9b69b948666df4d011498e6631eed +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/696be962f98b08b9fee127ddd7e99903 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/69d2c687f9659c7d6fb668bddb032834 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6bd55d53bef2f0dd81671f0f02f7d3ed +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/70b145271cbc457a0b6fd0c63af2983f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/73f41636108e88974107e84d4d50801d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/75f716413cdabd240c8b85adc42ddad9 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7741691076a9f393f20d291004464ac0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/785ad3ea421e6a5227ad573a68eb210e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7a9b30ad67a8c153e95d638e962bf463 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7aa93b56c89c66301f9154d27ea9014f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7c081ddde599ff1c2e0006defac49285 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7ef92f534d8e2b3abde760d1813145d9 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/82d50803717341c893f612a86d9a1400 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/8626144fc98fb2a6c7ede9bf55f84cac +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/898f5214bcdb21409c81c8aade73b535 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/8f5d6d8fba731caff3f9e84487876612 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/91c2a4d8729e7c56e56029d18edb1176 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/99e5beb37b7130f59a12936b6b763447 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9ad9a36052fd8184d3634f8edbf52a68 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/a70e63d06a6899f97de5cf676b2c395c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/b1b02c2fe88268d3d00709aeca4c2eb5 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/b95121cacfdf3b3cd1197526fbc6c098 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/bab598b96111d2c4545459320f65853b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/bbc9f2cbbd599b8b17e585cd2ebfc9a2 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c1bbc7c7493a2006f9116a79be4aad50 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c3381e393b50c9df2f8b97e4634b1349 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c402e3bddd9e25c23e52df17c8bb42a3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c7222887ab4570345607228eed54b7c4 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d4e4ebef5c7337c61bee8cc343e473d4 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d5150138d2eedf2573c71dbd75180e2a +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/dbeda8fff4e9b5084fd1bc79a0f220d0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/e43b6fc5e743fc33b6ec77b00fc1c916 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ec6a90e298605bce56e3e47e1c4a6d5c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ef41f276ef9b69b0d57e4566493cc15d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/efba5ca5522c353d79d1b624f22179c1 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f304c66c0c0e65597b8a53e4b9883357 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f386bc0d31bc15498eaff65440bf1ead +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f9c9bd4d84f1951260e50180fa8ae0d2 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/fa6cff1eeaad0d65a825b3ebd3045070 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/fead2dec6a8d5e520cd797810ef316bd +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/body/d9/6abc70a2bba359cc1bebcf56d7d4e522eacbad +0 -4
- data/spec/dummy_app/tmp/dragonfly/cache/meta/01/52bba6767d462a8815bfef629b8413079a9d31 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/38/703cefed91dd44c4a8fea5cbb4b17e1ebfc99d +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/40/1d77fa6d5446212f87dac823fbdcb241ec9325 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/40/95eda2cf7223fc56a96360973c859a9f24d468 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/5b/7f94b5e3c284cefaa1531e7b5c7f20354a6735 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/5e/ef47362a4fd7fd0542ff5e873eb5b76d7d5002 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/64/5a7c779a6e798b4f85e897f1d39ef331e1678c +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/67/d60c85f99af4a911cf86702114da2d9fff52ac +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/82/f18afea133bee8e0c723324497383d7bb510f9 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/84/9965055e94a3d5727a725d174bbbed8f8ecce3 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/90/acadf04574dc9417c2f7c238ee48e901b92474 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/a8/8839a9c373f06becc049eeb4f4cdb194c1ceda +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/b7/b845f13b154ef49a71b1be96931905695a62fc +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/ca/9693eea0638512131858fa1fc6c43a76687529 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/e7/c486ba5ec259581c09ba1f4ee381c719719397 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/f2/220f8edf3a69687421c04f7fc325efd46ca120 +0 -0
@@ -1,64 +1,64 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe 'RailsAdmin Basic Edit' do
|
4
4
|
|
5
5
|
subject { page }
|
6
6
|
|
7
|
-
describe
|
8
|
-
before
|
7
|
+
describe 'edit' do
|
8
|
+
before do
|
9
9
|
@player = FactoryGirl.create :player
|
10
|
-
visit edit_path(:
|
10
|
+
visit edit_path(model_name: 'player', id: @player.id)
|
11
11
|
end
|
12
12
|
|
13
13
|
it "shows \"Edit model\"" do
|
14
|
-
should have_content(
|
14
|
+
should have_content('Edit Player')
|
15
15
|
end
|
16
16
|
|
17
17
|
it "shows required fields as \"Required\"" do
|
18
|
-
should have_selector(
|
19
|
-
should have_selector(
|
18
|
+
should have_selector('div', text: /Name\s*Required/)
|
19
|
+
should have_selector('div', text: /Number\s*Required/)
|
20
20
|
end
|
21
21
|
|
22
22
|
it "shows non-required fields as \"Optional\"" do
|
23
|
-
expect(find(
|
24
|
-
expect(find(
|
25
|
-
expect(find(
|
23
|
+
expect(find('#player_position_field .help-block')).to have_content('Optional')
|
24
|
+
expect(find('#player_born_on_field .help-block')).to have_content('Optional')
|
25
|
+
expect(find('#player_notes_field .help-block')).to have_content('Optional')
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
describe
|
30
|
-
it
|
29
|
+
describe 'association with inverse_of option' do
|
30
|
+
it 'adds a related id to the belongs_to create team link' do
|
31
31
|
@player = FactoryGirl.create :player
|
32
|
-
visit edit_path(:
|
32
|
+
visit edit_path(model_name: 'player', id: @player.id)
|
33
33
|
should have_selector("a[data-link='/admin/team/new?associations%5Bplayers%5D=#{@player.id.to_s}&modal=true']")
|
34
34
|
end
|
35
35
|
|
36
|
-
it
|
36
|
+
it 'adds a related id to the has_many create team link' do
|
37
37
|
@team = FactoryGirl.create :team
|
38
|
-
visit edit_path(:
|
38
|
+
visit edit_path(model_name: 'team', id: @team.id)
|
39
39
|
should have_selector("a[data-link='/admin/player/new?associations%5Bteam%5D=#{@team.id.to_s}&modal=true']")
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
describe
|
43
|
+
describe 'readonly associations' do
|
44
44
|
|
45
|
-
it
|
45
|
+
it 'is not editable' do
|
46
46
|
@league = FactoryGirl.create :league
|
47
|
-
visit edit_path(:
|
47
|
+
visit edit_path(model_name: 'league', id: @league.id)
|
48
48
|
should_not have_selector('select#league_team_ids')
|
49
49
|
should have_selector('select#league_division_ids') # decoy, fails if naming scheme changes
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
describe
|
54
|
-
before
|
55
|
-
@teams = 3.times.
|
56
|
-
@fan = FactoryGirl.create :fan, :
|
57
|
-
visit edit_path(:
|
53
|
+
describe 'edit with has-and-belongs-to-many association' do
|
54
|
+
before do
|
55
|
+
@teams = 3.times.collect { FactoryGirl.create :team }
|
56
|
+
@fan = FactoryGirl.create :fan, teams: [@teams[0]]
|
57
|
+
visit edit_path(model_name: 'fan', id: @fan.id)
|
58
58
|
end
|
59
59
|
|
60
|
-
it
|
61
|
-
should have_selector
|
60
|
+
it 'shows associated objects' do
|
61
|
+
should have_selector '#fan_team_ids' do |select|
|
62
62
|
expect(select[0]).to have_selector 'option[selected="selected"]'
|
63
63
|
expect(select[1]).not_to have_selector 'option[selected="selected"]'
|
64
64
|
expect(select[2]).not_to have_selector 'option[selected="selected"]'
|
@@ -66,39 +66,39 @@ describe "RailsAdmin Basic Edit" do
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
describe
|
70
|
-
before
|
71
|
-
visit edit_path(:
|
69
|
+
describe 'edit with missing object' do
|
70
|
+
before do
|
71
|
+
visit edit_path(model_name: 'player', id: 1)
|
72
72
|
end
|
73
73
|
|
74
|
-
it
|
74
|
+
it 'raises NotFound' do
|
75
75
|
expect(page.driver.status_code).to eq(404)
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
-
describe
|
80
|
-
before
|
79
|
+
describe 'edit with missing label', given: ['a player exists', 'three teams with no name exist'] do
|
80
|
+
before do
|
81
81
|
@player = FactoryGirl.create :player
|
82
|
-
@teams = 3.times.
|
83
|
-
visit edit_path(:
|
82
|
+
@teams = 3.times.collect { FactoryGirl.create :team, name: '' }
|
83
|
+
visit edit_path(model_name: 'player', id: @player.id)
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
describe
|
88
|
-
before
|
87
|
+
describe 'edit object with overridden to_param' do
|
88
|
+
before do
|
89
89
|
@ball = FactoryGirl.create :ball
|
90
|
-
visit edit_path(:
|
90
|
+
visit edit_path(model_name: 'ball', id: @ball.id)
|
91
91
|
end
|
92
92
|
|
93
|
-
it
|
93
|
+
it 'displays a link to the delete page' do
|
94
94
|
should have_selector "a[href='/admin/ball/#{@ball.id}/delete']"
|
95
95
|
end
|
96
96
|
|
97
97
|
end
|
98
98
|
|
99
|
-
describe
|
99
|
+
describe 'clicking cancel when editing an object' do
|
100
100
|
|
101
|
-
it
|
101
|
+
it 'sends back to previous URL' do
|
102
102
|
@ball = FactoryGirl.create :ball
|
103
103
|
visit '/admin/ball?sort=color'
|
104
104
|
click_link 'Edit'
|
@@ -1,36 +1,36 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'csv'
|
3
3
|
|
4
|
-
describe
|
4
|
+
describe 'RailsAdmin Export' do
|
5
5
|
|
6
6
|
subject { page }
|
7
7
|
|
8
|
-
before
|
9
|
-
Comment.all.
|
8
|
+
before do
|
9
|
+
Comment.all.collect(&:destroy) # rspec bug => doesn't get destroyed with transaction
|
10
10
|
|
11
|
-
@players = 4.times.
|
11
|
+
@players = 4.times.collect { FactoryGirl.create :player }
|
12
12
|
@player = @players.first
|
13
13
|
@player.team = FactoryGirl.create :team
|
14
14
|
@player.draft = FactoryGirl.create :draft
|
15
|
-
@player.comments = (@comments = 2.times.
|
15
|
+
@player.comments = (@comments = 2.times.collect { FactoryGirl.create(:comment) })
|
16
16
|
@player.save
|
17
17
|
|
18
18
|
@abstract_model = RailsAdmin::AbstractModel.new(Player)
|
19
19
|
|
20
20
|
# removed schema=>only=>created_at
|
21
21
|
@non_default_schema = {
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
'only' => [PK_COLUMN.to_s, 'updated_at', 'deleted_at', 'name', 'position', 'number', 'retired', 'injured', 'born_on', 'notes', 'suspended'],
|
23
|
+
'include' => {
|
24
|
+
'team' => {'only' => [PK_COLUMN.to_s, 'created_at', 'updated_at', 'name', 'logo_url', 'manager', 'ballpark', 'mascot', 'founded', 'wins', 'losses', 'win_percentage', 'revenue', 'color']},
|
25
|
+
'draft' => {'only' => [PK_COLUMN.to_s, 'created_at', 'updated_at', 'date', 'round', 'pick', 'overall', 'college', 'notes']},
|
26
|
+
'comments' => {'only' => [PK_COLUMN.to_s, 'content', 'created_at', 'updated_at']}
|
27
27
|
}
|
28
28
|
}
|
29
29
|
end
|
30
30
|
|
31
|
-
describe
|
31
|
+
describe 'POST /admin/players/export (prompt)' do
|
32
32
|
|
33
|
-
it
|
33
|
+
it 'allows to export to CSV with associations and default schema, containing properly translated header and follow configuration' do
|
34
34
|
RailsAdmin.config do |c|
|
35
35
|
c.model Player do
|
36
36
|
include_all_fields
|
@@ -42,20 +42,20 @@ describe "RailsAdmin Export" do
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
-
visit export_path(:
|
45
|
+
visit export_path(model_name: 'player')
|
46
46
|
should have_content 'Select fields to export'
|
47
|
-
select "<comma> ','", :
|
47
|
+
select "<comma> ','", from: 'csv_options_generator_col_sep'
|
48
48
|
click_button 'Export to csv'
|
49
|
-
csv = CSV.parse page.driver.response.body.force_encoding(
|
50
|
-
expect(csv[0]).to match_array [
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
expect(csv.flatten).to include(@player.name +
|
49
|
+
csv = CSV.parse page.driver.response.body.force_encoding('utf-8') # comes through as us-ascii on some platforms
|
50
|
+
expect(csv[0]).to match_array ['Id', 'Created at', 'Updated at', 'Deleted at', 'Name', 'Position',
|
51
|
+
'Number', 'Retired', 'Injured', 'Born on', 'Notes', 'Suspended', 'Id [Team]', 'Created at [Team]',
|
52
|
+
'Updated at [Team]', 'Name [Team]', 'Logo url [Team]', 'Team Manager [Team]', 'Ballpark [Team]',
|
53
|
+
'Mascot [Team]', 'Founded [Team]', 'Wins [Team]', 'Losses [Team]', 'Win percentage [Team]',
|
54
|
+
'Revenue [Team]', 'Color [Team]', 'Custom field [Team]', 'Id [Draft]', 'Created at [Draft]',
|
55
|
+
'Updated at [Draft]', 'Date [Draft]', 'Round [Draft]', 'Pick [Draft]', 'Overall [Draft]',
|
56
|
+
'College [Draft]', 'Notes [Draft]', 'Id [Comments]', 'Content [Comments]', 'Created at [Comments]',
|
57
|
+
'Updated at [Comments]']
|
58
|
+
expect(csv.flatten).to include(@player.name + ' exported')
|
59
59
|
expect(csv.flatten).to include(@player.team.name)
|
60
60
|
expect(csv.flatten).to include(@player.draft.college)
|
61
61
|
|
@@ -63,14 +63,14 @@ describe "RailsAdmin Export" do
|
|
63
63
|
expect(csv.flatten.join(' ')).to include(@player.comments.second.content.split("\n").first.strip)
|
64
64
|
end
|
65
65
|
|
66
|
-
it
|
67
|
-
visit export_path(:
|
66
|
+
it 'allows to export to JSON' do
|
67
|
+
visit export_path(model_name: 'player')
|
68
68
|
click_button 'Export to json'
|
69
69
|
should have_content @player.team.name
|
70
70
|
end
|
71
71
|
|
72
|
-
it
|
73
|
-
visit export_path(:
|
72
|
+
it 'allows to export to XML' do
|
73
|
+
visit export_path(model_name: 'player')
|
74
74
|
click_button 'Export to xml'
|
75
75
|
|
76
76
|
# spec fails on non 1.9 mri rubies because of this https://github.com/rails/rails/pull/2076
|
@@ -78,17 +78,17 @@ describe "RailsAdmin Export" do
|
|
78
78
|
# and Mongoid with ActiveModel 3.1 does not support to_xml's :include options
|
79
79
|
# (due change of implementation in ActiveModel::Serializers between 3.1 and 3.2)
|
80
80
|
if RUBY_VERSION =~ /1\.9/ &&
|
81
|
-
(CI_ORM != :mongoid || (CI_ORM == :mongoid && ActiveModel::VERSION::STRING >=
|
81
|
+
(CI_ORM != :mongoid || (CI_ORM == :mongoid && ActiveModel::VERSION::STRING >= '3.2'))
|
82
82
|
should have_content @player.team.name
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
|
-
it
|
87
|
-
visit export_path(:
|
88
|
-
select "<comma> ','", :
|
86
|
+
it 'exports polymorphic fields the easy way for now' do
|
87
|
+
visit export_path(model_name: 'comment')
|
88
|
+
select "<comma> ','", from: 'csv_options_generator_col_sep'
|
89
89
|
click_button 'Export to csv'
|
90
90
|
csv = CSV.parse page.driver.response.body
|
91
|
-
expect(csv[0]).to match_array [
|
91
|
+
expect(csv[0]).to match_array ['Id', 'Commentable', 'Commentable type', 'Content', 'Created at', 'Updated at']
|
92
92
|
csv[1..-1].each do |line|
|
93
93
|
expect(line[csv[0].index('Commentable')]).to eq(@player.id.to_s)
|
94
94
|
expect(line[csv[0].index('Commentable type')]).to eq(@player.class.to_s)
|
@@ -96,9 +96,9 @@ describe "RailsAdmin Export" do
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
|
-
describe
|
100
|
-
it
|
101
|
-
page.driver.post(export_path(:
|
99
|
+
describe 'POST /admin/players/export :format => :csv' do
|
100
|
+
it 'exports with modified schema' do
|
101
|
+
page.driver.post(export_path(model_name: 'player', schema: @non_default_schema, csv: true, all: true, csv_options: {generator: {col_sep: ','}}))
|
102
102
|
csv = CSV.parse page.driver.response.body
|
103
103
|
expect(csv[0]).not_to include('Created at')
|
104
104
|
end
|
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
describe
|
5
|
+
describe 'RailsAdmin Basic List' do
|
6
6
|
|
7
7
|
subject { page }
|
8
8
|
|
9
|
-
describe
|
10
|
-
it
|
9
|
+
describe 'GET /admin' do
|
10
|
+
it 'responds successfully' do
|
11
11
|
visit dashboard_path
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
describe
|
15
|
+
describe 'GET /admin/typo' do
|
16
16
|
it "redirects to dashboard and inform the user the model wasn't found" do
|
17
17
|
visit '/admin/whatever'
|
18
18
|
expect(page.driver.status_code).to eq(404)
|
@@ -20,7 +20,7 @@ describe "RailsAdmin Basic List" do
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
describe
|
23
|
+
describe 'GET /admin/balls/545-typo' do
|
24
24
|
it "redirects to balls index and inform the user the id wasn't found" do
|
25
25
|
visit '/admin/ball/545-typo'
|
26
26
|
expect(page.driver.status_code).to eq(404)
|
@@ -28,14 +28,14 @@ describe "RailsAdmin Basic List" do
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
describe
|
31
|
+
describe 'GET /admin/player as list' do
|
32
32
|
it "shows \"List of Models\", should show filters and should show column headers" do
|
33
33
|
RailsAdmin.config.default_items_per_page = 1
|
34
34
|
2.times { FactoryGirl.create :player } # two pages of players
|
35
|
-
visit index_path(:
|
36
|
-
should have_content(
|
37
|
-
should have_content(
|
38
|
-
should have_content(
|
35
|
+
visit index_path(model_name: 'player')
|
36
|
+
should have_content('List of Players')
|
37
|
+
should have_content('Created at')
|
38
|
+
should have_content('Updated at')
|
39
39
|
|
40
40
|
# it "shows the show, edit and delete links" do
|
41
41
|
should have_selector("li[title='Show'] a")
|
@@ -54,20 +54,20 @@ describe "RailsAdmin Basic List" do
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
describe
|
57
|
+
describe 'GET /admin/player' do
|
58
58
|
before do
|
59
|
-
@teams = 2.times.
|
59
|
+
@teams = 2.times.collect do
|
60
60
|
FactoryGirl.create(:team)
|
61
61
|
end
|
62
62
|
@players = [
|
63
|
-
FactoryGirl.create(:player, :
|
64
|
-
FactoryGirl.create(:player, :
|
65
|
-
FactoryGirl.create(:player, :
|
66
|
-
FactoryGirl.create(:player, :
|
63
|
+
FactoryGirl.create(:player, retired: true, injured: true, team: @teams[0]),
|
64
|
+
FactoryGirl.create(:player, retired: true, injured: false, team: @teams[0]),
|
65
|
+
FactoryGirl.create(:player, retired: false, injured: true, team: @teams[1]),
|
66
|
+
FactoryGirl.create(:player, retired: false, injured: false, team: @teams[1]),
|
67
67
|
]
|
68
68
|
end
|
69
69
|
|
70
|
-
it
|
70
|
+
it 'allows to query on any attribute' do
|
71
71
|
RailsAdmin.config Player do
|
72
72
|
list do
|
73
73
|
field :name
|
@@ -77,14 +77,14 @@ describe "RailsAdmin Basic List" do
|
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
80
|
-
visit index_path(:
|
80
|
+
visit index_path(model_name: 'player', query: @players[0].name)
|
81
81
|
should have_content(@players[0].name)
|
82
82
|
(1..3).each do |i|
|
83
83
|
should have_no_content(@players[i].name)
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
it
|
87
|
+
it 'allows to filter on one attribute' do
|
88
88
|
RailsAdmin.config Player do
|
89
89
|
list do
|
90
90
|
field :name
|
@@ -94,14 +94,14 @@ describe "RailsAdmin Basic List" do
|
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
97
|
-
visit index_path(:
|
97
|
+
visit index_path(model_name: 'player', f: {injured: {'1' => {v: 'true'}}})
|
98
98
|
should have_content(@players[0].name)
|
99
99
|
should have_no_content(@players[1].name)
|
100
100
|
should have_content(@players[2].name)
|
101
101
|
should have_no_content(@players[3].name)
|
102
102
|
end
|
103
103
|
|
104
|
-
it
|
104
|
+
it 'allows to combine filters on two different attributes' do
|
105
105
|
RailsAdmin.config Player do
|
106
106
|
list do
|
107
107
|
field :name
|
@@ -111,14 +111,14 @@ describe "RailsAdmin Basic List" do
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
|
-
visit index_path(:
|
114
|
+
visit index_path(model_name: 'player', f: {retired: {'1' => {v: 'true'}}, injured: {'1' => {v: 'true'}}})
|
115
115
|
should have_content(@players[0].name)
|
116
116
|
(1..3).each do |i|
|
117
117
|
should have_no_content(@players[i].name)
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
it
|
121
|
+
it 'allows to filter on belongs_to relationships' do
|
122
122
|
RailsAdmin.config Player do
|
123
123
|
list do
|
124
124
|
field :name
|
@@ -128,14 +128,14 @@ describe "RailsAdmin Basic List" do
|
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
131
|
-
visit index_path(:
|
131
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams[0].name}}})
|
132
132
|
should have_content(@players[0].name)
|
133
133
|
should have_content(@players[1].name)
|
134
134
|
should have_no_content(@players[2].name)
|
135
135
|
should have_no_content(@players[3].name)
|
136
136
|
end
|
137
137
|
|
138
|
-
it
|
138
|
+
it 'allows to disable search on attributes' do
|
139
139
|
RailsAdmin.config Player do
|
140
140
|
list do
|
141
141
|
field :position
|
@@ -144,11 +144,11 @@ describe "RailsAdmin Basic List" do
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
end
|
147
|
-
visit index_path(:
|
147
|
+
visit index_path(model_name: 'player', query: @players[0].name)
|
148
148
|
should have_no_content(@players[0].name)
|
149
149
|
end
|
150
150
|
|
151
|
-
it
|
151
|
+
it 'allows to search a belongs_to attribute over the base table' do
|
152
152
|
RailsAdmin.config Player do
|
153
153
|
list do
|
154
154
|
field PK_COLUMN
|
@@ -158,15 +158,14 @@ describe "RailsAdmin Basic List" do
|
|
158
158
|
end
|
159
159
|
end
|
160
160
|
end
|
161
|
-
visit index_path(:
|
161
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams.first.id}}})
|
162
162
|
should have_content(@players[0].name)
|
163
163
|
should have_content(@players[1].name)
|
164
164
|
should have_no_content(@players[2].name)
|
165
165
|
should have_no_content(@players[3].name)
|
166
166
|
end
|
167
167
|
|
168
|
-
|
169
|
-
it "allows to search a belongs_to attribute over the target table" do
|
168
|
+
it 'allows to search a belongs_to attribute over the target table' do
|
170
169
|
RailsAdmin.config Player do
|
171
170
|
list do
|
172
171
|
field PK_COLUMN
|
@@ -176,31 +175,31 @@ describe "RailsAdmin Basic List" do
|
|
176
175
|
end
|
177
176
|
end
|
178
177
|
end
|
179
|
-
visit index_path(:
|
178
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams.first.name}}})
|
180
179
|
should have_content(@players[0].name)
|
181
180
|
should have_content(@players[1].name)
|
182
181
|
should have_no_content(@players[2].name)
|
183
182
|
should have_no_content(@players[3].name)
|
184
183
|
end
|
185
184
|
|
186
|
-
it
|
185
|
+
it 'allows to search a belongs_to attribute over the target table with a table name specified as a hash' do
|
187
186
|
RailsAdmin.config Player do
|
188
187
|
list do
|
189
188
|
field PK_COLUMN
|
190
189
|
field :name
|
191
190
|
field :team do
|
192
|
-
searchable :
|
191
|
+
searchable teams: :name
|
193
192
|
end
|
194
193
|
end
|
195
194
|
end
|
196
|
-
visit index_path(:
|
195
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams.first.name}}})
|
197
196
|
should have_content(@players[0].name)
|
198
197
|
should have_content(@players[1].name)
|
199
198
|
should have_no_content(@players[2].name)
|
200
199
|
should have_no_content(@players[3].name)
|
201
200
|
end
|
202
201
|
|
203
|
-
it
|
202
|
+
it 'allows to search a belongs_to attribute over the target table with a table name specified as a string' do
|
204
203
|
RailsAdmin.config Player do
|
205
204
|
list do
|
206
205
|
field PK_COLUMN
|
@@ -210,14 +209,14 @@ describe "RailsAdmin Basic List" do
|
|
210
209
|
end
|
211
210
|
end
|
212
211
|
end
|
213
|
-
visit index_path(:
|
212
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams.first.name}}})
|
214
213
|
should have_content(@players[0].name)
|
215
214
|
should have_content(@players[1].name)
|
216
215
|
should have_no_content(@players[2].name)
|
217
216
|
should have_no_content(@players[3].name)
|
218
217
|
end
|
219
218
|
|
220
|
-
it
|
219
|
+
it 'allows to search a belongs_to attribute over the label method by default' do
|
221
220
|
RailsAdmin.config Player do
|
222
221
|
list do
|
223
222
|
field PK_COLUMN
|
@@ -225,14 +224,14 @@ describe "RailsAdmin Basic List" do
|
|
225
224
|
field :team
|
226
225
|
end
|
227
226
|
end
|
228
|
-
visit index_path(:
|
227
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams.first.name}}})
|
229
228
|
should have_content(@players[0].name)
|
230
229
|
should have_content(@players[1].name)
|
231
230
|
should have_no_content(@players[2].name)
|
232
231
|
should have_no_content(@players[3].name)
|
233
232
|
end
|
234
233
|
|
235
|
-
it
|
234
|
+
it 'allows to search a belongs_to attribute over the target table when an attribute is specified' do
|
236
235
|
RailsAdmin.config Player do
|
237
236
|
list do
|
238
237
|
field PK_COLUMN
|
@@ -242,14 +241,14 @@ describe "RailsAdmin Basic List" do
|
|
242
241
|
end
|
243
242
|
end
|
244
243
|
end
|
245
|
-
visit index_path(:
|
244
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams.first.name}}})
|
246
245
|
should have_content(@players[0].name)
|
247
246
|
should have_content(@players[1].name)
|
248
247
|
should have_no_content(@players[2].name)
|
249
248
|
should have_no_content(@players[3].name)
|
250
249
|
end
|
251
250
|
|
252
|
-
it
|
251
|
+
it 'allows to search over more than one attribute' do
|
253
252
|
RailsAdmin.config Player do
|
254
253
|
list do
|
255
254
|
field PK_COLUMN
|
@@ -259,149 +258,149 @@ describe "RailsAdmin Basic List" do
|
|
259
258
|
end
|
260
259
|
end
|
261
260
|
end
|
262
|
-
visit index_path(:
|
261
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams.first.name}, '2' => {v: @teams.first.id, o: 'is'}}})
|
263
262
|
should have_content(@players[0].name)
|
264
263
|
should have_content(@players[1].name)
|
265
264
|
should have_no_content(@players[2].name)
|
266
265
|
should have_no_content(@players[3].name)
|
267
266
|
# same with a different id
|
268
|
-
visit index_path(:
|
267
|
+
visit index_path(model_name: 'player', f: {team: {'1' => {v: @teams.first.name}, '2' => {v: @teams.last.id, o: 'is'}}})
|
269
268
|
should have_no_content(@players[0].name)
|
270
269
|
should have_no_content(@players[1].name)
|
271
270
|
should have_no_content(@players[2].name)
|
272
271
|
should have_no_content(@players[3].name)
|
273
272
|
end
|
274
273
|
|
275
|
-
it
|
274
|
+
it 'displays base filters when no filters are present in the params' do
|
276
275
|
RailsAdmin.config Player do
|
277
276
|
list do
|
278
277
|
filters [:name, :team]
|
279
278
|
end
|
280
279
|
end
|
281
280
|
|
282
|
-
get index_path(:
|
281
|
+
get index_path(model_name: 'player')
|
283
282
|
expect(response.body).to include(%{$.filters.append("Name", "name", "string", "", null, "", 1);})
|
284
283
|
expect(response.body).to include(%{$.filters.append("Team", "team", "belongs_to_association", "", null, "", 2);})
|
285
284
|
end
|
286
285
|
end
|
287
286
|
|
288
|
-
describe
|
289
|
-
before
|
290
|
-
@players = 2.times.
|
291
|
-
visit index_path(:
|
287
|
+
describe 'GET /admin/player with 2 objects' do
|
288
|
+
before do
|
289
|
+
@players = 2.times.collect { FactoryGirl.create :player }
|
290
|
+
visit index_path(model_name: 'player')
|
292
291
|
end
|
293
292
|
|
294
293
|
it "shows \"2 results\"" do
|
295
|
-
should have_content(
|
294
|
+
should have_content('2 players')
|
296
295
|
end
|
297
296
|
end
|
298
297
|
|
299
|
-
describe
|
300
|
-
before
|
301
|
-
@players = 2.times.
|
302
|
-
visit index_path(:
|
298
|
+
describe 'GET /admin/player with 2 objects' do
|
299
|
+
before do
|
300
|
+
@players = 2.times.collect { FactoryGirl.create :player }
|
301
|
+
visit index_path(model_name: 'player')
|
303
302
|
end
|
304
303
|
|
305
304
|
it "shows \"2 results\"" do
|
306
|
-
should have_content(
|
305
|
+
should have_content('2 players')
|
307
306
|
end
|
308
307
|
end
|
309
308
|
|
310
|
-
describe
|
309
|
+
describe 'GET /admin/player with 3 pages, page 2' do
|
311
310
|
before do
|
312
311
|
RailsAdmin.config.default_items_per_page = 1
|
313
312
|
items_per_page = RailsAdmin.config.default_items_per_page
|
314
313
|
(items_per_page * 3).times { FactoryGirl.create(:player) }
|
315
|
-
visit index_path(:
|
314
|
+
visit index_path(model_name: 'player', page: 2)
|
316
315
|
end
|
317
316
|
|
318
|
-
it
|
319
|
-
expect(find('.pagination ul li:first')).to have_content(
|
320
|
-
expect(find('.pagination ul li:last')).to have_content(
|
321
|
-
expect(find('.pagination ul li.active')).to have_content(
|
317
|
+
it 'paginates correctly' do
|
318
|
+
expect(find('.pagination ul li:first')).to have_content('« Prev')
|
319
|
+
expect(find('.pagination ul li:last')).to have_content('Next »')
|
320
|
+
expect(find('.pagination ul li.active')).to have_content('2')
|
322
321
|
end
|
323
322
|
end
|
324
323
|
|
325
|
-
describe
|
326
|
-
before
|
324
|
+
describe 'list with 3 pages, page 3' do
|
325
|
+
before do
|
327
326
|
items_per_page = RailsAdmin.config.default_items_per_page
|
328
|
-
@players = (items_per_page * 3).times.
|
329
|
-
visit index_path(:
|
327
|
+
@players = (items_per_page * 3).times.collect { FactoryGirl.create(:player) }
|
328
|
+
visit index_path(model_name: 'player', page: 3)
|
330
329
|
end
|
331
330
|
|
332
|
-
it
|
333
|
-
expect(find('.pagination ul li:first')).to have_content(
|
334
|
-
expect(find('.pagination ul li:last')).to have_content(
|
335
|
-
expect(find('.pagination ul li.active')).to have_content(
|
331
|
+
it 'paginates correctly and contain the right item' do
|
332
|
+
expect(find('.pagination ul li:first')).to have_content('« Prev')
|
333
|
+
expect(find('.pagination ul li:last')).to have_content('Next »')
|
334
|
+
expect(find('.pagination ul li.active')).to have_content('3')
|
336
335
|
end
|
337
336
|
end
|
338
337
|
|
339
|
-
describe
|
340
|
-
it
|
338
|
+
describe 'GET /admin/player show all' do
|
339
|
+
it 'responds successfully with a single model' do
|
341
340
|
FactoryGirl.create :player
|
342
|
-
visit index_path(:
|
343
|
-
expect(find('div.total-count')).to have_content(
|
344
|
-
expect(find('div.total-count')).not_to have_content(
|
341
|
+
visit index_path(model_name: 'player', all: true)
|
342
|
+
expect(find('div.total-count')).to have_content('1 player')
|
343
|
+
expect(find('div.total-count')).not_to have_content('1 players')
|
345
344
|
end
|
346
345
|
|
347
|
-
it
|
348
|
-
2.times.
|
349
|
-
visit index_path(:
|
350
|
-
expect(find('div.total-count')).to have_content(
|
346
|
+
it 'responds successfully with multiple models' do
|
347
|
+
2.times.collect { FactoryGirl.create :player }
|
348
|
+
visit index_path(model_name: 'player', all: true)
|
349
|
+
expect(find('div.total-count')).to have_content('2 players')
|
351
350
|
end
|
352
351
|
end
|
353
352
|
|
354
|
-
describe
|
355
|
-
it
|
353
|
+
describe 'GET /admin/player show with pagination disabled by :associated_collection' do
|
354
|
+
it 'responds successfully' do
|
356
355
|
@team = FactoryGirl.create :team
|
357
|
-
2.times.
|
358
|
-
visit index_path(:
|
359
|
-
expect(find('div.total-count')).to have_content(
|
356
|
+
2.times.collect { FactoryGirl.create :player, team: @team }
|
357
|
+
visit index_path(model_name: 'player', associated_collection: 'players', compact: true, current_action: 'update', source_abstract_model: 'team', source_object_id: @team.id)
|
358
|
+
expect(find('div.total-count')).to have_content('2 players')
|
360
359
|
end
|
361
360
|
end
|
362
361
|
|
363
|
-
describe
|
364
|
-
it
|
365
|
-
2.times.
|
366
|
-
get index_path(:
|
362
|
+
describe 'list as compact json' do
|
363
|
+
it 'has_content an array with 2 elements and contain an array of elements with keys id and label' do
|
364
|
+
2.times.collect { FactoryGirl.create :player }
|
365
|
+
get index_path(model_name: 'player', compact: true, format: :json)
|
367
366
|
expect(ActiveSupport::JSON.decode(response.body).length).to eq(2)
|
368
367
|
ActiveSupport::JSON.decode(response.body).each do |object|
|
369
|
-
expect(object).to have_key(
|
370
|
-
expect(object).to have_key(
|
368
|
+
expect(object).to have_key('id')
|
369
|
+
expect(object).to have_key('label')
|
371
370
|
end
|
372
371
|
end
|
373
372
|
end
|
374
373
|
|
375
|
-
describe
|
374
|
+
describe 'search operator' do
|
376
375
|
let(:player) { FactoryGirl.create :player }
|
377
376
|
|
378
377
|
before do
|
379
378
|
expect(Player.count).to eq(0)
|
380
379
|
end
|
381
380
|
|
382
|
-
it
|
381
|
+
it 'finds the player if the query matches the default search opeartor' do
|
383
382
|
RailsAdmin.config do |config|
|
384
383
|
config.default_search_operator = 'ends_with'
|
385
384
|
config.model Player do
|
386
385
|
list { field :name }
|
387
386
|
end
|
388
387
|
end
|
389
|
-
visit index_path(:
|
388
|
+
visit index_path(model_name: 'player', query: player.name[2, -1])
|
390
389
|
should have_content(player.name)
|
391
390
|
end
|
392
391
|
|
393
|
-
it
|
392
|
+
it 'does not find the player if the query does not match the default search opeartor' do
|
394
393
|
RailsAdmin.config do |config|
|
395
394
|
config.default_search_operator = 'ends_with'
|
396
395
|
config.model Player do
|
397
396
|
list { field :name }
|
398
397
|
end
|
399
398
|
end
|
400
|
-
visit index_path(:
|
399
|
+
visit index_path(model_name: 'player', query: player.name[0, 2])
|
401
400
|
should have_no_content(player.name)
|
402
401
|
end
|
403
402
|
|
404
|
-
it
|
403
|
+
it 'finds the player if the query matches the specified search operator' do
|
405
404
|
RailsAdmin.config Player do
|
406
405
|
list do
|
407
406
|
field :name do
|
@@ -409,11 +408,11 @@ describe "RailsAdmin Basic List" do
|
|
409
408
|
end
|
410
409
|
end
|
411
410
|
end
|
412
|
-
visit index_path(:
|
411
|
+
visit index_path(model_name: 'player', query: player.name[0, 2])
|
413
412
|
should have_content(player.name)
|
414
413
|
end
|
415
414
|
|
416
|
-
it
|
415
|
+
it 'does not find the player if the query does not match the specified search operator' do
|
417
416
|
RailsAdmin.config Player do
|
418
417
|
list do
|
419
418
|
field :name do
|
@@ -421,19 +420,19 @@ describe "RailsAdmin Basic List" do
|
|
421
420
|
end
|
422
421
|
end
|
423
422
|
end
|
424
|
-
visit index_path(:
|
423
|
+
visit index_path(model_name: 'player', query: player.name[1..-1])
|
425
424
|
should have_no_content(player.name)
|
426
425
|
end
|
427
426
|
end
|
428
427
|
|
429
|
-
describe
|
430
|
-
before
|
428
|
+
describe 'list for objects with overridden to_param' do
|
429
|
+
before do
|
431
430
|
@ball = FactoryGirl.create :ball
|
432
431
|
|
433
|
-
visit index_path(:
|
432
|
+
visit index_path(model_name: 'ball')
|
434
433
|
end
|
435
434
|
|
436
|
-
it
|
435
|
+
it 'shows the show, edit and delete links with valid url' do
|
437
436
|
should have_selector("td a[href='/admin/ball/#{@ball.id}']")
|
438
437
|
should have_selector("td a[href='/admin/ball/#{@ball.id}/edit']")
|
439
438
|
should have_selector("td a[href='/admin/ball/#{@ball.id}/delete']")
|
@@ -441,4 +440,97 @@ describe "RailsAdmin Basic List" do
|
|
441
440
|
|
442
441
|
end
|
443
442
|
|
443
|
+
describe 'Scopes' do
|
444
|
+
before do
|
445
|
+
RailsAdmin.config do |config|
|
446
|
+
config.model Team do
|
447
|
+
list do
|
448
|
+
scopes [nil, :red, :white]
|
449
|
+
end
|
450
|
+
end
|
451
|
+
end
|
452
|
+
@teams = [
|
453
|
+
FactoryGirl.create(:team, color: 'red'),
|
454
|
+
FactoryGirl.create(:team, color: 'red'),
|
455
|
+
FactoryGirl.create(:team, color: 'white'),
|
456
|
+
FactoryGirl.create(:team, color: 'black')
|
457
|
+
]
|
458
|
+
end
|
459
|
+
|
460
|
+
it 'displays configured scopes' do
|
461
|
+
visit index_path(model_name: 'team')
|
462
|
+
expect(find('#scope_selector li:first')).to have_content('All')
|
463
|
+
expect(find('#scope_selector li:nth-child(2)')).to have_content('Red')
|
464
|
+
expect(find('#scope_selector li:nth-child(3)')).to have_content('White')
|
465
|
+
expect(find('#scope_selector li:last')).to have_content('White')
|
466
|
+
expect(find('#scope_selector li.active')).to have_content('All')
|
467
|
+
end
|
468
|
+
|
469
|
+
it 'shows only scoped records' do
|
470
|
+
visit index_path(model_name: 'team')
|
471
|
+
should have_content(@teams[0].name)
|
472
|
+
should have_content(@teams[1].name)
|
473
|
+
should have_content(@teams[2].name)
|
474
|
+
should have_content(@teams[3].name)
|
475
|
+
|
476
|
+
visit index_path(model_name: 'team', scope: 'red')
|
477
|
+
expect(find('#scope_selector li.active')).to have_content('Red')
|
478
|
+
should have_content(@teams[0].name)
|
479
|
+
should have_content(@teams[1].name)
|
480
|
+
should have_no_content(@teams[2].name)
|
481
|
+
should have_no_content(@teams[3].name)
|
482
|
+
|
483
|
+
visit index_path(model_name: 'team', scope: 'white')
|
484
|
+
expect(find('#scope_selector li.active')).to have_content('White')
|
485
|
+
should have_no_content(@teams[0].name)
|
486
|
+
should have_no_content(@teams[1].name)
|
487
|
+
should have_content(@teams[2].name)
|
488
|
+
should have_no_content(@teams[3].name)
|
489
|
+
end
|
490
|
+
it 'shows all records instead when scope not in list' do
|
491
|
+
visit index_path(model_name: 'team', scope: 'green')
|
492
|
+
should have_content(@teams[0].name)
|
493
|
+
should have_content(@teams[1].name)
|
494
|
+
should have_content(@teams[2].name)
|
495
|
+
should have_content(@teams[3].name)
|
496
|
+
end
|
497
|
+
describe 'i18n' do
|
498
|
+
before :each do
|
499
|
+
en = {admin: {scopes: {
|
500
|
+
_all: 'every',
|
501
|
+
red: 'krasnyj'
|
502
|
+
}}}
|
503
|
+
I18n.backend.store_translations(:en, en)
|
504
|
+
end
|
505
|
+
after { I18n.reload! }
|
506
|
+
context 'global' do
|
507
|
+
it 'displays configured scopes' do
|
508
|
+
visit index_path(model_name: 'team')
|
509
|
+
expect(find('#scope_selector li:first')).to have_content('every')
|
510
|
+
expect(find('#scope_selector li:nth-child(2)')).to have_content('krasnyj')
|
511
|
+
expect(find('#scope_selector li:nth-child(3)')).to have_content('White')
|
512
|
+
expect(find('#scope_selector li:last')).to have_content('White')
|
513
|
+
expect(find('#scope_selector li.active')).to have_content('every')
|
514
|
+
end
|
515
|
+
end
|
516
|
+
context 'per model' do
|
517
|
+
before :each do
|
518
|
+
en = {admin: {scopes: {team: {
|
519
|
+
_all: 'any',
|
520
|
+
red: 'kr'
|
521
|
+
}}}}
|
522
|
+
I18n.backend.store_translations(:en, en)
|
523
|
+
end
|
524
|
+
after { I18n.reload! }
|
525
|
+
it 'displays configured scopes' do
|
526
|
+
visit index_path(model_name: 'team')
|
527
|
+
expect(find('#scope_selector li:first')).to have_content('any')
|
528
|
+
expect(find('#scope_selector li:nth-child(2)')).to have_content('kr')
|
529
|
+
expect(find('#scope_selector li:nth-child(3)')).to have_content('White')
|
530
|
+
expect(find('#scope_selector li:last')).to have_content('White')
|
531
|
+
expect(find('#scope_selector li.active')).to have_content('any')
|
532
|
+
end
|
533
|
+
end
|
534
|
+
end
|
535
|
+
end
|
444
536
|
end
|