simple_attachments 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +132 -0
- data/lib/simple_attachments.rb +15 -0
- data/lib/simple_attachments/attachment_model.rb +128 -0
- data/lib/simple_attachments/attachments_controller.rb +100 -0
- data/lib/simple_attachments/container_model.rb +73 -0
- data/lib/simple_attachments/migration_helpers.rb +14 -0
- data/lib/simple_attachments/view_helpers.rb +92 -0
- data/locales/en.yml +5 -0
- data/test/Rakefile +10 -0
- data/test/app/assets/javascripts/attachments.js +18 -0
- data/test/app/assets/stylesheets/attachments.css +17 -0
- data/test/app/controllers/application_controller.rb +3 -0
- data/test/app/controllers/avatars_controller.rb +3 -0
- data/test/app/controllers/documents_controller.rb +3 -0
- data/test/app/controllers/users_controller.rb +18 -0
- data/test/app/models/avatar.rb +5 -0
- data/test/app/models/document.rb +5 -0
- data/test/app/models/user.rb +4 -0
- data/test/app/views/layouts/application.html.erb +12 -0
- data/test/app/views/users/edit.html.erb +6 -0
- data/test/config.ru +4 -0
- data/test/config/application.rb +10 -0
- data/test/config/boot.rb +3 -0
- data/test/config/database.yml +5 -0
- data/test/config/environment.rb +5 -0
- data/test/config/environments/test.rb +12 -0
- data/test/config/initializers/secret_token.rb +7 -0
- data/test/config/initializers/session_store.rb +8 -0
- data/test/config/initializers/wrap_parameters.rb +14 -0
- data/test/config/routes.rb +5 -0
- data/test/db/migrate/1_create_users.rb +6 -0
- data/test/db/migrate/2_create_avatars.rb +8 -0
- data/test/db/migrate/3_create_documents.rb +8 -0
- data/test/db/schema.rb +34 -0
- data/test/db/test.sqlite3 +0 -0
- data/test/log/test.log +11774 -0
- data/test/script/rails +6 -0
- data/test/spec/multiple_spec.rb +36 -0
- data/test/spec/samples/sample.jpg +0 -0
- data/test/spec/samples/sample.pdf +0 -0
- data/test/spec/samples/sample.png +0 -0
- data/test/spec/singleton_spec.rb +54 -0
- data/test/spec/spec_helper.rb +22 -0
- data/test/tmp/cache/2CB/9B1/http%3A%2F%2Flocalhost%3A3000%2Fassets%2Fattachments.js%3F +0 -0
- data/test/tmp/cache/337/6A1/http%3A%2F%2Flocalhost%3A3000%2Fassets%2Fattachments.css%3F +0 -0
- data/test/tmp/cache/A03/C30/86cd82a38406e2cc75af040321554265d148882e +0 -0
- data/test/tmp/cache/BDE/BD0/7d763b3bac537e97ea5f3fb558c2bdbba05b72bc +0 -0
- data/test/tmp/cache/assets/C2E/6F0/sprockets%2F99a77a1d4d8767343010e1153d993839 +0 -0
- data/test/tmp/cache/assets/C5A/590/sprockets%2F2993f5a3d21b3e477143358534c68f55 +0 -0
- data/test/tmp/cache/assets/C5B/6F0/sprockets%2F19824e4169877bb010cd8163319f3f95 +0 -0
- data/test/tmp/cache/assets/CEB/450/sprockets%2Fada5663796684365b3e4ab36529bc86b +0 -0
- data/test/tmp/cache/assets/CF4/E60/sprockets%2F96b74d34978f2759ec2af602cd969d00 +0 -0
- data/test/tmp/cache/assets/D0B/600/sprockets%2F0b1b45e6991800f2911a6bcccf54a679 +0 -0
- data/test/tmp/cache/assets/D48/590/sprockets%2F522d019dab47a2617f2c2a99e98a99ed +0 -0
- data/test/tmp/cache/assets/D64/BF0/sprockets%2Fbd0d2396f3797000ffd901eba90b4d0e +0 -0
- data/test/tmp/cache/assets/D6B/150/sprockets%2F0b6cebd1717e9da4183329be9a2d77c0 +0 -0
- data/test/tmp/cache/assets/D70/120/sprockets%2F0f56b864e2eba6c4199d4171bdf391ae +0 -0
- data/test/tmp/cache/assets/D91/580/sprockets%2Fb5e4430a5a0af8eee00d262f82b565ed +0 -0
- data/test/tmp/cache/assets/D9A/760/sprockets%2F8df77fdd2c3c1f3d04f450c72a635be2 +0 -0
- data/test/tmp/cache/assets/DA1/380/sprockets%2F5e06b3974a8f9ca4452d4dfea337dba5 +0 -0
- data/test/tmp/cache/assets/DA9/EC0/sprockets%2F73f61f04eb2d87aced83787a0f14cf8e +0 -0
- data/test/uploads/1330732189.40513.sample.jpg +0 -0
- data/test/uploads/1330732621.7381.sample.jpg +0 -0
- data/test/uploads/1330732672.36763.sample.jpg +0 -0
- data/test/uploads/1330732847.98348.sample.jpg +0 -0
- data/test/uploads/1330732967.05269.sample.jpg +0 -0
- data/test/uploads/1330733025.52707.sample.jpg +0 -0
- data/test/uploads/1330733381.60733.sample.jpg +0 -0
- data/test/uploads/1330733822.51761.sample.jpg +0 -0
- data/test/uploads/1330733887.44114.sample.jpg +0 -0
- data/test/uploads/1330738615.68437.sample.jpg +0 -0
- data/test/uploads/1330738616.82401.sample.jpg +0 -0
- data/test/uploads/1330738618.00278.sample.jpg +0 -0
- data/test/uploads/1330738771.92631.sample.jpg +0 -0
- data/test/uploads/1330738772.94099.sample.jpg +0 -0
- data/test/uploads/1330738901.69933.sample.jpg +0 -0
- data/test/uploads/1330738904.3815.sample.jpg +0 -0
- data/test/uploads/1330739046.59901.sample.jpg +0 -0
- data/test/uploads/1330739125.79463.sample.jpg +0 -0
- data/test/uploads/1330739131.09163.sample.pdf +0 -0
- data/test/uploads/1330739735.52707.sample.jpg +0 -0
- data/test/uploads/1330739738.11937.sample.jpg +0 -0
- data/test/uploads/1330739742.76692.sample.jpg +0 -0
- data/test/uploads/1330739911.78046.sample.jpg +0 -0
- data/test/uploads/1330739914.46047.sample.jpg +0 -0
- data/test/uploads/1330739918.80359.sample.jpg +0 -0
- data/test/uploads/1330739921.39005.sample.jpg +0 -0
- data/test/uploads/1330739988.04537.sample.jpg +0 -0
- data/test/uploads/1330739990.65212.sample.jpg +0 -0
- data/test/uploads/1330739994.98225.sample.jpg +0 -0
- data/test/uploads/1330739997.45622.sample.jpg +0 -0
- data/test/uploads/1330740765.24516.sample.jpg +0 -0
- data/test/uploads/1330740767.71798.sample.jpg +0 -0
- data/test/uploads/1330740771.9889.sample.jpg +0 -0
- data/test/uploads/1330740774.56759.sample.jpg +0 -0
- data/test/uploads/1330741058.17571.sample.jpg +0 -0
- data/test/uploads/1330741060.65483.sample.jpg +0 -0
- data/test/uploads/1330741067.79574.sample.jpg +0 -0
- data/test/uploads/1330741154.42055.sample.jpg +0 -0
- data/test/uploads/1330741157.28718.sample.jpg +0 -0
- data/test/uploads/1330741164.64669.sample.jpg +0 -0
- data/test/uploads/1330741776.05725.sample.jpg +0 -0
- data/test/uploads/1330741778.80256.sample.jpg +0 -0
- data/test/uploads/1330741785.96345.sample.jpg +0 -0
- data/test/uploads/1330742286.07361.sample.jpg +0 -0
- data/test/uploads/1330742288.59918.sample.jpg +0 -0
- data/test/uploads/1330742295.83963.sample.jpg +0 -0
- data/test/uploads/1330742576.6398.sample.jpg +0 -0
- data/test/uploads/1330742579.54181.sample.jpg +0 -0
- data/test/uploads/1330742586.88996.sample.jpg +0 -0
- data/test/uploads/1330743983.91544.shen-logic-part1.pdf +0 -0
- data/test/uploads/1330744294.55912.sample.jpg +0 -0
- data/test/uploads/1330744296.94811.sample.jpg +0 -0
- data/test/uploads/1330744304.25529.sample.jpg +0 -0
- data/test/uploads/1330744307.08498.sample.pdf +0 -0
- data/test/uploads/1330744309.25872.sample.pdf +0 -0
- data/test/uploads/1330744443.49578.sample.jpg +0 -0
- data/test/uploads/1330744446.09032.sample.jpg +0 -0
- data/test/uploads/1330744453.55965.sample.jpg +0 -0
- data/test/uploads/1330744456.32318.sample.pdf +0 -0
- data/test/uploads/1330744458.42931.sample.pdf +0 -0
- data/test/uploads/1330744533.52631.sample.jpg +0 -0
- data/test/uploads/1330744536.13208.sample.jpg +0 -0
- data/test/uploads/1330744543.29535.sample.jpg +0 -0
- data/test/uploads/1330744546.16477.sample.pdf +0 -0
- data/test/uploads/1330744548.27125.sample.pdf +0 -0
- data/test/uploads/1330744696.43953.sample.jpg +0 -0
- data/test/uploads/1330744698.95043.sample.jpg +0 -0
- data/test/uploads/1330744706.28901.sample.jpg +0 -0
- data/test/uploads/1330744711.24284.sample.pdf +0 -0
- data/test/uploads/1330744713.6281.sample.pdf +0 -0
- data/test/uploads/1330744782.91673.sample.jpg +0 -0
- data/test/uploads/1330744785.53684.sample.jpg +0 -0
- data/test/uploads/1330744792.74599.sample.jpg +0 -0
- data/test/uploads/1330744797.90608.sample.pdf +0 -0
- data/test/uploads/1330744800.55736.sample.pdf +0 -0
- data/test/uploads/1330771358.91882.sample.jpg +0 -0
- data/test/uploads/1330771359.23929.sample.jpg +0 -0
- data/test/uploads/1330771359.70574.sample.jpg +0 -0
- data/test/uploads/1330771360.07645.sample.png +0 -0
- data/test/uploads/1330771364.83802.sample.pdf +0 -0
- data/test/uploads/1330771367.18498.sample.pdf +0 -0
- data/test/uploads/1330771514.28703.sample.jpg +0 -0
- data/test/uploads/1330771514.66497.sample.jpg +0 -0
- data/test/uploads/1330771515.12563.sample.jpg +0 -0
- data/test/uploads/1330771515.72515.sample.png +0 -0
- data/test/uploads/1330771519.30014.sample.pdf +0 -0
- data/test/uploads/1330771519.55784.sample.pdf +0 -0
- data/test/uploads/1330771519.89044.sample.pdf +0 -0
- data/test/uploads/1330771522.50763.sample.pdf +0 -0
- data/test/uploads/1330771522.75458.sample.pdf +0 -0
- data/test/uploads/1330775627.9105.sample.pdf +0 -0
- data/test/uploads/1330775628.40671.sample.pdf +0 -0
- data/test/uploads/1330775628.68645.sample.pdf +0 -0
- data/test/uploads/1330775631.48519.sample.pdf +0 -0
- data/test/uploads/1330775631.9586.sample.pdf +0 -0
- data/test/uploads/1330775676.5146.sample.pdf +0 -0
- data/test/uploads/1330775703.20143.sample.pdf +0 -0
- data/test/uploads/1330775704.36145.sample.pdf +0 -0
- data/test/uploads/1330775705.27831.sample.pdf +0 -0
- data/test/uploads/1330775706.66539.sample.pdf +0 -0
- data/test/uploads/1330776988.21579.sample.pdf +0 -0
- data/test/uploads/1330776988.69155.sample.pdf +0 -0
- data/test/uploads/1330776989.12114.sample.pdf +0 -0
- data/test/uploads/1330776992.1201.sample.pdf +0 -0
- data/test/uploads/1330776992.57634.sample.pdf +0 -0
- data/test/uploads/1330777152.6597.sample.jpg +0 -0
- data/test/uploads/1330777153.00459.sample.jpg +0 -0
- data/test/uploads/1330777153.45871.sample.jpg +0 -0
- data/test/uploads/1330777153.86376.sample.png +0 -0
- data/test/uploads/1330777157.91465.sample.pdf +0 -0
- data/test/uploads/1330777158.23816.sample.pdf +0 -0
- data/test/uploads/1330777158.74465.sample.pdf +0 -0
- data/test/uploads/1330777161.59586.sample.pdf +0 -0
- data/test/uploads/1330777161.93334.sample.pdf +0 -0
- data/test/uploads/1330777833.73591.sample.jpg +0 -0
- data/test/uploads/1330777834.05449.sample.jpg +0 -0
- data/test/uploads/1330777834.50661.sample.jpg +0 -0
- data/test/uploads/1330777834.87967.sample.jpg +0 -0
- data/test/uploads/1330777835.22949.sample.jpg +0 -0
- data/test/uploads/1330777835.55546.sample.png +0 -0
- data/test/uploads/1330777840.54959.sample.jpg +0 -0
- data/test/uploads/1330777844.18911.sample.pdf +0 -0
- data/test/uploads/1330777844.58364.sample.pdf +0 -0
- data/test/uploads/1330777844.96998.sample.pdf +0 -0
- data/test/uploads/1330777847.62838.sample.pdf +0 -0
- data/test/uploads/1330777848.0192.sample.pdf +0 -0
- data/test/uploads/1330778979.41703.sample.jpg +0 -0
- data/test/uploads/1330778979.74093.sample.jpg +0 -0
- data/test/uploads/1330778980.16769.sample.jpg +0 -0
- data/test/uploads/1330778980.54831.sample.jpg +0 -0
- data/test/uploads/1330778980.91033.sample.jpg +0 -0
- data/test/uploads/1330778981.23582.sample.png +0 -0
- data/test/uploads/1330778986.50795.sample.jpg +0 -0
- data/test/uploads/1330778989.07307.sample.pdf +0 -0
- data/test/uploads/1330778989.59241.sample.pdf +0 -0
- data/test/uploads/1330778990.06415.sample.pdf +0 -0
- data/test/uploads/1330778990.44233.sample.pdf +0 -0
- data/test/uploads/1330779134.25647.sample.jpg +0 -0
- data/test/uploads/1330779134.67957.sample.jpg +0 -0
- data/test/uploads/1330779135.15349.sample.jpg +0 -0
- data/test/uploads/1330779135.6793.sample.jpg +0 -0
- data/test/uploads/1330779136.14714.sample.jpg +0 -0
- data/test/uploads/1330779136.70598.sample.png +0 -0
- data/test/uploads/1330779141.75878.sample.jpg +0 -0
- data/test/uploads/1330779145.79811.sample.pdf +0 -0
- data/test/uploads/1330779146.40945.sample.pdf +0 -0
- data/test/uploads/1330779146.75038.sample.pdf +0 -0
- data/test/uploads/1330779149.67101.sample.pdf +0 -0
- data/test/uploads/1330779150.033.sample.pdf +0 -0
- data/test/uploads/1330779251.92468.sample.jpg +0 -0
- data/test/uploads/1330779252.33759.sample.jpg +0 -0
- data/test/uploads/1330779252.79211.sample.jpg +0 -0
- data/test/uploads/1330779253.16365.sample.jpg +0 -0
- data/test/uploads/1330779253.51459.sample.jpg +0 -0
- data/test/uploads/1330779253.82932.sample.png +0 -0
- data/test/uploads/1330779259.04186.sample.jpg +0 -0
- data/test/uploads/1330779262.79998.sample.pdf +0 -0
- data/test/uploads/1330779263.19534.sample.pdf +0 -0
- data/test/uploads/1330779263.51726.sample.pdf +0 -0
- data/test/uploads/1330779266.23965.sample.pdf +0 -0
- data/test/uploads/1330779266.65453.sample.pdf +0 -0
- data/test/uploads/1330780162.71983.1.gif +0 -0
- data/test/uploads/1330780370.60224.sample.jpg +0 -0
- data/test/uploads/1330780370.95202.sample.jpg +0 -0
- data/test/uploads/1330780371.44543.sample.jpg +0 -0
- data/test/uploads/1330780371.88658.sample.jpg +0 -0
- data/test/uploads/1330780372.30293.sample.jpg +0 -0
- data/test/uploads/1330780372.79723.sample.png +0 -0
- data/test/uploads/1330780378.19075.sample.jpg +0 -0
- data/test/uploads/1330780382.07736.sample.pdf +0 -0
- data/test/uploads/1330780382.61497.sample.pdf +0 -0
- data/test/uploads/1330780383.10458.sample.pdf +0 -0
- data/test/uploads/1330780385.85251.sample.pdf +0 -0
- data/test/uploads/1330780386.24973.sample.pdf +0 -0
- data/test/uploads/1330781258.12109.sample.pdf +0 -0
- data/test/uploads/1330781258.63862.sample.pdf +0 -0
- data/test/uploads/1330781259.10465.sample.pdf +0 -0
- data/test/uploads/1330781262.08459.sample.pdf +0 -0
- data/test/uploads/1330781262.52448.sample.pdf +0 -0
- data/test/uploads/1330781278.37307.sample.jpg +0 -0
- data/test/uploads/1330781278.7309.sample.jpg +0 -0
- data/test/uploads/1330781279.18693.sample.jpg +0 -0
- data/test/uploads/1330781279.55913.sample.jpg +0 -0
- data/test/uploads/1330781279.92436.sample.jpg +0 -0
- data/test/uploads/1330781280.27391.sample.png +0 -0
- data/test/uploads/1330886711.00348.sample.pdf +0 -0
- data/test/uploads/1330886711.78495.sample.pdf +0 -0
- data/test/uploads/1330886712.4033.sample.pdf +0 -0
- data/test/uploads/1330886716.09532.sample.pdf +0 -0
- data/test/uploads/1330886716.7663.sample.pdf +0 -0
- data/test/uploads/1330886735.38676.sample.jpg +0 -0
- data/test/uploads/1330886736.28739.sample.jpg +0 -0
- data/test/uploads/1330886736.84868.sample.jpg +0 -0
- data/test/uploads/1330886737.64167.sample.jpg +0 -0
- data/test/uploads/1330886738.33938.sample.jpg +0 -0
- data/test/uploads/1330886738.92271.sample.png +0 -0
- data/test/uploads/1330886985.6679.sample.pdf +0 -0
- data/test/uploads/1330886986.4568.sample.pdf +0 -0
- data/test/uploads/1330886987.00302.sample.pdf +0 -0
- data/test/uploads/1330886990.4604.sample.pdf +0 -0
- data/test/uploads/1330886991.04681.sample.pdf +0 -0
- data/test/uploads/1330887008.68477.sample.jpg +0 -0
- data/test/uploads/1330887009.23077.sample.jpg +0 -0
- data/test/uploads/1330887009.82498.sample.jpg +0 -0
- data/test/uploads/1330887010.48937.sample.jpg +0 -0
- data/test/uploads/1330887011.23496.sample.jpg +0 -0
- data/test/uploads/1330887011.92032.sample.png +0 -0
- data/test/uploads/1330887633.41769.sample.pdf +0 -0
- data/test/uploads/1330887633.81961.sample.pdf +0 -0
- data/test/uploads/1330887634.25582.sample.pdf +0 -0
- data/test/uploads/1330887637.47958.sample.pdf +0 -0
- data/test/uploads/1330887638.14348.sample.pdf +0 -0
- data/test/uploads/1330887655.10619.sample.jpg +0 -0
- data/test/uploads/1330887655.80139.sample.jpg +0 -0
- data/test/uploads/1330887656.35041.sample.jpg +0 -0
- data/test/uploads/1330887656.86876.sample.jpg +0 -0
- data/test/uploads/1330887657.60467.sample.jpg +0 -0
- data/test/uploads/1330887658.23424.sample.png +0 -0
- data/test/uploads/1330888133.62299.WIN.gif +0 -0
- data/test/uploads/1330888504.16714.1.gif +0 -0
- data/test/uploads/1330888586.99975.1.gif +0 -0
- data/test/uploads/1330888607.58249.shen-logic-part1.pdf +0 -0
- data/test/uploads/1330889585.30006.shen-logic-part2.pdf +0 -0
- data/test/uploads/1330890565.79547.shen-logic-part1.pdf +0 -0
- data/test/uploads/1330890992.45693.sample.jpg +0 -0
- data/test/uploads/1330890998.10996.sample.pdf +0 -0
- data/test/uploads/1330890998.76199.sample.pdf +0 -0
- data/test/uploads/1330890999.14516.sample.pdf +0 -0
- data/test/uploads/1330891002.0989.sample.pdf +0 -0
- data/test/uploads/1330891002.49258.sample.pdf +0 -0
- data/test/uploads/1330891004.89888.sample.jpg +0 -0
- data/test/uploads/1330891007.45147.sample.jpg +0 -0
- data/test/uploads/1330891052.00842.sample.jpg +0 -0
- data/test/uploads/1330891056.46428.sample.pdf +0 -0
- data/test/uploads/1330891056.83678.sample.pdf +0 -0
- data/test/uploads/1330891057.31732.sample.pdf +0 -0
- data/test/uploads/1330891057.86036.sample.pdf +0 -0
- data/test/uploads/1330891058.49616.sample.pdf +0 -0
- data/test/uploads/1330891058.91288.sample.pdf +0 -0
- data/test/uploads/1330891138.7408.sample.pdf +0 -0
- data/test/uploads/1330891139.14067.sample.pdf +0 -0
- data/test/uploads/1330891139.46755.sample.pdf +0 -0
- data/test/uploads/1330891142.26432.sample.pdf +0 -0
- data/test/uploads/1330891142.684.sample.pdf +0 -0
- data/test/uploads/1330891158.04426.sample.jpg +0 -0
- data/test/uploads/1330891158.44159.sample.jpg +0 -0
- data/test/uploads/1330891158.85135.sample.jpg +0 -0
- data/test/uploads/1330891159.3765.sample.jpg +0 -0
- data/test/uploads/1330891159.79503.sample.jpg +0 -0
- data/test/uploads/1330891160.15479.sample.png +0 -0
- data/test/uploads/1330900466.37214.sample.pdf +0 -0
- data/test/uploads/1330900466.77443.sample.pdf +0 -0
- data/test/uploads/1330900467.32831.sample.pdf +0 -0
- data/test/uploads/1330900470.07702.sample.pdf +0 -0
- data/test/uploads/1330900470.48767.sample.pdf +0 -0
- data/test/uploads/1330900486.92727.sample.jpg +0 -0
- data/test/uploads/1330900487.4311.sample.jpg +0 -0
- data/test/uploads/1330900488.03152.sample.jpg +0 -0
- data/test/uploads/1330900488.43945.sample.jpg +0 -0
- data/test/uploads/1330900489.01433.sample.jpg +0 -0
- data/test/uploads/1330900489.43854.sample.png +0 -0
- data/vendor/assets/javascripts/simple_attachments.js +138 -0
- data/vendor/assets/stylesheets/simple_attachments.css +23 -0
- metadata +729 -0
data/test/script/rails
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
#!/usr/bin/env ruby1.8
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
3
|
+
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
6
|
+
require 'rails/commands'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'documents', :type => :request, :js => true do
|
4
|
+
|
5
|
+
let(:user) { User.create }
|
6
|
+
before(:each) do
|
7
|
+
Document.destroy_all
|
8
|
+
visit edit_user_path(user)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should be auto associated' do
|
12
|
+
within '.simple_attachments_multiple_div' do
|
13
|
+
attach_sample :pdf
|
14
|
+
user.documents.count.should == 1
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should not show field with invalid file' do
|
19
|
+
within '.simple_attachments_multiple_div' do
|
20
|
+
attach_sample :jpg
|
21
|
+
page.should_not have_selector('.simple_attachments_field_div')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should allow asynchronous upload and destroy' do
|
26
|
+
within '.simple_attachments_multiple_div' do
|
27
|
+
5.times { attach_sample :pdf, 0 }
|
28
|
+
attach_sample :pdf
|
29
|
+
3.times { find('.simple_attachments_destroy_link').click }
|
30
|
+
attach_sample :pdf, 0
|
31
|
+
attach_sample :pdf
|
32
|
+
user.documents.count.should == 5
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'avatar', :type => :request, :js => true do
|
4
|
+
|
5
|
+
def test_img(avatar)
|
6
|
+
find('img')[:src].should match /\/avatars\/#{avatar.id}$/
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:user) { User.create }
|
10
|
+
before(:each) { visit edit_user_path(user) }
|
11
|
+
|
12
|
+
it 'should not be auto associated' do
|
13
|
+
within '.edit_user' do
|
14
|
+
attach_sample :jpg
|
15
|
+
avatar = Avatar.last
|
16
|
+
test_img avatar
|
17
|
+
avatar.user.should == nil
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should not be replaced by an invalid file' do
|
22
|
+
within '.edit_user' do
|
23
|
+
attach_sample :jpg
|
24
|
+
avatar = Avatar.last
|
25
|
+
attach_sample :pdf
|
26
|
+
test_img avatar
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should be associated after submit' do
|
31
|
+
within '.edit_user' do
|
32
|
+
attach_sample :jpg
|
33
|
+
avatar = Avatar.last
|
34
|
+
click_button 'Update User'
|
35
|
+
test_img avatar
|
36
|
+
attach_sample :jpg
|
37
|
+
new_avatar = Avatar.last
|
38
|
+
click_button 'Update User'
|
39
|
+
test_img new_avatar
|
40
|
+
Avatar.exists?(avatar).should == false
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should allow asynchronous upload' do
|
45
|
+
Avatar.destroy_all
|
46
|
+
within '.edit_user' do
|
47
|
+
5.times { attach_sample :jpg, 0 }
|
48
|
+
attach_sample :png
|
49
|
+
click_button 'Update User'
|
50
|
+
user.avatar.mimetype.should == 'image/png'
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
ENV['RAILS_ENV'] = 'test'
|
2
|
+
require File.expand_path('../../config/environment', __FILE__)
|
3
|
+
require 'rspec/rails'
|
4
|
+
require 'rspec/autorun'
|
5
|
+
require 'capybara/rspec'
|
6
|
+
|
7
|
+
include Rails.application.routes.url_helpers
|
8
|
+
|
9
|
+
module JsModule
|
10
|
+
|
11
|
+
DIR = File.expand_path(File.dirname(__FILE__))
|
12
|
+
|
13
|
+
def attach_sample(sample, sleep_time = 2)
|
14
|
+
attach_file 'file', File.join(DIR, 'samples', "sample.#{sample}")
|
15
|
+
sleep sleep_time
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
RSpec.configure do |c|
|
21
|
+
c.include JsModule, :js => true
|
22
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|