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
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe Admin::Products2Controller do
|
|
4
|
-
integrate_views
|
|
5
|
-
|
|
6
|
-
describe '#new' do
|
|
7
|
-
before :all do
|
|
8
|
-
ProductCategory.destroy_all
|
|
9
|
-
@shiny = ProductCategory.create!(
|
|
10
|
-
:category_name => 'shiny', :position => 1
|
|
11
|
-
)
|
|
12
|
-
@fuzzy = ProductCategory.create!(
|
|
13
|
-
:category_name => 'fuzzy', :position => 2
|
|
14
|
-
)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
before :each do
|
|
18
|
-
get :new
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it 'should be successful' do
|
|
22
|
-
response.should be_success
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it 'should show a product category selector with category name strings' do
|
|
26
|
-
response.should have_tag(
|
|
27
|
-
"select[name=?]", "product[product_category_id]"
|
|
28
|
-
) do
|
|
29
|
-
with_tag "option[value=#{@fuzzy.id}]", :text => "fuzzy"
|
|
30
|
-
with_tag "option[value=#{@shiny.id}]", :text => "shiny"
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
describe '#index' do
|
|
36
|
-
before :all do
|
|
37
|
-
if Product.count == 0
|
|
38
|
-
Product.create! :name => random_word
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
before :each do
|
|
43
|
-
get :index
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it 'should show a search range widget' do
|
|
47
|
-
response.should have_tag('form#search_form') do
|
|
48
|
-
with_tag 'input[name=?]', 'search[price][gt]'
|
|
49
|
-
with_tag 'input[name=?]', 'search[price][lt]'
|
|
50
|
-
without_tag 'input[type=checkbox]'
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
describe '#index when searching for a product greater than a specific price' do
|
|
56
|
-
before :all do
|
|
57
|
-
@five_dollars = Product.find_by_price 500
|
|
58
|
-
@five_dollars ||= Product.create!(:name => random_word, :price => 500)
|
|
59
|
-
@fifty_dollars = Product.find_by_price 5000
|
|
60
|
-
@fifty_dollars ||= Product.create!(:name => random_word, :price => 5000)
|
|
61
|
-
@five_hundred_dollars = Product.find_by_price 50000
|
|
62
|
-
@five_hundred_dollars ||= Product.create!(
|
|
63
|
-
:name => random_word, :price => 50000
|
|
64
|
-
)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
before :each do
|
|
68
|
-
get :index, :search => {:price => {:gt => "5000", :lt => ""}}
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
it 'should prefill the search form fields' do
|
|
72
|
-
response.should have_tag('form#search_form') do
|
|
73
|
-
with_tag 'input[name=?][value=?]', 'search[price][gt]', 5000
|
|
74
|
-
with_tag 'input:not([value])[name=?]', 'search[price][lt]'
|
|
75
|
-
without_tag 'input[type=checkbox]'
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
it 'should not show a product lower than that price' do
|
|
80
|
-
response.should_not have_tag('td', :text => @five_dollars.name)
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
it 'should not show a product at exactly that price' do
|
|
84
|
-
response.should_not have_tag('td', :text => @fifty_dollars.name)
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
it 'should show a product greater than that price' do
|
|
88
|
-
response.should have_tag('td', :text => @five_hundred_dollars.name)
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
describe '#index when searching for a product lower than a specific price' do
|
|
93
|
-
before :all do
|
|
94
|
-
@five_dollars = Product.find_by_price 500
|
|
95
|
-
@five_dollars ||= Product.create!(:name => random_word, :price => 500)
|
|
96
|
-
@fifty_dollars = Product.find_by_price 5000
|
|
97
|
-
@fifty_dollars ||= Product.create!(:name => random_word, :price => 5000)
|
|
98
|
-
@five_hundred_dollars = Product.find_by_price 50000
|
|
99
|
-
@five_hundred_dollars ||= Product.create!(
|
|
100
|
-
:name => random_word, :price => 50000
|
|
101
|
-
)
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
before :each do
|
|
105
|
-
get :index, :search => {:price => {:gt => "", :lt => "5000"}}
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
it 'should prefill the search form fields' do
|
|
109
|
-
response.should have_tag('form#search_form') do
|
|
110
|
-
with_tag 'input:not([value])[name=?]', 'search[price][gt]'
|
|
111
|
-
with_tag 'input[name=?][value=?]', 'search[price][lt]', 5000
|
|
112
|
-
without_tag 'input[type=checkbox]'
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
it 'should show a product lower than that price' do
|
|
117
|
-
response.should have_tag('td', :text => @five_dollars.name)
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
it 'should not show a product at exactly that price' do
|
|
121
|
-
response.should_not have_tag('td', :text => @fifty_dollars.name)
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
it 'should not show a product greater than that price' do
|
|
125
|
-
response.should_not have_tag('td', :text => @five_hundred_dollars.name)
|
|
126
|
-
end
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
describe '#index when searching for a product within a price range' do
|
|
130
|
-
before :all do
|
|
131
|
-
@five_dollars = Product.find_by_price 500
|
|
132
|
-
@five_dollars ||= Product.create!(:name => random_word, :price => 500)
|
|
133
|
-
@fifty_dollars = Product.find_by_price 5000
|
|
134
|
-
@fifty_dollars ||= Product.create!(:name => random_word, :price => 5000)
|
|
135
|
-
@five_hundred_dollars = Product.find_by_price 50000
|
|
136
|
-
@five_hundred_dollars ||= Product.create!(
|
|
137
|
-
:name => random_word, :price => 50000
|
|
138
|
-
)
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
before :each do
|
|
142
|
-
get :index, :search => {:price => {:gt => "1000", :lt => "10000"}}
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
it 'should prefill the search form fields' do
|
|
146
|
-
response.should have_tag('form#search_form') do
|
|
147
|
-
with_tag 'input[name=?][value=?]', 'search[price][gt]', 1000
|
|
148
|
-
with_tag 'input[name=?][value=?]', 'search[price][lt]', 10000
|
|
149
|
-
without_tag 'input[type=checkbox]'
|
|
150
|
-
end
|
|
151
|
-
end
|
|
152
|
-
|
|
153
|
-
it 'should not show a product lower than that range' do
|
|
154
|
-
response.should_not have_tag('td', :text => @five_dollars.name)
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
it 'should show a product in that range' do
|
|
158
|
-
response.should have_tag('td', :text => @fifty_dollars.name)
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
it 'should not show a product higher than that range' do
|
|
162
|
-
response.should_not have_tag('td', :text => @five_hundred_dollars.name)
|
|
163
|
-
end
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
describe '#index sort by product category' do
|
|
167
|
-
before :all do
|
|
168
|
-
ProductCategory.destroy_all
|
|
169
|
-
Product.destroy_all
|
|
170
|
-
diamond_cat = ProductCategory.create!(
|
|
171
|
-
:category_name => 'diamond', :position => 1
|
|
172
|
-
)
|
|
173
|
-
@diamond = Product.create!(
|
|
174
|
-
:name => 'Diamond', :price => 200_000, :product_category => diamond_cat
|
|
175
|
-
)
|
|
176
|
-
choc_cat = ProductCategory.create!(
|
|
177
|
-
:category_name => 'chocolate', :position => 2
|
|
178
|
-
)
|
|
179
|
-
@chocolate = Product.create!(
|
|
180
|
-
:name => 'Chocolate bar', :price => 200, :product_category => choc_cat
|
|
181
|
-
)
|
|
182
|
-
diamond_cat.id.should be < choc_cat.id
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
before :each do
|
|
186
|
-
get :index, :sort_order => "asc", :sort => "product_category"
|
|
187
|
-
end
|
|
188
|
-
|
|
189
|
-
it 'should be a success' do
|
|
190
|
-
response.should be_success
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
it 'should order chocolate before diamonds' do
|
|
194
|
-
response.body.should match(
|
|
195
|
-
%r|product_#{@chocolate.id}.*product_#{@diamond.id}|m
|
|
196
|
-
)
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
it "should show ProductCategory#category_name because it's defined a #name_for_admin_assistant method" do
|
|
200
|
-
response.should have_tag('td', :text => 'chocolate')
|
|
201
|
-
end
|
|
202
|
-
end
|
|
203
|
-
end
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe Admin::ProductsController do
|
|
4
|
-
integrate_views
|
|
5
|
-
|
|
6
|
-
describe '#destroy' do
|
|
7
|
-
before :all do
|
|
8
|
-
@product = Product.find_or_create_by_name 'Chocolate bar'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
before :each do
|
|
12
|
-
post :destroy, :id => @product.id
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it 'should call the custom destroy block' do
|
|
16
|
-
@product.reload
|
|
17
|
-
@product.deleted_at.should_not be_nil
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
describe '#index with at least one Product' do
|
|
22
|
-
before :all do
|
|
23
|
-
@product = (
|
|
24
|
-
Product.find(:first) || Product.create!(:name => 'product name')
|
|
25
|
-
)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
before :each do
|
|
29
|
-
get :index
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
it 'should have a search form that allows you to specify equals or other options' do
|
|
33
|
-
response.should have_tag('form[id=search_form][method=get]') do
|
|
34
|
-
with_tag("select[name=?]", "search[price(comparator)]") do
|
|
35
|
-
with_tag("option[value='>']", :text => 'greater than')
|
|
36
|
-
with_tag("option[value='>=']", :text => 'greater than or equal to')
|
|
37
|
-
with_tag("option[value='='][selected=selected]", :text => 'equal to')
|
|
38
|
-
with_tag("option[value='<=']", :text => 'less than or equal to')
|
|
39
|
-
with_tag("option[value='<']", :text => 'less than')
|
|
40
|
-
end
|
|
41
|
-
with_tag('input[name=?]', 'search[price]')
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it 'should not have a comparator for the name search field' do
|
|
46
|
-
response.should have_tag('form[id=search_form][method=get]') do
|
|
47
|
-
without_tag("select[name=?]", "search[name(comparator)]")
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
it 'should not have a Show link' do
|
|
52
|
-
response.should_not have_tag(
|
|
53
|
-
"a[href=/admin/products/show/#{@product.id}]", 'Show'
|
|
54
|
-
)
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
describe '#index search by price' do
|
|
59
|
-
before :all do
|
|
60
|
-
Product.destroy_all
|
|
61
|
-
Product.create!(:name => 'Chocolate bar', :price => 200)
|
|
62
|
-
Product.create!(:name => 'Diamond ring', :price => 200_000)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
before :each do
|
|
66
|
-
get :index, :search => {"price(comparator)" => '>', :price => 1000}
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
it 'should only show products more expensive than $10' do
|
|
70
|
-
response.should_not have_tag('td', :text => 'Chocolate bar')
|
|
71
|
-
response.should have_tag('td', :text => 'Diamond ring')
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
it 'should show the price comparison in the search form' do
|
|
75
|
-
response.should have_tag('form[id=search_form][method=get]') do
|
|
76
|
-
with_tag("select[name=?]", "search[price(comparator)]") do
|
|
77
|
-
with_tag(
|
|
78
|
-
"option[value='>'][selected=selected]", :text => 'greater than'
|
|
79
|
-
)
|
|
80
|
-
with_tag("option[value='>=']", :text => 'greater than or equal to')
|
|
81
|
-
with_tag("option[value='=']", :text => 'equal to')
|
|
82
|
-
with_tag("option[value='<=']", :text => 'less than or equal to')
|
|
83
|
-
with_tag("option[value='<']", :text => 'less than')
|
|
84
|
-
end
|
|
85
|
-
with_tag('input[name=?]', 'search[price]')
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
describe '#index sort by product category' do
|
|
91
|
-
before :all do
|
|
92
|
-
ProductCategory.destroy_all
|
|
93
|
-
Product.destroy_all
|
|
94
|
-
diamond_cat = ProductCategory.create!(
|
|
95
|
-
:category_name => 'diamond', :position => 1
|
|
96
|
-
)
|
|
97
|
-
@diamond = Product.create!(
|
|
98
|
-
:name => 'Diamond', :price => 200_000, :product_category => diamond_cat
|
|
99
|
-
)
|
|
100
|
-
choc_cat = ProductCategory.create!(
|
|
101
|
-
:category_name => 'chocolate', :position => 2
|
|
102
|
-
)
|
|
103
|
-
@chocolate = Product.create!(
|
|
104
|
-
:name => 'Chocolate bar', :price => 200, :product_category => choc_cat
|
|
105
|
-
)
|
|
106
|
-
diamond_cat.id.should be < choc_cat.id
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
before :each do
|
|
110
|
-
get :index, :sort_order => "asc", :sort => "product_category"
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
it 'should be a success' do
|
|
114
|
-
response.should be_success
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
it 'should order by product_category_id' do
|
|
118
|
-
response.body.should match(
|
|
119
|
-
%r|product_#{@diamond.id}.*product_#{@chocolate.id}|m
|
|
120
|
-
)
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
describe '#new' do
|
|
125
|
-
before :each do
|
|
126
|
-
get :new
|
|
127
|
-
response.should be_success
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
it 'should not render the default price input' do
|
|
131
|
-
response.should_not have_tag("input[name=?]", 'product[price]')
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
it 'should render the custom price input from _price_input.html.erb' do
|
|
135
|
-
response.should have_tag("input[name=?]", 'product[price][dollars]')
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
it 'should show clear links for sale_starts_at and sale_ends_at' do
|
|
139
|
-
response.body.should have_tag('a', :text => "Not on sale")
|
|
140
|
-
response.body.should have_tag('a', :text => "Sale doesn't end")
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
describe '#edit' do
|
|
145
|
-
before :all do
|
|
146
|
-
@product = Product.find_or_create_by_name 'a bird'
|
|
147
|
-
@product.update_attributes(
|
|
148
|
-
:name => 'a bird', :price => 100_00,
|
|
149
|
-
:file_column_image => File.open("./spec/data/ruby_throated.jpg"),
|
|
150
|
-
:percent_off => 25
|
|
151
|
-
)
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
before :each do
|
|
155
|
-
get :edit, :id => @product.id
|
|
156
|
-
response.should be_success
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
it "should have a multipart form" do
|
|
160
|
-
response.should have_tag('form[enctype=multipart/form-data]')
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
it 'should have a file input for image' do
|
|
164
|
-
response.should have_tag(
|
|
165
|
-
'input[name=?][type=file]', 'product[file_column_image]'
|
|
166
|
-
)
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
it 'should show the current image' do
|
|
170
|
-
response.should have_tag(
|
|
171
|
-
"img[src^=?][height=100][width=100]",
|
|
172
|
-
"/product/file_column_image/#{@product.id}/ruby_throated.jpg"
|
|
173
|
-
)
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
it 'should have a remove-image option' do
|
|
177
|
-
response.should have_tag(
|
|
178
|
-
"input[type=checkbox][name=?]", 'product[file_column_image(destroy)]'
|
|
179
|
-
)
|
|
180
|
-
end
|
|
181
|
-
|
|
182
|
-
it 'should the percent_off value pre-filled' do
|
|
183
|
-
response.should have_tag(
|
|
184
|
-
'input[name=?][value=25]', 'product[percent_off]'
|
|
185
|
-
)
|
|
186
|
-
end
|
|
187
|
-
end
|
|
188
|
-
|
|
189
|
-
describe '#update' do
|
|
190
|
-
before :all do
|
|
191
|
-
@product = Product.find_or_create_by_name 'a bird'
|
|
192
|
-
@product.update_attributes(
|
|
193
|
-
:name => 'a bird', :price => 100_00,
|
|
194
|
-
:file_column_image => File.open("./spec/data/ruby_throated.jpg")
|
|
195
|
-
)
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
describe 'while updating a current image' do
|
|
199
|
-
before :each do
|
|
200
|
-
file = File.new './spec/data/tweenbot.jpg'
|
|
201
|
-
post(
|
|
202
|
-
:update, :id => @product.id, :product => {:file_column_image => file}
|
|
203
|
-
)
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
it 'should update the image' do
|
|
207
|
-
product_prime = Product.find_by_id @product.id
|
|
208
|
-
product_prime.file_column_image.should match(/tweenbot/)
|
|
209
|
-
end
|
|
210
|
-
|
|
211
|
-
it 'should save the image locally' do
|
|
212
|
-
assert(
|
|
213
|
-
File.exist?(
|
|
214
|
-
"./public/product/file_column_image/#{@product.id}/tweenbot.jpg"
|
|
215
|
-
)
|
|
216
|
-
)
|
|
217
|
-
end
|
|
218
|
-
end
|
|
219
|
-
|
|
220
|
-
describe 'while removing the current image' do
|
|
221
|
-
before :each do
|
|
222
|
-
post(
|
|
223
|
-
:update,
|
|
224
|
-
:id => @product.id,
|
|
225
|
-
:product => {
|
|
226
|
-
'file_column_image(destroy)' => '1', :file_column_image => ''
|
|
227
|
-
}
|
|
228
|
-
)
|
|
229
|
-
end
|
|
230
|
-
|
|
231
|
-
it 'should remove the existing image' do
|
|
232
|
-
product_prime = Product.find_by_id @product.id
|
|
233
|
-
product_prime.file_column_image.should be_nil
|
|
234
|
-
end
|
|
235
|
-
end
|
|
236
|
-
|
|
237
|
-
describe 'while trying to update and remove at the same time' do
|
|
238
|
-
before :each do
|
|
239
|
-
file = File.new './spec/data/tweenbot.jpg'
|
|
240
|
-
post(
|
|
241
|
-
:update,
|
|
242
|
-
:id => @product.id,
|
|
243
|
-
:product => {
|
|
244
|
-
:file_column_image => file, 'file_column_image(destroy)' => '1'
|
|
245
|
-
}
|
|
246
|
-
)
|
|
247
|
-
end
|
|
248
|
-
|
|
249
|
-
it 'should assume you meant to update' do
|
|
250
|
-
product_prime = Product.find_by_id @product.id
|
|
251
|
-
product_prime.file_column_image.should match(/tweenbot/)
|
|
252
|
-
end
|
|
253
|
-
end
|
|
254
|
-
end
|
|
255
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Admin::TelevisionAiringsController do
|
|
4
|
-
integrate_views
|
|
5
|
-
|
|
6
|
-
describe '#new' do
|
|
7
|
-
before :all do
|
|
8
|
-
TelevisionTimeSlot.destroy_all
|
|
9
|
-
@tv_time_slot1 = TelevisionTimeSlot.create!(
|
|
10
|
-
:time => Time.utc(2010, 2, 14, 9)
|
|
11
|
-
)
|
|
12
|
-
@tv_time_slot2 = TelevisionTimeSlot.create!(
|
|
13
|
-
:time => Time.utc(2010, 2, 14, 14)
|
|
14
|
-
)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
before :each do
|
|
18
|
-
get :new
|
|
19
|
-
response.should be_success
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it 'should sort television time slots by time, not by the time string' do
|
|
23
|
-
response.should have_tag(
|
|
24
|
-
'select[name=?]', 'television_airing[television_time_slot_id]'
|
|
25
|
-
) do
|
|
26
|
-
with_tag 'option:first-child[value=""]'
|
|
27
|
-
with_tag 'option:nth-child(2)[value=?]', @tv_time_slot1.id
|
|
28
|
-
with_tag 'option:nth-child(3)[value=?]', @tv_time_slot2.id
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Admin::TelevisionTimeSlotsController do
|
|
4
|
-
|
|
5
|
-
#Delete this example and add some real ones
|
|
6
|
-
it "should use Admin::TelevisionTimeSlotsController" do
|
|
7
|
-
controller.should be_an_instance_of(Admin::TelevisionTimeSlotsController)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
end
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Admin::Users2Controller do
|
|
4
|
-
integrate_views
|
|
5
|
-
|
|
6
|
-
describe '#index' do
|
|
7
|
-
before :all do
|
|
8
|
-
User.create!(:username => random_word) if User.count == 0
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
before :each do
|
|
12
|
-
get :index
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it 'should show the empty search form' do
|
|
16
|
-
response.should have_tag('form#search_form') do
|
|
17
|
-
with_tag('input[name=?]', 'search[blog_posts]')
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
describe '#index when searching by blog post' do
|
|
23
|
-
before :all do
|
|
24
|
-
User.destroy_all
|
|
25
|
-
@soren = User.create! :username => 'soren'
|
|
26
|
-
@jean_paul = User.create! :username => 'jean_paul'
|
|
27
|
-
BlogPost.create!(
|
|
28
|
-
:user => @jean_paul, :title => 'No Foobar',
|
|
29
|
-
:body => 'Hell is other foobars'
|
|
30
|
-
)
|
|
31
|
-
@friedrich = User.create! :username => 'friedrich'
|
|
32
|
-
BlogPost.create!(
|
|
33
|
-
:user => @friedrich, :title => 'Thus Spake Zarafoobar',
|
|
34
|
-
:body => 'Man is something that shall be overfoobared.'
|
|
35
|
-
)
|
|
36
|
-
BlogPost.create!(
|
|
37
|
-
:user => @friedrich, :title => 'Beyond Good and Foobar',
|
|
38
|
-
:body =>
|
|
39
|
-
'And when you gaze long into a foobar the foobar also gazes into you.'
|
|
40
|
-
)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
before :each do
|
|
44
|
-
get :index, :search => {:blog_posts => 'foobar'}
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it 'should prefill the search form fields' do
|
|
48
|
-
response.should have_tag('form#search_form') do
|
|
49
|
-
with_tag('input[name=?][value=?]', 'search[blog_posts]', 'foobar')
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
it 'should not match a user without any matching blog posts' do
|
|
54
|
-
response.should_not have_tag('td', :text => @soren.username)
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
it 'should match a user with one matching blog post' do
|
|
58
|
-
response.should have_tag('td', :text => @jean_paul.username)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
it 'should match a user with two matching blog posts, only presenting that user once' do
|
|
62
|
-
response.should have_tag('td', :text => @friedrich.username, :count => 1)
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|