hot_date_rails 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +29 -0
- data/app/assets/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/app/assets/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/app/assets/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/app/assets/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/app/assets/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/app/assets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/ui-bg_gloss-wave_35_d18406_500x100.png +0 -0
- data/app/assets/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/app/assets/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/app/assets/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/app/assets/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/ui-icons_228ef1_256x240.png +0 -0
- data/app/assets/images/ui-icons_ef8c08_256x240.png +0 -0
- data/app/assets/images/ui-icons_ffd27a_256x240.png +0 -0
- data/app/assets/images/ui-icons_ffffff_256x240.png +0 -0
- data/app/assets/javascripts/hot_date_rails.js +3 -0
- data/app/assets/javascripts/hot_date_rails/hot_date_rails.js.coffee +51 -0
- data/app/assets/javascripts/vendors/jquery-ui-timepicker-addon.js +2203 -0
- data/app/assets/javascripts/vendors/jquery-ui.min.js +7 -0
- data/app/assets/stylesheets/hot_date_rails.css +5 -0
- data/app/assets/stylesheets/hot_date_rails/hot_date_rails.css +3 -0
- data/app/assets/stylesheets/vendors/jquery-ui-timepicker-addon.css +11 -0
- data/app/assets/stylesheets/vendors/jquery-ui.min.css +7 -0
- data/app/helpers/form_helper.rb +51 -0
- data/config/initializers/hot_date_rails.rb +7 -0
- data/config/locales/en.yml +14 -0
- data/config/routes.rb +2 -0
- data/lib/hot_date_rails.rb +7 -0
- data/lib/hot_date_rails/engine.rb +18 -0
- data/lib/hot_date_rails/version.rb +3 -0
- data/lib/tasks/hot_date_rails_tasks.rake +4 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +6 -0
- data/spec/dummy/app/assets/stylesheets/application.css +16 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/controllers/schedules_controller.rb +47 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/schedule.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +15 -0
- data/spec/dummy/app/views/schedules/_form.html.erb +50 -0
- data/spec/dummy/app/views/schedules/_form_custom.html.erb +45 -0
- data/spec/dummy/app/views/schedules/edit.html.erb +3 -0
- data/spec/dummy/app/views/schedules/new.html.erb +3 -0
- data/spec/dummy/app/views/schedules/new_custom.html.erb +3 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +21 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +9 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +82 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/assets.rb +8 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +61 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20140827212211_create_schedules.rb +15 -0
- data/spec/dummy/db/migrate/20140904013919_add_more_time_cols_to_schedules.rb +8 -0
- data/spec/dummy/db/migrate/20140909013705_add_easter_to_schedules.rb +5 -0
- data/spec/dummy/db/schema.rb +33 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +28785 -0
- data/spec/dummy/log/test.log +53644 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/assets/application-0a9d2b4cc991008ce090428c104cd2f9.css +44 -0
- data/spec/dummy/public/assets/application-0a9d2b4cc991008ce090428c104cd2f9.css.gz +0 -0
- data/spec/dummy/public/assets/application-75231e2d9c4ba59c5dcce22c02c3f2b5.js +13018 -0
- data/spec/dummy/public/assets/application-75231e2d9c4ba59c5dcce22c02c3f2b5.js.gz +0 -0
- data/spec/dummy/public/assets/application-88702d05ca17911e137085c49d66a04f.css +44 -0
- data/spec/dummy/public/assets/application-88702d05ca17911e137085c49d66a04f.css.gz +0 -0
- data/spec/dummy/public/assets/application-e919b580af72ffc6cf8b45fd4cc584bc.js +13004 -0
- data/spec/dummy/public/assets/application-e919b580af72ffc6cf8b45fd4cc584bc.js.gz +0 -0
- data/spec/dummy/public/assets/application-ea65e5d350ec88fcdfc6e38d2a119cf6.js +13018 -0
- data/spec/dummy/public/assets/application-ea65e5d350ec88fcdfc6e38d2a119cf6.js.gz +0 -0
- data/spec/dummy/public/assets/manifest-654589c9dc52de090f2a81d705900787.json +1 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/03c953ac82aa1daf32bc1a66b56349fe +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/07c4183acfe6d5a7aea2aecda1106100 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0dcafd38884d132cf7409862c5a6d5fb +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0ee983c6a75887fe48d7560ccc6a0c03 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0fd6aa81c1bdfb146f0baa44e380f36f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1ccd58997bd7f8cec65048f6fdc10e8c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1e473e9829cc11f3517eff392668b5b6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/20d19b39dec663d9be87a891a4c0a67b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2350c2ee82c5238ec1e55be119d0d800 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/26ec49b2f0e92be70aef037530b84a22 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2ae56d8109083ac59ffe28a0ebe70c44 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2fd3c140903239c0f9edf5ab5c84bf2c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/305cabb43aebb247b06295976ef63fcb +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/309a9ee2e83b353d861fdf597031b701 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/31218ba2dc910ebc7f0bc9bd857fec23 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3364f73ad7193c532a9c1d7ecea03fc5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/35e2ef2e624e8591caa31b9453f49b25 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/376c6e8b4ac8bf2405dcf785b93a82d4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/431036b212cedf8429a03d7d0e52f7c8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/467f014120c9e7a4ffbe21bc8a879c7f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/46a1d346fcb352351e6b6726ed9513ba +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4750cc863766de1e6e18c50bb47a3a21 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/48a17156542e2bdc09b5669ff6926596 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4a44ed0a50044da8a54755a2cc6d5ed7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4ab82c3223288bd2e9f2440895e442f5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/50090bf2e65584155c1c5c1470e7fd18 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5592f7754240b57e8d3e55f3e0c9de3a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/58414f484444cda5d3046905bfc6bd03 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/59002301bc2ad9c66b4368188402ef83 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/59b9f1f42a11670aff962e1359c7a93e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5b923b5314d14dfbcf80b289b49bf5cb +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5dd6206af3dba93208926d04778e26e4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5e3a16a7a65151928708d6db358c759b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5e89175bf034a9a006d9cb257dc025dc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5e8983182c2fa724cc7bb383b737ec51 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5f59dd3f960783f3d471aff70dd93166 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/685dcb29dc743fc5f93799940380de0c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6a5cbdcfa6dc2b5e180e991dea55f6f5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6b199942285fcc72f17d4e30ef62820e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6cdaf3faa7917186563f0bc9c52872c2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6d2058c2e924b4183c9c4c3ae85016da +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6fe42220db62ec1ddc415e14aa2c3273 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/705d80fa05052d5d6f269e75d7a11374 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/711727020dce7592b4d0288c229cc6e2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/72ba7fe3126a9ddee585f301a47f0666 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/76543b0908213ca3eeb0a2d562eb3a45 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7761773b21e56b187ef1ef0faed07f4c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8104425dff98e6732e55a66f92dd8c8b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/82b322c98d7b5192d3dfce571867e5ed +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/831efccccd36e05ad2fa9f0945ca7082 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/888399e3c0294d3131c1e82b6740ce29 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/88c4ca19a25ea136e9dab7519f3ee84f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/89aa62e587867525e04ef35f65a406a7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8b975758d2d6a934be37038d6415afce +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/925489b1ca0719bbf039b596ae188766 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/965093127c5e679a2ffe5f562d7b4662 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9684b06d31e58ef507aa48016aa827a4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a243b9dd098a9b4a370c4646ca63074e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a35e9a18e56ebffc96fea26b2e6e4f53 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a507ee6f8a7a281cd4b2e8332e4a39f9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/aadfbec5339af9d56a5ba29aee9e46f7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b095776a61a310c77a61ab31d090e5a2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b13cb66c8a1ae4e7639bc79e237e6768 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b19bf95d83eb39a720985b5c37e33ef5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b6051245a01e4e8d6aba8965acfe5ce3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b629d9ad7bc881994bf98bef8b9ca2b4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b935fc43bf4b4079f0d9ed97b866c3ea +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/be8776b4c225484cfec9e886ba615261 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c653b7516504b148d5f968578843aa98 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ce3725458aeb94a166e60eb5f5b2f403 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cfab3cc401a57096b885249b12a36654 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d4c415ddb0e6e126821ea6f1105f981d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d877f6f1f10d29f8e6b402c3ac268a19 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d9dec007927d3f827c5eb993f60d8733 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e07474169c3614b53fa0c1cd9737478e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e07e7b1488057009a04155c97fecdffd +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e232eb7c837022730acbebd7ce0ad683 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e6dd9559b0f917d14c02e2284ad6172e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e6f3190c03c1c2b869d131e25d38eb7b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e7f7117ae74657aa576cd6344288e764 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e8b18160729bab32f8368174bf32a9ce +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ed689f07991e5a86630a15be17d0e777 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ede50aac498bcc593c9a0fd3e477b2e5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/efab1ea03b3f1170b8db1ad8f8464ca6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f1ded22ac375449cc064ebca2ffa3018 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fc071e96fdcbe300c1a450a2962c6d51 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fc267d2ab25b7bcd03535b5d6475070b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fe5cd4086fcd06a48c5870042e6d280b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fedb3f41ea7af9703d934048cf5b6776 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fff87b59365e7c8663498f6e2c82ffb9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0dcafd38884d132cf7409862c5a6d5fb +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/20d19b39dec663d9be87a891a4c0a67b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/305cabb43aebb247b06295976ef63fcb +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3364f73ad7193c532a9c1d7ecea03fc5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/376c6e8b4ac8bf2405dcf785b93a82d4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/46a1d346fcb352351e6b6726ed9513ba +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4750cc863766de1e6e18c50bb47a3a21 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4a44ed0a50044da8a54755a2cc6d5ed7 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4ab82c3223288bd2e9f2440895e442f5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/50090bf2e65584155c1c5c1470e7fd18 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5592f7754240b57e8d3e55f3e0c9de3a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/57b0922c1c45bf81fed35d7be172cb3b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5b923b5314d14dfbcf80b289b49bf5cb +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5e3a16a7a65151928708d6db358c759b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5e89175bf034a9a006d9cb257dc025dc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5f59dd3f960783f3d471aff70dd93166 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6a5cbdcfa6dc2b5e180e991dea55f6f5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6b199942285fcc72f17d4e30ef62820e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6d2058c2e924b4183c9c4c3ae85016da +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/72ba7fe3126a9ddee585f301a47f0666 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/7761773b21e56b187ef1ef0faed07f4c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/831efccccd36e05ad2fa9f0945ca7082 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/89aa62e587867525e04ef35f65a406a7 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/925489b1ca0719bbf039b596ae188766 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/965093127c5e679a2ffe5f562d7b4662 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/aadfbec5339af9d56a5ba29aee9e46f7 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/af9317db2fd5899ffd150362c752ca6e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b13cb66c8a1ae4e7639bc79e237e6768 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b629d9ad7bc881994bf98bef8b9ca2b4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/b935fc43bf4b4079f0d9ed97b866c3ea +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c653b7516504b148d5f968578843aa98 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ce3725458aeb94a166e60eb5f5b2f403 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d877f6f1f10d29f8e6b402c3ac268a19 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e07474169c3614b53fa0c1cd9737478e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e07e7b1488057009a04155c97fecdffd +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e232eb7c837022730acbebd7ce0ad683 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e8b18160729bab32f8368174bf32a9ce +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ed689f07991e5a86630a15be17d0e777 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/efab1ea03b3f1170b8db1ad8f8464ca6 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fedb3f41ea7af9703d934048cf5b6776 +0 -0
- data/spec/factories/factory.rb +13 -0
- data/spec/helpers/form_helper_spec.rb +17 -0
- data/spec/requests/date_picker_spec.rb +113 -0
- data/spec/requests/datetime_picker_spec.rb +61 -0
- data/spec/requests/microdata_options_spec.rb +60 -0
- data/spec/requests/override_defaults_spec.rb +145 -0
- data/spec/requests/time_picker_spec.rb +134 -0
- data/spec/spec_helper.rb +46 -0
- metadata +628 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe "Datetime Picker", :type => :request do
|
4
|
+
describe "Create New", :js => true do
|
5
|
+
before(:each) do
|
6
|
+
visit new_schedule_path
|
7
|
+
end
|
8
|
+
|
9
|
+
it "is displayed when datetime field receives focus and hidden
|
10
|
+
when datetime field loses focus" do
|
11
|
+
find("#apocalypse").click
|
12
|
+
page.should have_selector("#ui-datepicker-div", visible: true)
|
13
|
+
find("#schedule_name").click
|
14
|
+
sleep 1
|
15
|
+
page.should have_no_selector("#ui-datepicker-div", visible: true)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "fills in the datetime field correctly and disappears when 'Done' button clicked" do
|
19
|
+
find("#apocalypse").click
|
20
|
+
curr_date = Time.now
|
21
|
+
click_link("1")
|
22
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0) #1 pm
|
23
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0) #15 min
|
24
|
+
find("button.ui-datepicker-close").click
|
25
|
+
find("#apocalypse").value
|
26
|
+
.should eq "#{'%02i' % curr_date.month}/01/#{curr_date.year} 13:15"
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "Alternate Datetime formats" do
|
30
|
+
it "shows datetime with seconds" do
|
31
|
+
find("#epoch").click
|
32
|
+
curr_date = Time.now
|
33
|
+
click_link("1")
|
34
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0) #1 pm
|
35
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0) #15 min
|
36
|
+
find("div.ui_tpicker_second_slider").find("span.ui-slider-handle").drag_by(27, 0) #15 sec
|
37
|
+
find("button.ui-datepicker-close").click
|
38
|
+
find("#epoch").value
|
39
|
+
.should eq "#{curr_date.month}/1/#{curr_date.year} 13:15:15"
|
40
|
+
click_button("Create Schedule")
|
41
|
+
#binding.pry
|
42
|
+
find("#epoch").value
|
43
|
+
.should eq "#{curr_date.month}/1/#{curr_date.year} 13:15:15"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "Update Existing", :js => true do
|
50
|
+
before(:each) do
|
51
|
+
@curr_date = Time.now
|
52
|
+
@schedule = FactoryGirl.create(:schedule, apocalypse: @curr_date.to_datetime)
|
53
|
+
visit edit_schedule_path(@schedule)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "displays current value in format specified in locale file" do
|
57
|
+
find("#apocalypse").value.should eq I18n.localize(@curr_date.to_datetime, format: :datetime)
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe "Picker Microdata Customization", :type => :request do
|
4
|
+
before(:each) do
|
5
|
+
visit '/custom_schedules/new'
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "doesn't affect certain existing features" do
|
9
|
+
describe "still allows microdata to be passed through", :js => true do
|
10
|
+
it "has the data-my-data attribute" do
|
11
|
+
expect(find("input#suppertime")['data-my-data']).to match("true")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
describe "allows css classes to be passed through while adding the necessary picker class" do
|
15
|
+
it "has classes 'css_class' and 'my_class'" do
|
16
|
+
expect(find("input#suppertime")['class']).to match("css_class")
|
17
|
+
expect(find("input#suppertime")['class']).to match("my_class")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
describe "Date Picker", :js => true do
|
24
|
+
before(:each) do
|
25
|
+
find("input#birthday").click
|
26
|
+
end
|
27
|
+
it "allows us to display the panel containing the Today and Done buttons" do
|
28
|
+
page.should have_selector("button.ui-datepicker-current", visible: true)
|
29
|
+
page.should have_selector("button.ui-datepicker-close", visible: true)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "Time Picker", :js => true do
|
34
|
+
before(:each) do
|
35
|
+
find("input#lunchtime").click
|
36
|
+
end
|
37
|
+
describe "add or change text" do
|
38
|
+
it "allows us to specify the text of the 'Now' button" do
|
39
|
+
find("button.ui-datepicker-current").text.should eq "Current"
|
40
|
+
end
|
41
|
+
it "allows us to set the text on the Done button" do
|
42
|
+
find("button.ui-datepicker-close").text.should eq "Set"
|
43
|
+
end
|
44
|
+
it "allows us to add a suffix after the time displayed" do
|
45
|
+
find("dd.ui_tpicker_time").text.should match(/.*\so\'clock/)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "Datetime Picker", :js => true do
|
51
|
+
before(:each) do
|
52
|
+
find("input#apocalypse").click
|
53
|
+
end
|
54
|
+
it "allows us to add a separator between the date and time in the input value" do
|
55
|
+
find("a", text: "17").click
|
56
|
+
find("input#apocalypse").value.should match(/\d\d\/\d\d\/\d{4} @ \d\d:\d\d/)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -0,0 +1,145 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
#Usage: rspec spec --tag @defaults --order default
|
4
|
+
#To run all other specs: rspec spec --tag ~@defaults
|
5
|
+
|
6
|
+
RSpec.describe "Override Defaults", :type => :request, :js => true, defaults: true do
|
7
|
+
describe "time grid intervals" do
|
8
|
+
before(:each) do
|
9
|
+
visit '/custom_schedules/new'
|
10
|
+
end
|
11
|
+
it "shows Minute grid with intervals of 15" do
|
12
|
+
find("input#lunchtime").click
|
13
|
+
page.should have_selector(:xpath, "//dd[@class='ui_tpicker_minute']//table[@class='ui-tpicker-grid-label']//td[text()='15']")
|
14
|
+
page.should have_selector(:xpath, "//dd[@class='ui_tpicker_minute']//table[@class='ui-tpicker-grid-label']//td[text()='30']")
|
15
|
+
page.should have_selector(:xpath, "//dd[@class='ui_tpicker_minute']//table[@class='ui-tpicker-grid-label']//td[text()='45']")
|
16
|
+
end
|
17
|
+
it "overrides the default value we already overrode when explicitly passed to tag" do
|
18
|
+
find("input#suppertime").click
|
19
|
+
page.should have_selector(:xpath, "//dd[@class='ui_tpicker_minute']//table[@class='ui-tpicker-grid-label']//td[text()='20']")
|
20
|
+
page.should have_selector(:xpath, "//dd[@class='ui_tpicker_minute']//table[@class='ui-tpicker-grid-label']//td[text()='40']")
|
21
|
+
end
|
22
|
+
it "doesn't show any grid numbers when the option is passed an empty string" do
|
23
|
+
find("input#alarm_setting").click
|
24
|
+
page.should have_selector(:xpath, "//dd[@class='ui_tpicker_hour']//table[@class='ui-tpicker-grid-label']//td[text()='16']")
|
25
|
+
page.should have_selector(:xpath, "//dd[@class='ui_tpicker_minute']//table[@class='ui-tpicker-grid-label']//td[text()='30']")
|
26
|
+
page.should_not have_selector(:xpath, "//dd[@class='ui_tpicker_second']//table[@class='ui-tpicker-grid-label']//td")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "date and time format factory defaults" do
|
31
|
+
describe "date format" do
|
32
|
+
|
33
|
+
describe "HotDateRails default date" do
|
34
|
+
before(:each) do
|
35
|
+
visit new_schedule_path
|
36
|
+
end
|
37
|
+
it "fills in the date field with date formatted like 01/01/2001" do
|
38
|
+
curr_date = Time.now
|
39
|
+
find("#birthday").click
|
40
|
+
find("select.ui-datepicker-month").select("Jan")
|
41
|
+
click_link("1")
|
42
|
+
sleep 1
|
43
|
+
find("#birthday").value.should eq "01/01/#{curr_date.year}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
describe "time Format" do
|
49
|
+
describe "HotDateRails time default" do
|
50
|
+
before(:each) do
|
51
|
+
visit new_schedule_path
|
52
|
+
end
|
53
|
+
it "fills in the time field with time formatted like 23:59 " do
|
54
|
+
find("#lunchtime").click
|
55
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0)
|
56
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0)
|
57
|
+
find("button.ui-datepicker-close").click
|
58
|
+
find("#lunchtime").value.should eq "13:15"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
describe "datetime Format" do
|
63
|
+
describe "HotDateRails datetime default" do
|
64
|
+
before(:each) do
|
65
|
+
visit new_schedule_path
|
66
|
+
end
|
67
|
+
it "fills in the datetime field with datetime formatted like 01/01/2001 23:59 " do
|
68
|
+
find("#apocalypse").click
|
69
|
+
click_link("1")
|
70
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0)
|
71
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0)
|
72
|
+
find("button.ui-datepicker-close").click
|
73
|
+
sleep 1
|
74
|
+
find("#apocalypse").value.should match(/\d\d\/\d\d\/\d{4} \d\d:\d\d/)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe "override date and time format factory defaults" do
|
82
|
+
describe "date format" do
|
83
|
+
describe "overridden default time" do
|
84
|
+
before(:each) do
|
85
|
+
HotDateRails.config do |c|
|
86
|
+
c.date_format = "MM d, yy"
|
87
|
+
end
|
88
|
+
#defaults are usually overridden in spec/dummy/config/environment.rb
|
89
|
+
visit '/custom_schedules/new'
|
90
|
+
end
|
91
|
+
it "fills in the date field with date formatted like 'January 1, 2010' " do
|
92
|
+
find("#christmas").click
|
93
|
+
find("select.ui-datepicker-month").select("Jan")
|
94
|
+
click_link("1")
|
95
|
+
sleep 1
|
96
|
+
find("#christmas").value.should match(/\w*\s\d{1,2},\s\d{4}/)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
|
102
|
+
describe "time Format" do
|
103
|
+
describe "overridden default time" do
|
104
|
+
before(:each) do
|
105
|
+
HotDateRails.config do |c|
|
106
|
+
c.time_format = "h:mm tt"
|
107
|
+
end
|
108
|
+
visit '/custom_schedules/new'
|
109
|
+
end
|
110
|
+
it "fills in the time field with time formatted like '9:35 am' " do
|
111
|
+
find("#beer_oclock").click
|
112
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0)
|
113
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0)
|
114
|
+
find("button.ui-datepicker-close").click
|
115
|
+
find("#beer_oclock").value.should eq "1:15 pm"
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
describe "datetime Format" do
|
121
|
+
describe "overridden default datetime" do
|
122
|
+
before(:each) do
|
123
|
+
HotDateRails.config do |c|
|
124
|
+
c.date_format = "MM d, yy"
|
125
|
+
c.time_format = "h:mm tt"
|
126
|
+
end
|
127
|
+
visit '/custom_schedules/new'
|
128
|
+
end
|
129
|
+
it "fills in the datetime field with datetime formatted like January 1, 2001 1:59 pm " do
|
130
|
+
find("#epoch").click
|
131
|
+
click_link("1")
|
132
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0)
|
133
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0)
|
134
|
+
find("button.ui-datepicker-close").click
|
135
|
+
sleep 1
|
136
|
+
find("#epoch").value.should match(/\w*\s\d{1,2},\s\d{4} 1:15 pm/)
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
end
|
143
|
+
|
144
|
+
|
145
|
+
|
@@ -0,0 +1,134 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe "Time Picker", :type => :request do
|
4
|
+
describe "Create New", :js => true do
|
5
|
+
before(:each) do
|
6
|
+
visit new_schedule_path
|
7
|
+
end
|
8
|
+
describe "Standard format" do
|
9
|
+
it "is displayed when time field receives focus and is hidden
|
10
|
+
when time field loses focus" do
|
11
|
+
find("#lunchtime").click
|
12
|
+
page.should have_selector("#ui-datepicker-div", visible: true)
|
13
|
+
find("#schedule_name").click
|
14
|
+
sleep 1
|
15
|
+
page.should have_no_selector("#ui-datepicker-div", visible: true)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "fills in the time field correctly and disappears when 'Done' button clicked" do
|
19
|
+
find("#lunchtime").click
|
20
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0) #1 pm
|
21
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0) #15 min
|
22
|
+
find("button.ui-datepicker-close").click
|
23
|
+
find("#lunchtime").value.should eq "13:15"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
describe "Optional formats" do
|
29
|
+
it "displays seconds when specified" do
|
30
|
+
find("#alarm_setting").click
|
31
|
+
within("div.ui_tpicker_second_slider", visible: true) do
|
32
|
+
page.should have_selector("span.ui-slider-handle") #seconds slider exists
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
it "displays like '12:00 am' when specified" do
|
37
|
+
find("#suppertime").click
|
38
|
+
find("dd.ui_tpicker_time").text.should match('12:00 am')
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "updated time is properly persisted in the database" do
|
42
|
+
it "updates data prpperly when lowercase meridian is specified" do
|
43
|
+
find("#suppertime").click
|
44
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0) #1 pm
|
45
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0) #15 min
|
46
|
+
find("button.ui-datepicker-close").click
|
47
|
+
click_button("Create Schedule")
|
48
|
+
sleep 1
|
49
|
+
find("input#suppertime").value.should match('1:15 pm')
|
50
|
+
end
|
51
|
+
it "updates data prpperly when uppercase meridian is specified" do
|
52
|
+
find("#beer_oclock").click
|
53
|
+
find("div.ui_tpicker_hour_slider").find("span.ui-slider-handle").drag_by(62, 0) #1 pm
|
54
|
+
find("div.ui_tpicker_minute_slider").find("span.ui-slider-handle").drag_by(27, 0) #15 min
|
55
|
+
find("button.ui-datepicker-close").click
|
56
|
+
click_button("Create Schedule")
|
57
|
+
sleep 1
|
58
|
+
find("input#beer_oclock").value.should match('1:15 PM')
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
describe "Update Existing", :js => true do
|
66
|
+
before(:each) do
|
67
|
+
@curr_date = Time.now
|
68
|
+
@schedule = FactoryGirl.create(:schedule, lunchtime: @curr_date.to_time.strftime("%H:%M"),
|
69
|
+
alarm_setting: @curr_date.to_time.strftime("%H:%M:%S"),
|
70
|
+
suppertime: @curr_date.to_time.strftime("%H:%M"), beer_oclock: @curr_date.to_time.strftime("%H:%M"))
|
71
|
+
visit edit_schedule_path(@schedule)
|
72
|
+
end
|
73
|
+
|
74
|
+
describe "displays current value in format specified in locale file", :js => false do
|
75
|
+
it "shows default time format" do
|
76
|
+
find("#lunchtime").value.should eq I18n.localize(@curr_date.to_time)
|
77
|
+
end
|
78
|
+
it "shows time with seconds when custom locale_format specified" do
|
79
|
+
find("#alarm_setting").value.should eq I18n.localize(@curr_date.to_time, format: :w_seconds)
|
80
|
+
end
|
81
|
+
it "shows time with 12-hour clock and lower case meridian" do
|
82
|
+
find("#suppertime").value.should eq I18n.localize(@curr_date.to_time, format: :lc_merid).strip
|
83
|
+
end
|
84
|
+
it "shows time with 12-hour clock and upper case meridian" do
|
85
|
+
find("#beer_oclock").value.should eq I18n.localize(@curr_date.to_time, format: :uc_merid).strip
|
86
|
+
end
|
87
|
+
end
|
88
|
+
describe "time value is correctly indicated on the timepicker widget" do
|
89
|
+
it "displays default time format" do
|
90
|
+
find("#lunchtime").click
|
91
|
+
find("dd.ui_tpicker_time").text.should match(I18n.localize(@curr_date.to_time))
|
92
|
+
end
|
93
|
+
it "displays time with seconds format" do
|
94
|
+
find("#alarm_setting").click
|
95
|
+
find("dd.ui_tpicker_time").text.should match(I18n.localize(@curr_date.to_time, format: :w_seconds))
|
96
|
+
end
|
97
|
+
describe "12-hour clock and lower case meridian format" do
|
98
|
+
it "displays single-digit hour" do
|
99
|
+
date_obj = DateTime.strptime("1:45 am", "%H:%M %P")
|
100
|
+
@schedule = FactoryGirl.create(:schedule, suppertime: date_obj)
|
101
|
+
visit edit_schedule_path(@schedule)
|
102
|
+
find("#suppertime").click
|
103
|
+
find("dd.ui_tpicker_time").text.should match(I18n.localize(date_obj, format: :lc_merid))
|
104
|
+
end
|
105
|
+
it "displays double-digit hour" do
|
106
|
+
date_obj = DateTime.strptime("11:47 pm", "%H:%M %P")
|
107
|
+
@schedule = FactoryGirl.create(:schedule, suppertime: date_obj)
|
108
|
+
visit edit_schedule_path(@schedule)
|
109
|
+
find("#suppertime").click
|
110
|
+
find("dd.ui_tpicker_time").text.should match(I18n.localize(date_obj, format: :lc_merid))
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe "12-hour clock and upper case meridian format" do
|
115
|
+
it "displays single-digit hour" do
|
116
|
+
date_obj = DateTime.strptime("1:45 am", "%H:%M %p")
|
117
|
+
@schedule = FactoryGirl.create(:schedule, beer_oclock: date_obj)
|
118
|
+
visit edit_schedule_path(@schedule)
|
119
|
+
find("#beer_oclock").click
|
120
|
+
find("dd.ui_tpicker_time").text.should match(I18n.localize(date_obj, format: :uc_merid))
|
121
|
+
end
|
122
|
+
it "displays double-digit hour" do
|
123
|
+
date_obj = DateTime.strptime("11:47 pm", "%H:%M %p")
|
124
|
+
@schedule = FactoryGirl.create(:schedule, beer_oclock: date_obj)
|
125
|
+
visit edit_schedule_path(@schedule)
|
126
|
+
find("#beer_oclock").click
|
127
|
+
find("dd.ui_tpicker_time").text.should match(I18n.localize(date_obj, format: :uc_merid))
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
end
|
132
|
+
|
133
|
+
end
|
134
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
ENV['RAILS_ENV'] ||= 'test'
|
2
|
+
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
3
|
+
require 'rspec/rails'
|
4
|
+
#require 'rspec/autorun'
|
5
|
+
require 'factory_girl_rails'
|
6
|
+
require 'database_cleaner'
|
7
|
+
require 'capybara/rails'
|
8
|
+
require 'capybara/rspec'
|
9
|
+
|
10
|
+
Rails.backtrace_cleaner.remove_silencers!
|
11
|
+
|
12
|
+
# Load support files
|
13
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
14
|
+
|
15
|
+
RSpec.configure do |config|
|
16
|
+
config.mock_with :rspec
|
17
|
+
config.use_transactional_fixtures = false
|
18
|
+
config.infer_base_class_for_anonymous_controllers = false
|
19
|
+
config.order = "random"
|
20
|
+
config.include Capybara::DSL
|
21
|
+
config.expect_with :rspec do |c|
|
22
|
+
c.syntax = [:should, :expect]
|
23
|
+
end
|
24
|
+
config.color = true
|
25
|
+
config.use_transactional_fixtures = false
|
26
|
+
config.before(:each) do
|
27
|
+
DatabaseCleaner.strategy = :transaction
|
28
|
+
DatabaseCleaner.clean_with(:truncation)
|
29
|
+
FactoryGirl.reload
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
#For testing jQuery UI slider widget
|
35
|
+
module CapybaraExtension
|
36
|
+
def drag_by(right_by, down_by)
|
37
|
+
base.drag_by(right_by, down_by)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
module CapybaraSeleniumExtension
|
41
|
+
def drag_by(right_by, down_by)
|
42
|
+
driver.browser.action.drag_and_drop_by(native, right_by, down_by).perform
|
43
|
+
end
|
44
|
+
end
|
45
|
+
::Capybara::Selenium::Node.send :include, CapybaraSeleniumExtension
|
46
|
+
::Capybara::Node::Element.send :include, CapybaraExtension
|