admin_assistant 1.0.1 → 1.0.2
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/Rakefile +1 -0
- data/VERSION +1 -1
- data/admin_assistant.gemspec +1 -285
- metadata +3 -287
- data/test_rails_app/README +0 -256
- data/test_rails_app/Rakefile +0 -13
- data/test_rails_app/app/controllers/admin/appointments2_controller.rb +0 -15
- data/test_rails_app/app/controllers/admin/appointments_controller.rb +0 -11
- data/test_rails_app/app/controllers/admin/blog_posts2_controller.rb +0 -138
- data/test_rails_app/app/controllers/admin/blog_posts3_controller.rb +0 -76
- data/test_rails_app/app/controllers/admin/blog_posts4_controller.rb +0 -21
- data/test_rails_app/app/controllers/admin/blog_posts5_controller.rb +0 -27
- data/test_rails_app/app/controllers/admin/blog_posts6_controller.rb +0 -10
- data/test_rails_app/app/controllers/admin/blog_posts_controller.rb +0 -8
- data/test_rails_app/app/controllers/admin/blog_posts_custom_new_and_edit_controller.rb +0 -15
- data/test_rails_app/app/controllers/admin/blog_posts_read_only_controller.rb +0 -19
- data/test_rails_app/app/controllers/admin/bookmarks_controller.rb +0 -11
- data/test_rails_app/app/controllers/admin/comments2_controller.rb +0 -14
- data/test_rails_app/app/controllers/admin/comments_controller.rb +0 -12
- data/test_rails_app/app/controllers/admin/file_column_images2_controller.rb +0 -10
- data/test_rails_app/app/controllers/admin/file_column_images_controller.rb +0 -6
- data/test_rails_app/app/controllers/admin/images2_controller.rb +0 -11
- data/test_rails_app/app/controllers/admin/images_controller.rb +0 -6
- data/test_rails_app/app/controllers/admin/misconfigured1_controller.rb +0 -7
- data/test_rails_app/app/controllers/admin/not_migrated_yets_controller.rb +0 -9
- data/test_rails_app/app/controllers/admin/product_categories2_controller.rb +0 -7
- data/test_rails_app/app/controllers/admin/product_categories_controller.rb +0 -5
- data/test_rails_app/app/controllers/admin/products2_controller.rb +0 -15
- data/test_rails_app/app/controllers/admin/products_controller.rb +0 -31
- data/test_rails_app/app/controllers/admin/television_airings_controller.rb +0 -5
- data/test_rails_app/app/controllers/admin/television_time_slots_controller.rb +0 -5
- data/test_rails_app/app/controllers/admin/users2_controller.rb +0 -10
- data/test_rails_app/app/controllers/admin/users_controller.rb +0 -63
- data/test_rails_app/app/controllers/application.rb +0 -16
- data/test_rails_app/app/controllers/application_controller.rb +0 -16
- data/test_rails_app/app/controllers/blog_posts_controller.rb +0 -5
- data/test_rails_app/app/helpers/admin/appointments2_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/appointments_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/blog_posts2_helper.rb +0 -27
- data/test_rails_app/app/helpers/admin/blog_posts3_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/blog_posts4_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/blog_posts6_helper.rb +0 -16
- data/test_rails_app/app/helpers/admin/blog_posts_custom_new_and_edit_helper.rb +0 -29
- data/test_rails_app/app/helpers/admin/blog_posts_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/blog_posts_read_only_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/bookmarks_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/comments2_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/comments_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/file_column_images2_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/file_column_images_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/images2_helper.rb +0 -8
- data/test_rails_app/app/helpers/admin/images_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/misconfigured1_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/not_migrated_yets_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/product_categories2_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/product_categories_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/products2_helper.rb +0 -3
- data/test_rails_app/app/helpers/admin/products_helper.rb +0 -6
- data/test_rails_app/app/helpers/admin/television_airings_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/television_time_slots_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/users2_helper.rb +0 -2
- data/test_rails_app/app/helpers/admin/users_helper.rb +0 -25
- data/test_rails_app/app/helpers/application_helper.rb +0 -3
- data/test_rails_app/app/helpers/blog_posts_helper.rb +0 -2
- data/test_rails_app/app/models/appointment.rb +0 -5
- data/test_rails_app/app/models/blog_post.rb +0 -14
- data/test_rails_app/app/models/blog_post_tag.rb +0 -6
- data/test_rails_app/app/models/bookmark.rb +0 -6
- data/test_rails_app/app/models/comment.rb +0 -4
- data/test_rails_app/app/models/file_column_image.rb +0 -3
- data/test_rails_app/app/models/image.rb +0 -3
- data/test_rails_app/app/models/not_migrated_yet.rb +0 -2
- data/test_rails_app/app/models/product.rb +0 -7
- data/test_rails_app/app/models/product_category.rb +0 -9
- data/test_rails_app/app/models/tag.rb +0 -4
- data/test_rails_app/app/models/television_airing.rb +0 -3
- data/test_rails_app/app/models/television_time_slot.rb +0 -11
- data/test_rails_app/app/models/user.rb +0 -14
- data/test_rails_app/app/views/admin/appointments/_subject_input.html.erb +0 -2
- data/test_rails_app/app/views/admin/appointments2/_time_input.html.erb +0 -31
- data/test_rails_app/app/views/admin/blog_posts2/_after_form.html.erb +0 -5
- data/test_rails_app/app/views/admin/blog_posts2/_after_index.html.erb +0 -1
- data/test_rails_app/app/views/admin/blog_posts2/_after_tags_input.html.erb +0 -16
- data/test_rails_app/app/views/admin/blog_posts2/_before_index.html.erb +0 -2
- data/test_rails_app/app/views/admin/blog_posts5/_after_index_header.html.erb +0 -8
- data/test_rails_app/app/views/admin/blog_posts_read_only/_body_for_show.html.erb +0 -1
- data/test_rails_app/app/views/admin/products/_name_input.html.erb +0 -2
- data/test_rails_app/app/views/admin/products/_percent_off_input.html.erb +0 -2
- data/test_rails_app/app/views/admin/products/_price_input.html.erb +0 -10
- data/test_rails_app/app/views/blog_posts/show.html.erb +0 -13
- data/test_rails_app/app/views/layouts/admin.html.erb +0 -31
- data/test_rails_app/config/boot.rb +0 -109
- data/test_rails_app/config/database.yml +0 -28
- data/test_rails_app/config/environment.rb +0 -78
- data/test_rails_app/config/environments/development.rb +0 -17
- data/test_rails_app/config/environments/production.rb +0 -24
- data/test_rails_app/config/environments/test.rb +0 -24
- data/test_rails_app/config/initializers/inflections.rb +0 -10
- data/test_rails_app/config/initializers/mime_types.rb +0 -5
- data/test_rails_app/config/initializers/new_rails_defaults.rb +0 -17
- data/test_rails_app/config/locales/en.yml +0 -5
- data/test_rails_app/config/routes.rb +0 -43
- data/test_rails_app/db/migrate/20090213215514_create_blog_posts.rb +0 -12
- data/test_rails_app/db/migrate/20090217225542_add_body_to_blog_posts.rb +0 -9
- data/test_rails_app/db/migrate/20090221220917_create_tags.rb +0 -13
- data/test_rails_app/db/migrate/20090221220947_create_blog_post_tags.rb +0 -14
- data/test_rails_app/db/migrate/20090222162204_add_textile_to_blog_posts.rb +0 -9
- data/test_rails_app/db/migrate/20090222163231_add_published_at_to_blog_posts.rb +0 -9
- data/test_rails_app/db/migrate/20090301191722_create_images.rb +0 -16
- data/test_rails_app/db/migrate/20090305165345_create_accounts.rb +0 -14
- data/test_rails_app/db/migrate/20090307225027_rename_accounts_to_users.rb +0 -9
- data/test_rails_app/db/migrate/20090307225750_add_user_id_to_blog_posts.rb +0 -9
- data/test_rails_app/db/migrate/20090309185114_change_blog_posts_textile.rb +0 -9
- data/test_rails_app/db/migrate/20090309193635_create_products.rb +0 -14
- data/test_rails_app/db/migrate/20090309203056_create_comments.rb +0 -15
- data/test_rails_app/db/migrate/20090323005947_create_file_column_images.rb +0 -12
- data/test_rails_app/db/migrate/20090326160049_add_birthday_to_users.rb +0 -9
- data/test_rails_app/db/migrate/20090326223606_add_state_to_users.rb +0 -9
- data/test_rails_app/db/migrate/20090503134004_add_file_column_image_to_products.rb +0 -9
- data/test_rails_app/db/migrate/20090617173651_create_bookmarks.rb +0 -15
- data/test_rails_app/db/migrate/20090624165355_add_tags_string_to_blog_post.rb +0 -9
- data/test_rails_app/db/migrate/20090625144313_add_avatar_fields_to_user.rb +0 -11
- data/test_rails_app/db/migrate/20090629202956_add_merged_into_to_blog_posts.rb +0 -9
- data/test_rails_app/db/migrate/20090701171857_add_force_textile_to_users.rb +0 -9
- data/test_rails_app/db/migrate/20090704163647_add_deleted_at_to_products.rb +0 -9
- data/test_rails_app/db/migrate/20090704173800_add_sale_fields_to_products.rb +0 -13
- data/test_rails_app/db/migrate/20090714024501_create_product_categories.rb +0 -15
- data/test_rails_app/db/migrate/20090819162835_add_admin_level_to_users.rb +0 -9
- data/test_rails_app/db/migrate/20091115134559_add_first_and_last_names_to_users.rb +0 -11
- data/test_rails_app/db/migrate/20091221011256_add_position_to_product_categories.rb +0 -9
- data/test_rails_app/db/migrate/20091222160814_create_appointments.rb +0 -14
- data/test_rails_app/db/migrate/20091227224547_add_user_id_to_appointments.rb +0 -9
- data/test_rails_app/db/migrate/20100214213359_create_television_time_slots.rb +0 -13
- data/test_rails_app/db/migrate/20100214213451_create_television_airings.rb +0 -15
- data/test_rails_app/doc/README_FOR_APP +0 -5
- data/test_rails_app/lib/tasks/rspec.rake +0 -163
- data/test_rails_app/public/404.html +0 -30
- data/test_rails_app/public/422.html +0 -30
- data/test_rails_app/public/500.html +0 -33
- data/test_rails_app/public/dispatch.cgi +0 -10
- data/test_rails_app/public/dispatch.fcgi +0 -24
- data/test_rails_app/public/dispatch.rb +0 -10
- data/test_rails_app/public/favicon.ico +0 -0
- data/test_rails_app/public/images/rails.png +0 -0
- data/test_rails_app/public/index.html +0 -274
- data/test_rails_app/public/javascripts/application.js +0 -2
- data/test_rails_app/public/javascripts/controls.js +0 -963
- data/test_rails_app/public/javascripts/dragdrop.js +0 -973
- data/test_rails_app/public/javascripts/effects.js +0 -1128
- data/test_rails_app/public/javascripts/prototype.js +0 -4320
- data/test_rails_app/public/robots.txt +0 -5
- data/test_rails_app/public/stylesheets/admin.css +0 -3
- data/test_rails_app/public/stylesheets/scaffold.css +0 -54
- data/test_rails_app/script/about +0 -4
- data/test_rails_app/script/autospec +0 -5
- data/test_rails_app/script/console +0 -3
- data/test_rails_app/script/dbconsole +0 -3
- data/test_rails_app/script/destroy +0 -3
- data/test_rails_app/script/generate +0 -3
- data/test_rails_app/script/performance/benchmarker +0 -3
- data/test_rails_app/script/performance/profiler +0 -3
- data/test_rails_app/script/performance/request +0 -3
- data/test_rails_app/script/plugin +0 -3
- data/test_rails_app/script/populate_tables.rb +0 -49
- data/test_rails_app/script/process/inspector +0 -3
- data/test_rails_app/script/process/reaper +0 -3
- data/test_rails_app/script/process/spawner +0 -3
- data/test_rails_app/script/runner +0 -3
- data/test_rails_app/script/server +0 -3
- data/test_rails_app/script/spec +0 -5
- data/test_rails_app/script/spec_server +0 -125
- data/test_rails_app/spec/controllers/admin/appointments2_controller_spec.rb +0 -88
- data/test_rails_app/spec/controllers/admin/appointments_controller_spec.rb +0 -419
- data/test_rails_app/spec/controllers/admin/blog_posts2_controller_spec.rb +0 -1021
- data/test_rails_app/spec/controllers/admin/blog_posts3_controller_spec.rb +0 -532
- data/test_rails_app/spec/controllers/admin/blog_posts4_controller_spec.rb +0 -231
- data/test_rails_app/spec/controllers/admin/blog_posts5_controller_spec.rb +0 -77
- data/test_rails_app/spec/controllers/admin/blog_posts6_controller_spec.rb +0 -49
- data/test_rails_app/spec/controllers/admin/blog_posts_controller_spec.rb +0 -987
- data/test_rails_app/spec/controllers/admin/blog_posts_custom_new_and_edit_controller_spec.rb +0 -99
- data/test_rails_app/spec/controllers/admin/blog_posts_read_only_controller_spec.rb +0 -94
- data/test_rails_app/spec/controllers/admin/bookmarks_controller_spec.rb +0 -505
- data/test_rails_app/spec/controllers/admin/comments2_controller_spec.rb +0 -70
- data/test_rails_app/spec/controllers/admin/comments_controller_spec.rb +0 -82
- data/test_rails_app/spec/controllers/admin/file_column_images2_controller_spec.rb +0 -25
- data/test_rails_app/spec/controllers/admin/file_column_images_controller_spec.rb +0 -82
- data/test_rails_app/spec/controllers/admin/images2_controller_spec.rb +0 -44
- data/test_rails_app/spec/controllers/admin/images_controller_spec.rb +0 -97
- data/test_rails_app/spec/controllers/admin/misconfigured1_controller_spec.rb +0 -21
- data/test_rails_app/spec/controllers/admin/not_migrated_yets_controller_spec.rb +0 -10
- data/test_rails_app/spec/controllers/admin/product_categories2_controller_spec.rb +0 -215
- data/test_rails_app/spec/controllers/admin/product_categories_controller_spec.rb +0 -19
- data/test_rails_app/spec/controllers/admin/products2_controller_spec.rb +0 -203
- data/test_rails_app/spec/controllers/admin/products_controller_spec.rb +0 -255
- data/test_rails_app/spec/controllers/admin/television_airings_controller_spec.rb +0 -32
- data/test_rails_app/spec/controllers/admin/television_time_slots_controller_spec.rb +0 -10
- data/test_rails_app/spec/controllers/admin/users2_controller_spec.rb +0 -65
- data/test_rails_app/spec/controllers/admin/users_controller_spec.rb +0 -344
- data/test_rails_app/spec/controllers/blog_posts_controller_spec.rb +0 -13
- data/test_rails_app/spec/data/ruby_throated.jpg +0 -0
- data/test_rails_app/spec/data/tweenbot.jpg +0 -0
- data/test_rails_app/spec/fixtures/appointments.yml +0 -9
- data/test_rails_app/spec/fixtures/blog_post_tags.yml +0 -9
- data/test_rails_app/spec/fixtures/blog_posts.yml +0 -7
- data/test_rails_app/spec/fixtures/bookmarks.yml +0 -11
- data/test_rails_app/spec/fixtures/comments.yml +0 -11
- data/test_rails_app/spec/fixtures/file_column_images.yml +0 -7
- data/test_rails_app/spec/fixtures/images.yml +0 -7
- data/test_rails_app/spec/fixtures/not_migrated_yets.yml +0 -7
- data/test_rails_app/spec/fixtures/product_categories.yml +0 -7
- data/test_rails_app/spec/fixtures/products.yml +0 -9
- data/test_rails_app/spec/fixtures/tags.yml +0 -7
- data/test_rails_app/spec/fixtures/television_airings.yml +0 -11
- data/test_rails_app/spec/fixtures/television_time_slots.yml +0 -7
- data/test_rails_app/spec/fixtures/users.yml +0 -9
- data/test_rails_app/spec/helpers/admin/appointments2_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/appointments_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/blog_posts2_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/blog_posts3_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/blog_posts4_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/blog_posts_custom_new_and_edit_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/blog_posts_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/blog_posts_read_only_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/bookmarks_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/comments2_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/comments_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/file_column_images2_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/file_column_images_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/images2_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/images_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/misconfigured1_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/not_migrated_yets_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/product_categories2_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/product_categories_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/products2_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/products_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/television_airings_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/television_time_slots_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/users2_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/admin/users_helper_spec.rb +0 -11
- data/test_rails_app/spec/helpers/blog_posts_helper_spec.rb +0 -11
- data/test_rails_app/spec/models/appointment_spec.rb +0 -16
- data/test_rails_app/spec/models/blog_post_spec.rb +0 -13
- data/test_rails_app/spec/models/blog_post_tag_spec.rb +0 -14
- data/test_rails_app/spec/models/bookmark_spec.rb +0 -15
- data/test_rails_app/spec/models/comment_spec.rb +0 -15
- data/test_rails_app/spec/models/file_column_image_spec.rb +0 -12
- data/test_rails_app/spec/models/image_spec.rb +0 -12
- data/test_rails_app/spec/models/not_migrated_yet_spec.rb +0 -15
- data/test_rails_app/spec/models/product_category_spec.rb +0 -15
- data/test_rails_app/spec/models/product_spec.rb +0 -14
- data/test_rails_app/spec/models/tag_spec.rb +0 -13
- data/test_rails_app/spec/models/television_airing_spec.rb +0 -15
- data/test_rails_app/spec/models/television_time_slot_spec.rb +0 -13
- data/test_rails_app/spec/models/user_spec.rb +0 -14
- data/test_rails_app/spec/rcov.opts +0 -2
- data/test_rails_app/spec/spec.opts +0 -4
- data/test_rails_app/spec/spec_helper.rb +0 -88
- data/test_rails_app/spec/spec_or_test_helper.rb +0 -49
- data/test_rails_app/test/fixtures/file_column_images.yml +0 -7
- data/test_rails_app/test/integration/admin_blog_posts2_integration_test.rb +0 -16
- data/test_rails_app/test/integration/admin_blog_posts5_integration_test.rb +0 -19
- data/test_rails_app/test/integration/admin_blog_posts_integration_test.rb +0 -25
- data/test_rails_app/test/test_helper.rb +0 -28
- data/test_rails_app/vendor/plugins/file_column/CHANGELOG +0 -69
- data/test_rails_app/vendor/plugins/file_column/README +0 -54
- data/test_rails_app/vendor/plugins/file_column/Rakefile +0 -36
- data/test_rails_app/vendor/plugins/file_column/TODO +0 -6
- data/test_rails_app/vendor/plugins/file_column/init.rb +0 -13
- data/test_rails_app/vendor/plugins/file_column/lib/file_column.rb +0 -723
- data/test_rails_app/vendor/plugins/file_column/lib/file_column_helper.rb +0 -150
- data/test_rails_app/vendor/plugins/file_column/lib/file_compat.rb +0 -28
- data/test_rails_app/vendor/plugins/file_column/lib/magick_file_column.rb +0 -260
- data/test_rails_app/vendor/plugins/file_column/lib/rails_file_column.rb +0 -19
- data/test_rails_app/vendor/plugins/file_column/lib/test_case.rb +0 -124
- data/test_rails_app/vendor/plugins/file_column/lib/validations.rb +0 -112
- data/test_rails_app/vendor/plugins/file_column/test/abstract_unit.rb +0 -63
- data/test_rails_app/vendor/plugins/file_column/test/connection.rb +0 -17
- data/test_rails_app/vendor/plugins/file_column/test/file_column_helper_test.rb +0 -97
- data/test_rails_app/vendor/plugins/file_column/test/file_column_test.rb +0 -650
- data/test_rails_app/vendor/plugins/file_column/test/fixtures/entry.rb +0 -32
- data/test_rails_app/vendor/plugins/file_column/test/fixtures/invalid-image.jpg +0 -1
- data/test_rails_app/vendor/plugins/file_column/test/fixtures/kerb.jpg +0 -0
- data/test_rails_app/vendor/plugins/file_column/test/fixtures/mysql.sql +0 -25
- data/test_rails_app/vendor/plugins/file_column/test/fixtures/schema.rb +0 -10
- data/test_rails_app/vendor/plugins/file_column/test/fixtures/skanthak.png +0 -0
- data/test_rails_app/vendor/plugins/file_column/test/magick_test.rb +0 -380
- data/test_rails_app/vendor/plugins/file_column/test/magick_view_only_test.rb +0 -21
data/test_rails_app/spec/controllers/admin/blog_posts_custom_new_and_edit_controller_spec.rb
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe Admin::BlogPostsCustomNewAndEditController do
|
|
4
|
-
integrate_views
|
|
5
|
-
|
|
6
|
-
before :all do
|
|
7
|
-
User.destroy_all
|
|
8
|
-
@user = User.create! :username => 'soren'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
describe '#index with one blog post' do
|
|
12
|
-
before :all do
|
|
13
|
-
BlogPost.destroy_all
|
|
14
|
-
@blog_post = BlogPost.create!(
|
|
15
|
-
:title => "hi there", :user => @user, :textile => false
|
|
16
|
-
)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
before :each do
|
|
20
|
-
get :index
|
|
21
|
-
response.should be_success
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
it 'should have a new link' do
|
|
25
|
-
response.should have_tag(
|
|
26
|
-
"a[href=/admin/blog_posts_custom_new_and_edit/new]", 'New blog post'
|
|
27
|
-
)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it 'should have an edit link' do
|
|
31
|
-
response.should have_tag('td.actions') do
|
|
32
|
-
with_tag(
|
|
33
|
-
"a[href=/admin/blog_posts_custom_new_and_edit/edit/#{@blog_post.id}]",
|
|
34
|
-
'Edit'
|
|
35
|
-
)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it 'should have a destroy link' do
|
|
40
|
-
response.should have_tag('td.actions') do
|
|
41
|
-
with_tag(
|
|
42
|
-
"a[href=#]",
|
|
43
|
-
'Delete'
|
|
44
|
-
)
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
it 'should have a show link' do
|
|
49
|
-
response.should have_tag('td.actions') do
|
|
50
|
-
with_tag(
|
|
51
|
-
"a[href=/admin/blog_posts_custom_new_and_edit/show/#{@blog_post.id}]",
|
|
52
|
-
'Show'
|
|
53
|
-
)
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
describe "#index with helper methods suppressing links" do
|
|
59
|
-
before :all do
|
|
60
|
-
BlogPost.destroy_all
|
|
61
|
-
@blog_post = BlogPost.create!(
|
|
62
|
-
:title => "hi there", :user => @user, :textile => false
|
|
63
|
-
)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
before :each do
|
|
67
|
-
get :index, :flag_to_trigger_helper_methods => '1'
|
|
68
|
-
response.should be_success
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
it 'should not have a new link' do
|
|
72
|
-
response.should_not have_tag(
|
|
73
|
-
"a[href=/admin/blog_posts_custom_new_and_edit/new]", 'New blog post'
|
|
74
|
-
)
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
it 'should not have an edit link' do
|
|
78
|
-
response.should_not have_tag(
|
|
79
|
-
"td.actions a[href=/admin/blog_posts_custom_new_and_edit/edit/#{@blog_post.id}]",
|
|
80
|
-
'Edit'
|
|
81
|
-
)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
it 'should not have a destroy link' do
|
|
85
|
-
response.should_not have_tag("td.actions a[href=#]", 'Delete')
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
it 'should not have a show link' do
|
|
89
|
-
response.should_not have_tag("td.actions a[href=/admin/blog_posts_custom_new_and_edit/show/#{@blog_post.id}]", 'Show')
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
it 'should not have a search link' do
|
|
93
|
-
response.should_not have_tag(
|
|
94
|
-
"a", 'Search'
|
|
95
|
-
)
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
end
|
|
99
|
-
end
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe Admin::BlogPostsReadOnlyController do
|
|
4
|
-
integrate_views
|
|
5
|
-
|
|
6
|
-
before :all do
|
|
7
|
-
User.destroy_all
|
|
8
|
-
@user = User.create! :username => 'soren'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
describe '#index' do
|
|
12
|
-
before :all do
|
|
13
|
-
BlogPost.destroy_all
|
|
14
|
-
@blog_post = BlogPost.create!(
|
|
15
|
-
:title => "hi there", :user => @user, :textile => false
|
|
16
|
-
)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
before :each do
|
|
20
|
-
get :index
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
it 'should be successful' do
|
|
24
|
-
response.should be_success
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it 'should not have a new link' do
|
|
28
|
-
response.should_not have_tag('a', :text => 'New blog post')
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
it 'should not make the textile field an Ajax toggle' do
|
|
32
|
-
response.should_not have_tag(
|
|
33
|
-
"div[id=?]", "blog_post_#{@blog_post.id}_textile"
|
|
34
|
-
)
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it 'should have a show link' do
|
|
38
|
-
response.should have_tag(
|
|
39
|
-
"a[href=/admin/blog_posts_read_only/show/#{@blog_post.id}]", 'Show'
|
|
40
|
-
)
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
describe '#show for a published blog post' do
|
|
45
|
-
before :all do
|
|
46
|
-
@blog_post = BlogPost.create!(
|
|
47
|
-
:title => 'published', :user => @user, :published_at => Time.now.utc,
|
|
48
|
-
:body => 'Today I ate a sandwich.'
|
|
49
|
-
)
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
before :each do
|
|
53
|
-
get :show, :id => @blog_post.id
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
it 'should not show textile' do
|
|
57
|
-
response.body.should_not match(/Textile/)
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
it 'should use the block for the title' do
|
|
61
|
-
response.should have_tag(
|
|
62
|
-
'h2', :text => "Published blog post #{@blog_post.id}"
|
|
63
|
-
)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
it 'should not show an edit link' do
|
|
67
|
-
response.should_not have_tag(
|
|
68
|
-
'a[href=?]', "/admin/blog_posts_read_only/edit/#{@blog_post.id}"
|
|
69
|
-
)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
it 'should use the custom partial to render the body' do
|
|
73
|
-
response.should have_tag('strong', :text => 'Today I ate a sandwich.')
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
describe '#show for an unpublished blog post' do
|
|
78
|
-
before :all do
|
|
79
|
-
@blog_post = BlogPost.create!(
|
|
80
|
-
:title => 'unpublished', :user_id => @user.id, :published_at => nil
|
|
81
|
-
)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
before :each do
|
|
85
|
-
get :show, :id => @blog_post.id
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
it 'should use the block for the title' do
|
|
89
|
-
response.should have_tag(
|
|
90
|
-
'h2', :text => "Unpublished blog post #{@blog_post.id}"
|
|
91
|
-
)
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
@@ -1,505 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe Admin::BookmarksController do
|
|
4
|
-
integrate_views
|
|
5
|
-
|
|
6
|
-
before :all do
|
|
7
|
-
@user = User.find_or_create_by_username 'soren'
|
|
8
|
-
@blog_post = (BlogPost.find(:first) or
|
|
9
|
-
BlogPost.create!(:title => random_word, :user => @user))
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
describe '#autocomplete_blog_post' do
|
|
13
|
-
describe 'with one match' do
|
|
14
|
-
before :each do
|
|
15
|
-
get(
|
|
16
|
-
:autocomplete_blog_post,
|
|
17
|
-
:blog_post_autocomplete_input => @blog_post.title
|
|
18
|
-
)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it 'should return that match' do
|
|
22
|
-
response.should have_tag('ul') do
|
|
23
|
-
with_tag(
|
|
24
|
-
"li[id=blog_post#{@blog_post.id}]", :text => @blog_post.title
|
|
25
|
-
)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
describe '#index with less than 15 blog posts, 16 comments, 16 products, and 16 users' do
|
|
32
|
-
before :all do
|
|
33
|
-
Bookmark.destroy_all
|
|
34
|
-
@blog_post_bookmark = Bookmark.create!(
|
|
35
|
-
:user => @user, :bookmarkable => @blog_post
|
|
36
|
-
)
|
|
37
|
-
BlogPost.count.downto(14) do
|
|
38
|
-
bp = BlogPost.find :first, :conditions => ['id != ?', @blog_post.id]
|
|
39
|
-
bp.destroy
|
|
40
|
-
end
|
|
41
|
-
Comment.count.upto(16) do
|
|
42
|
-
Comment.create!(
|
|
43
|
-
:user => @user, :blog_post => @blog_post, :comment => random_word
|
|
44
|
-
)
|
|
45
|
-
end
|
|
46
|
-
@comment = Comment.first
|
|
47
|
-
@comment_bookmark = Bookmark.create!(
|
|
48
|
-
:user => @user, :bookmarkable => @comment
|
|
49
|
-
)
|
|
50
|
-
Product.count.upto(16) do
|
|
51
|
-
Product.create! :name => random_word
|
|
52
|
-
end
|
|
53
|
-
@product = Product.first
|
|
54
|
-
@product_bookmark = Bookmark.create!(
|
|
55
|
-
:user => @user, :bookmarkable => @product
|
|
56
|
-
)
|
|
57
|
-
User.count.upto(16) do
|
|
58
|
-
User.create! :username => random_word
|
|
59
|
-
end
|
|
60
|
-
@user_bookmark = Bookmark.create! :user => @user, :bookmarkable => @user
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
describe 'while not searching' do
|
|
64
|
-
before :each do
|
|
65
|
-
get :index
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
it 'should be successful' do
|
|
69
|
-
response.should be_success
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
it 'should have base hidden values for the polymorphic fields in the search form' do
|
|
73
|
-
response.should have_tag('form#search_form') do
|
|
74
|
-
with_tag(
|
|
75
|
-
'input:not([value])[type=hidden][name=?][id=?]',
|
|
76
|
-
'search[bookmarkable_id]', 'search_bookmarkable_id'
|
|
77
|
-
)
|
|
78
|
-
with_tag(
|
|
79
|
-
'input:not([value])[type=hidden][name=?][id=?]',
|
|
80
|
-
'search[bookmarkable_type]', 'search_bookmarkable_type'
|
|
81
|
-
)
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
it 'should show autocompleters for products and users in its search form' do
|
|
86
|
-
response.should have_tag('form#search_form') do
|
|
87
|
-
[Product, User].each do |model_class|
|
|
88
|
-
name = model_class.name.downcase
|
|
89
|
-
with_tag(
|
|
90
|
-
"input:not([value])[id=bookmarkable_#{name}_autocomplete_input]"
|
|
91
|
-
)
|
|
92
|
-
with_tag "div[id=bookmarkable_#{name}_autocomplete_palette]"
|
|
93
|
-
with_tag "div[id=clear_bookmarkable_#{name}_link]"
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
it 'should show drop-downs for blog posts in its search form' do
|
|
99
|
-
response.should have_tag('form#search_form') do
|
|
100
|
-
without_tag "input[id=bookmarkable_blog_post_autocomplete_input]"
|
|
101
|
-
with_tag('select[name=?]', 'bookmarkable_blog_post_id') do
|
|
102
|
-
with_tag("option[value='']", :text => '')
|
|
103
|
-
with_tag 'option[value=?]', @blog_post.id
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
it 'should show ID entry for comments since it has no default_name_method' do
|
|
109
|
-
response.should have_tag('form#search_form') do
|
|
110
|
-
without_tag 'select[name=?]', 'bookmarkable_comment_id'
|
|
111
|
-
with_tag 'input[name=?]', 'bookmarkable_comment_id'
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
it "should show bookmarkable fields, using the target's default name method if it can find one" do
|
|
116
|
-
response.should have_tag(
|
|
117
|
-
'tr[id=?]', "bookmark_#{@blog_post_bookmark.id}"
|
|
118
|
-
) do
|
|
119
|
-
with_tag(
|
|
120
|
-
'td', :text => "Blog post '#{@blog_post.title}'"
|
|
121
|
-
)
|
|
122
|
-
end
|
|
123
|
-
response.should have_tag(
|
|
124
|
-
'tr[id=?]', "bookmark_#{@comment_bookmark.id}"
|
|
125
|
-
) do
|
|
126
|
-
with_tag 'td', :text => "Comment #{@comment.id}"
|
|
127
|
-
end
|
|
128
|
-
response.should have_tag(
|
|
129
|
-
'tr[id=?]', "bookmark_#{@product_bookmark.id}"
|
|
130
|
-
) do
|
|
131
|
-
with_tag 'td', :text => "Product '#{@product.name}'"
|
|
132
|
-
end
|
|
133
|
-
response.should have_tag(
|
|
134
|
-
'tr[id=?]', "bookmark_#{@user_bookmark.id}"
|
|
135
|
-
) do
|
|
136
|
-
with_tag 'td', :text => "User '#{@user.username}'"
|
|
137
|
-
end
|
|
138
|
-
end
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
describe 'while searching by bookmarked blog post' do
|
|
142
|
-
before :each do
|
|
143
|
-
get(
|
|
144
|
-
:index,
|
|
145
|
-
:search => {
|
|
146
|
-
:bookmarkable_type => 'BlogPost', :bookmarkable_id => @blog_post.id
|
|
147
|
-
}
|
|
148
|
-
)
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
it 'should be successful' do
|
|
152
|
-
response.should be_success
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
it 'should have base hidden values for the polymorphic fields in the search form' do
|
|
156
|
-
response.should have_tag('form#search_form') do
|
|
157
|
-
with_tag(
|
|
158
|
-
'input[type=hidden][name=?][id=?][value=?]',
|
|
159
|
-
'search[bookmarkable_id]', 'search_bookmarkable_id', @blog_post.id
|
|
160
|
-
)
|
|
161
|
-
with_tag(
|
|
162
|
-
'input[type=hidden][name=?][id=?][value=?]',
|
|
163
|
-
'search[bookmarkable_type]', 'search_bookmarkable_type', 'BlogPost'
|
|
164
|
-
)
|
|
165
|
-
end
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
it 'should show autocompleters for products and users in its search form' do
|
|
169
|
-
response.should have_tag('form#search_form') do
|
|
170
|
-
[Product, User].each do |model_class|
|
|
171
|
-
name = model_class.name.downcase
|
|
172
|
-
with_tag(
|
|
173
|
-
"input:not([value])[id=bookmarkable_#{name}_autocomplete_input]"
|
|
174
|
-
)
|
|
175
|
-
with_tag "div[id=bookmarkable_#{name}_autocomplete_palette]"
|
|
176
|
-
with_tag "div[id=clear_bookmarkable_#{name}_link]"
|
|
177
|
-
end
|
|
178
|
-
end
|
|
179
|
-
end
|
|
180
|
-
|
|
181
|
-
it 'should show drop-downs for blog posts in its search form' do
|
|
182
|
-
response.should have_tag('form#search_form') do
|
|
183
|
-
without_tag "input[id=bookmarkable_blog_post_autocomplete_input]"
|
|
184
|
-
with_tag('select[name=?]', 'bookmarkable_blog_post_id') do
|
|
185
|
-
with_tag("option[value='']", :text => '')
|
|
186
|
-
with_tag 'option[value=?][selected=selected]', @blog_post.id
|
|
187
|
-
end
|
|
188
|
-
end
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
it 'should show ID entry for comments since it has no default_name_method' do
|
|
192
|
-
response.should have_tag('form#search_form') do
|
|
193
|
-
without_tag 'select[name=?]', 'bookmarkable_comment_id'
|
|
194
|
-
with_tag 'input[name=?]', 'bookmarkable_comment_id'
|
|
195
|
-
end
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
it 'should only show bookmarks of that blog post' do
|
|
199
|
-
response.should have_tag(
|
|
200
|
-
'tr[id=?]', "bookmark_#{@blog_post_bookmark.id}"
|
|
201
|
-
)
|
|
202
|
-
excluded_bookmarks = [
|
|
203
|
-
@comment_bookmark, @product_bookmark, @user_bookmark
|
|
204
|
-
]
|
|
205
|
-
excluded_bookmarks.each do |bookmark|
|
|
206
|
-
response.should_not have_tag('tr[id=?]', "bookmark_#{bookmark.id}")
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
end
|
|
210
|
-
|
|
211
|
-
describe 'while searching by bookmarked product' do
|
|
212
|
-
before :each do
|
|
213
|
-
get(
|
|
214
|
-
:index,
|
|
215
|
-
:search => {
|
|
216
|
-
:bookmarkable_type => 'Product',
|
|
217
|
-
:bookmarkable_id => @product_bookmark.bookmarkable_id
|
|
218
|
-
}
|
|
219
|
-
)
|
|
220
|
-
end
|
|
221
|
-
|
|
222
|
-
it 'should be successful' do
|
|
223
|
-
response.should be_success
|
|
224
|
-
end
|
|
225
|
-
|
|
226
|
-
it 'should have base hidden values for the polymorphic fields in the search form' do
|
|
227
|
-
response.should have_tag('form#search_form') do
|
|
228
|
-
with_tag(
|
|
229
|
-
'input[type=hidden][name=?][id=?][value=?]',
|
|
230
|
-
'search[bookmarkable_id]', 'search_bookmarkable_id',
|
|
231
|
-
@product_bookmark.bookmarkable_id
|
|
232
|
-
)
|
|
233
|
-
with_tag(
|
|
234
|
-
'input[type=hidden][name=?][id=?][value=?]',
|
|
235
|
-
'search[bookmarkable_type]', 'search_bookmarkable_type', 'Product'
|
|
236
|
-
)
|
|
237
|
-
end
|
|
238
|
-
end
|
|
239
|
-
|
|
240
|
-
it 'should show autocompleters for products and users in its search form' do
|
|
241
|
-
response.should have_tag('form#search_form') do
|
|
242
|
-
with_tag(
|
|
243
|
-
"input[id=bookmarkable_product_autocomplete_input][value=?]",
|
|
244
|
-
"#{@product_bookmark.bookmarkable.name}"
|
|
245
|
-
)
|
|
246
|
-
with_tag "div[id=bookmarkable_product_autocomplete_palette]"
|
|
247
|
-
with_tag "div[id=clear_bookmarkable_product_link]"
|
|
248
|
-
with_tag(
|
|
249
|
-
"input:not([value])[id=bookmarkable_user_autocomplete_input]"
|
|
250
|
-
)
|
|
251
|
-
with_tag "div[id=bookmarkable_user_autocomplete_palette]"
|
|
252
|
-
with_tag "div[id=clear_bookmarkable_user_link]"
|
|
253
|
-
end
|
|
254
|
-
end
|
|
255
|
-
|
|
256
|
-
it 'should show drop-downs for blog posts in its search form' do
|
|
257
|
-
response.should have_tag('form#search_form') do
|
|
258
|
-
without_tag "input[id=bookmarkable_blog_post_autocomplete_input]"
|
|
259
|
-
with_tag('select[name=?]', 'bookmarkable_blog_post_id') do
|
|
260
|
-
with_tag("option[value='']", :text => '')
|
|
261
|
-
with_tag 'option[value=?]', @blog_post.id
|
|
262
|
-
end
|
|
263
|
-
end
|
|
264
|
-
end
|
|
265
|
-
|
|
266
|
-
it 'should show only bookmarks of that product' do
|
|
267
|
-
response.should have_tag(
|
|
268
|
-
'tr[id=?]', "bookmark_#{@product_bookmark.id}"
|
|
269
|
-
)
|
|
270
|
-
excluded_bookmarks = [
|
|
271
|
-
@blog_post_bookmark, @comment_bookmark, @user_bookmark
|
|
272
|
-
]
|
|
273
|
-
excluded_bookmarks.each do |bookmark|
|
|
274
|
-
response.should_not have_tag('tr[id=?]', "bookmark_#{bookmark.id}")
|
|
275
|
-
end
|
|
276
|
-
end
|
|
277
|
-
|
|
278
|
-
it 'should show ID entry for comments since it has no default_name_method' do
|
|
279
|
-
response.should have_tag('form#search_form') do
|
|
280
|
-
without_tag 'select[name=?]', 'bookmarkable_comment_id'
|
|
281
|
-
with_tag 'input[name=?]', 'bookmarkable_comment_id'
|
|
282
|
-
end
|
|
283
|
-
end
|
|
284
|
-
end
|
|
285
|
-
|
|
286
|
-
describe 'while searching by bookmarked comment' do
|
|
287
|
-
before :each do
|
|
288
|
-
get(
|
|
289
|
-
:index,
|
|
290
|
-
:search => {
|
|
291
|
-
:bookmarkable_type => 'Comment',
|
|
292
|
-
:bookmarkable_id => @comment_bookmark.bookmarkable_id
|
|
293
|
-
}
|
|
294
|
-
)
|
|
295
|
-
end
|
|
296
|
-
|
|
297
|
-
it 'should be successful' do
|
|
298
|
-
response.should be_success
|
|
299
|
-
end
|
|
300
|
-
|
|
301
|
-
it 'should have base hidden values for the polymorphic fields in the search form' do
|
|
302
|
-
response.should have_tag('form#search_form') do
|
|
303
|
-
with_tag(
|
|
304
|
-
'input[type=hidden][name=?][id=?][value=?]',
|
|
305
|
-
'search[bookmarkable_id]', 'search_bookmarkable_id',
|
|
306
|
-
@comment_bookmark.bookmarkable_id
|
|
307
|
-
)
|
|
308
|
-
with_tag(
|
|
309
|
-
'input[type=hidden][name=?][id=?][value=?]',
|
|
310
|
-
'search[bookmarkable_type]', 'search_bookmarkable_type', 'Comment'
|
|
311
|
-
)
|
|
312
|
-
end
|
|
313
|
-
end
|
|
314
|
-
|
|
315
|
-
it 'should show autocompleters for products and users in its search form' do
|
|
316
|
-
response.should have_tag('form#search_form') do
|
|
317
|
-
[Product, User].each do |model_class|
|
|
318
|
-
name = model_class.name.downcase
|
|
319
|
-
with_tag(
|
|
320
|
-
"input:not([value])[id=bookmarkable_#{name}_autocomplete_input]"
|
|
321
|
-
)
|
|
322
|
-
with_tag "div[id=bookmarkable_#{name}_autocomplete_palette]"
|
|
323
|
-
with_tag "div[id=clear_bookmarkable_#{name}_link]"
|
|
324
|
-
end
|
|
325
|
-
end
|
|
326
|
-
end
|
|
327
|
-
|
|
328
|
-
it 'should show drop-downs for blog posts in its search form' do
|
|
329
|
-
response.should have_tag('form#search_form') do
|
|
330
|
-
without_tag "input[id=blog_post_autocomplete_input]"
|
|
331
|
-
with_tag('select[name=?]', 'bookmarkable_blog_post_id') do
|
|
332
|
-
with_tag("option[value='']", :text => '')
|
|
333
|
-
with_tag 'option[value=?]', @blog_post.id
|
|
334
|
-
end
|
|
335
|
-
end
|
|
336
|
-
end
|
|
337
|
-
|
|
338
|
-
it 'should show only bookmarks of that comment' do
|
|
339
|
-
response.should have_tag(
|
|
340
|
-
'tr[id=?]', "bookmark_#{@comment_bookmark.id}"
|
|
341
|
-
)
|
|
342
|
-
excluded_bookmarks = [
|
|
343
|
-
@blog_post_bookmark, @product_bookmark, @user_bookmark
|
|
344
|
-
]
|
|
345
|
-
excluded_bookmarks.each do |bookmark|
|
|
346
|
-
response.should_not have_tag('tr[id=?]', "bookmark_#{bookmark.id}")
|
|
347
|
-
end
|
|
348
|
-
end
|
|
349
|
-
|
|
350
|
-
it 'should show ID entry for comments since it has no default_name_method' do
|
|
351
|
-
response.should have_tag('form#search_form') do
|
|
352
|
-
without_tag 'select[name=?]', 'bookmarkable_comment_id'
|
|
353
|
-
with_tag(
|
|
354
|
-
'input[name=?][value=?]', 'bookmarkable_comment_id',
|
|
355
|
-
@comment_bookmark.bookmarkable_id
|
|
356
|
-
)
|
|
357
|
-
end
|
|
358
|
-
end
|
|
359
|
-
end
|
|
360
|
-
end
|
|
361
|
-
|
|
362
|
-
describe '#index with bookmarks of different blog posts by different users' do
|
|
363
|
-
before :all do
|
|
364
|
-
@user_blog_post_bookmark = Bookmark.create!(
|
|
365
|
-
:user => @user, :bookmarkable => @blog_post
|
|
366
|
-
)
|
|
367
|
-
user2 = User.find_or_create_by_username 'Jean-Paul'
|
|
368
|
-
blog_post2 = BlogPost.create!(:title => random_word, :user => user2)
|
|
369
|
-
@user_blog_post2_bookmark = Bookmark.create!(
|
|
370
|
-
:user => @user, :bookmarkable => blog_post2
|
|
371
|
-
)
|
|
372
|
-
@user2_blog_post_bookmark = Bookmark.create!(
|
|
373
|
-
:user => user2, :bookmarkable => @blog_post
|
|
374
|
-
)
|
|
375
|
-
@user2_blog_post2_bookmark = Bookmark.create!(
|
|
376
|
-
:user => user2, :bookmarkable => blog_post2
|
|
377
|
-
)
|
|
378
|
-
product = Product.find_or_create_by_name 'Chocolate bar'
|
|
379
|
-
@user2_product_bookmark = Bookmark.create!(
|
|
380
|
-
:user => user2, :bookmarkable => product
|
|
381
|
-
)
|
|
382
|
-
end
|
|
383
|
-
|
|
384
|
-
describe 'while searching by bookmark owner or bookmarked blog post' do
|
|
385
|
-
before :each do
|
|
386
|
-
get(
|
|
387
|
-
:index,
|
|
388
|
-
:search => {
|
|
389
|
-
'(all_or_any)' => 'any', :bookmarkable_type => 'BlogPost',
|
|
390
|
-
:bookmarkable_id => @blog_post.id, :user_id => @user.id
|
|
391
|
-
}
|
|
392
|
-
)
|
|
393
|
-
end
|
|
394
|
-
|
|
395
|
-
it 'should include bookmarks of the blog post' do
|
|
396
|
-
response.should have_tag(
|
|
397
|
-
'tr[id=?]', "bookmark_#{@user_blog_post_bookmark.id}"
|
|
398
|
-
)
|
|
399
|
-
response.should have_tag(
|
|
400
|
-
'tr[id=?]', "bookmark_#{@user2_blog_post_bookmark.id}"
|
|
401
|
-
)
|
|
402
|
-
end
|
|
403
|
-
|
|
404
|
-
it 'should exclude bookmarks of other blog posts by other users' do
|
|
405
|
-
response.should_not have_tag(
|
|
406
|
-
'tr[id=?]', "bookmark_#{@user2_blog_post2_bookmark.id}"
|
|
407
|
-
)
|
|
408
|
-
end
|
|
409
|
-
|
|
410
|
-
it 'should include bookmarks from the user' do
|
|
411
|
-
response.should have_tag(
|
|
412
|
-
'tr[id=?]', "bookmark_#{@user_blog_post_bookmark.id}"
|
|
413
|
-
)
|
|
414
|
-
response.should have_tag(
|
|
415
|
-
'tr[id=?]', "bookmark_#{@user_blog_post2_bookmark.id}"
|
|
416
|
-
)
|
|
417
|
-
end
|
|
418
|
-
|
|
419
|
-
it 'should exclude bookmarks of other bookmarkable types by other users' do
|
|
420
|
-
response.should_not have_tag(
|
|
421
|
-
'tr[id=?]', "bookmark_#{@user2_product_bookmark.id}"
|
|
422
|
-
)
|
|
423
|
-
end
|
|
424
|
-
end
|
|
425
|
-
end
|
|
426
|
-
|
|
427
|
-
describe '#index with a blank search' do
|
|
428
|
-
before :all do
|
|
429
|
-
Bookmark.destroy_all
|
|
430
|
-
@blog_post_bookmark = Bookmark.create!(
|
|
431
|
-
:user => @user, :bookmarkable => @blog_post
|
|
432
|
-
)
|
|
433
|
-
end
|
|
434
|
-
|
|
435
|
-
before :each do
|
|
436
|
-
get(
|
|
437
|
-
:index,
|
|
438
|
-
:search => {
|
|
439
|
-
:bookmarkable_type => '', :bookmarkable_id => '', :user_id => '',
|
|
440
|
-
'(all_or_any)' => 'all'
|
|
441
|
-
}
|
|
442
|
-
)
|
|
443
|
-
end
|
|
444
|
-
|
|
445
|
-
it 'should be successful' do
|
|
446
|
-
response.should be_success
|
|
447
|
-
end
|
|
448
|
-
|
|
449
|
-
it 'should include the bookmarks' do
|
|
450
|
-
response.should have_tag(
|
|
451
|
-
'tr[id=?]', "bookmark_#{@blog_post_bookmark.id}"
|
|
452
|
-
)
|
|
453
|
-
end
|
|
454
|
-
end
|
|
455
|
-
|
|
456
|
-
describe '#edit' do
|
|
457
|
-
before :all do
|
|
458
|
-
@bookmark = Bookmark.create! :user => @user, :bookmarkable => @blog_post
|
|
459
|
-
end
|
|
460
|
-
|
|
461
|
-
before :each do
|
|
462
|
-
get :edit, :id => @bookmark.id
|
|
463
|
-
end
|
|
464
|
-
|
|
465
|
-
it "should have a 'Bookmarkable' field" do
|
|
466
|
-
bt_name = 'bookmark[bookmarkable_type]'
|
|
467
|
-
response.should have_tag('select[name=?]', bt_name) do
|
|
468
|
-
with_tag 'option[value=BlogPost][selected=selected]',
|
|
469
|
-
:text => 'BlogPost'
|
|
470
|
-
with_tag 'option[value=Comment]', :text => 'Comment'
|
|
471
|
-
with_tag 'option[value=Product]', :text => 'Product'
|
|
472
|
-
with_tag 'option[value=User]', :text => 'User'
|
|
473
|
-
end
|
|
474
|
-
response.should have_tag(
|
|
475
|
-
'input[name=?][value=?]', 'bookmark[bookmarkable_id]', @blog_post.id
|
|
476
|
-
)
|
|
477
|
-
end
|
|
478
|
-
end
|
|
479
|
-
|
|
480
|
-
describe '#new' do
|
|
481
|
-
before :each do
|
|
482
|
-
get :new
|
|
483
|
-
end
|
|
484
|
-
|
|
485
|
-
it 'should be successful' do
|
|
486
|
-
response.should be_success
|
|
487
|
-
end
|
|
488
|
-
|
|
489
|
-
it "should not have a 'Bookmarkable type' field label" do
|
|
490
|
-
response.should_not have_tag('label', :text => 'Bookmarkable type')
|
|
491
|
-
end
|
|
492
|
-
|
|
493
|
-
it "should have a 'Bookmarkable' field" do
|
|
494
|
-
response.should have_tag('label', :text => 'Bookmarkable')
|
|
495
|
-
bt_name = 'bookmark[bookmarkable_type]'
|
|
496
|
-
response.should have_tag('select[name=?]', bt_name) do
|
|
497
|
-
with_tag 'option[value=BlogPost]', :text => 'BlogPost'
|
|
498
|
-
with_tag 'option[value=Comment]', :text => 'Comment'
|
|
499
|
-
with_tag 'option[value=Product]', :text => 'Product'
|
|
500
|
-
with_tag 'option[value=User]', :text => 'User'
|
|
501
|
-
end
|
|
502
|
-
response.should have_tag('input[name=?]', 'bookmark[bookmarkable_id]')
|
|
503
|
-
end
|
|
504
|
-
end
|
|
505
|
-
end
|