diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2018-03-04 11:20:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-04 11:20:54 +0100 |
commit | e137831726c20b50fd0b1b280f17d3fdf338c690 (patch) | |
tree | 8db635773878ae88556162cc34ecc244c83cb7b8 /activestorage/test/controllers/representations_controller_test.rb | |
parent | 6932998fc7aecba6ade04f8d799f07b494dd402c (diff) | |
parent | 0f302b897022b68793e102efa90a2819ff4e107a (diff) | |
download | rails-e137831726c20b50fd0b1b280f17d3fdf338c690.tar.gz rails-e137831726c20b50fd0b1b280f17d3fdf338c690.tar.bz2 rails-e137831726c20b50fd0b1b280f17d3fdf338c690.zip |
Merge pull request #32162 from kaspth/ast-unify-preview-variant-routes-and-controllers
Merge Previews/Variants controller into one Representations controller.
Diffstat (limited to 'activestorage/test/controllers/representations_controller_test.rb')
-rw-r--r-- | activestorage/test/controllers/representations_controller_test.rb | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/activestorage/test/controllers/representations_controller_test.rb b/activestorage/test/controllers/representations_controller_test.rb new file mode 100644 index 0000000000..2662cc5283 --- /dev/null +++ b/activestorage/test/controllers/representations_controller_test.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +require "test_helper" +require "database/setup" + +class ActiveStorage::RepresentationsControllerWithVariantsTest < ActionDispatch::IntegrationTest + setup do + @blob = create_file_blob filename: "racecar.jpg" + end + + test "showing variant inline" do + get rails_blob_representation_url( + filename: @blob.filename, + signed_blob_id: @blob.signed_id, + variation_key: ActiveStorage::Variation.encode(resize: "100x100")) + + assert_redirected_to(/racecar\.jpg\?.*disposition=inline/) + + image = read_image(@blob.variant(resize: "100x100")) + assert_equal 100, image.width + assert_equal 67, image.height + end + + test "showing variant with invalid signed blob ID" do + get rails_blob_representation_url( + filename: @blob.filename, + signed_blob_id: "invalid", + variation_key: ActiveStorage::Variation.encode(resize: "100x100")) + + assert_response :not_found + end +end + +class ActiveStorage::RepresentationsControllerWithPreviewsTest < ActionDispatch::IntegrationTest + setup do + @blob = create_file_blob filename: "report.pdf", content_type: "application/pdf" + end + + test "showing preview inline" do + get rails_blob_representation_url( + filename: @blob.filename, + signed_blob_id: @blob.signed_id, + variation_key: ActiveStorage::Variation.encode(resize: "100x100")) + + assert_predicate @blob.preview_image, :attached? + assert_redirected_to(/report\.png\?.*disposition=inline/) + + image = read_image(@blob.preview_image.variant(resize: "100x100")) + assert_equal 77, image.width + assert_equal 100, image.height + end + + test "showing preview with invalid signed blob ID" do + get rails_blob_representation_url( + filename: @blob.filename, + signed_blob_id: "invalid", + variation_key: ActiveStorage::Variation.encode(resize: "100x100")) + + assert_response :not_found + end +end |