From 796f8330ad441e93590a57521ef8fb80a030fb66 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 21 Jul 2017 16:12:29 -0500 Subject: Fix and test VariantsController --- test/controllers/variants_controller.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/controllers/variants_controller.rb (limited to 'test/controllers') diff --git a/test/controllers/variants_controller.rb b/test/controllers/variants_controller.rb new file mode 100644 index 0000000000..132d93a3cf --- /dev/null +++ b/test/controllers/variants_controller.rb @@ -0,0 +1,25 @@ +require "test_helper" +require "database/setup" + +require "active_storage/variants_controller" +require "active_storage/verified_key_with_expiration" + +class ActiveStorage::VariantsControllerTest < ActionController::TestCase + setup do + @blob = ActiveStorage::Blob.create_after_upload! \ + filename: "racecar.jpg", content_type: "image/jpeg", + io: File.open(File.expand_path("../../fixtures/files/racecar.jpg", __FILE__)) + + @routes = Routes + @controller = ActiveStorage::VariantsController.new + end + + test "showing variant inline" do + get :show, params: { + filename: @blob.filename, + encoded_blob_key: ActiveStorage::VerifiedKeyWithExpiration.encode(@blob.key, expires_in: 5.minutes), + variation_key: ActiveStorage::Variation.encode(resize: "100x100") } + + assert_redirected_to /racecar.jpg\?disposition=inline/ + end +end -- cgit v1.2.3 From 08d84e225cca6772aa54dfb7123120fe1070ea30 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 21 Jul 2017 16:34:18 -0500 Subject: Extract test helper for image blob fixtures --- test/controllers/variants_controller.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'test/controllers') diff --git a/test/controllers/variants_controller.rb b/test/controllers/variants_controller.rb index 132d93a3cf..22f5ec1454 100644 --- a/test/controllers/variants_controller.rb +++ b/test/controllers/variants_controller.rb @@ -6,12 +6,10 @@ require "active_storage/verified_key_with_expiration" class ActiveStorage::VariantsControllerTest < ActionController::TestCase setup do - @blob = ActiveStorage::Blob.create_after_upload! \ - filename: "racecar.jpg", content_type: "image/jpeg", - io: File.open(File.expand_path("../../fixtures/files/racecar.jpg", __FILE__)) - @routes = Routes @controller = ActiveStorage::VariantsController.new + + @blob = create_image_blob filename: "racecar.jpg" end test "showing variant inline" do -- cgit v1.2.3 From f3b092a6e6f6d873e14ebe1e612028ef7ac15e4a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 21 Jul 2017 16:45:55 -0500 Subject: Test actual transformation via controller too --- test/controllers/variants_controller.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'test/controllers') diff --git a/test/controllers/variants_controller.rb b/test/controllers/variants_controller.rb index 22f5ec1454..6753584d4d 100644 --- a/test/controllers/variants_controller.rb +++ b/test/controllers/variants_controller.rb @@ -19,5 +19,6 @@ class ActiveStorage::VariantsControllerTest < ActionController::TestCase variation_key: ActiveStorage::Variation.encode(resize: "100x100") } assert_redirected_to /racecar.jpg\?disposition=inline/ + assert_same_image "racecar-100x100.jpg", @blob.variant(resize: "100x100") end end -- cgit v1.2.3