tests: add tests for uploading flash files (#4484).
This commit is contained in:
@@ -1,6 +1,17 @@
|
||||
require 'test_helper'
|
||||
|
||||
class UploadsControllerTest < ActionDispatch::IntegrationTest
|
||||
def test_file_upload(file_path, user, **upload_params)
|
||||
file = Rack::Test::UploadedFile.new("#{Rails.root}/#{file_path}")
|
||||
|
||||
assert_difference(["Upload.count", "Post.count"]) do
|
||||
post_auth uploads_path, user, params: { upload: { file: file, **upload_params }}
|
||||
assert_redirected_to Upload.last
|
||||
end
|
||||
|
||||
Upload.last
|
||||
end
|
||||
|
||||
context "The uploads controller" do
|
||||
setup do
|
||||
@user = create(:contributor_user)
|
||||
@@ -239,11 +250,32 @@ class UploadsControllerTest < ActionDispatch::IntegrationTest
|
||||
end
|
||||
end
|
||||
|
||||
should "create a new upload" do
|
||||
assert_difference("Upload.count", 1) do
|
||||
file = Rack::Test::UploadedFile.new("#{Rails.root}/test/files/test.jpg", "image/jpeg")
|
||||
post_auth uploads_path, @user, params: {:upload => {:file => file, :tag_string => "aaa", :rating => "q", :source => "aaa"}}
|
||||
assert_redirected_to Upload.last
|
||||
context "uploading a file from your computer" do
|
||||
should "work for a jpeg file" do
|
||||
upload = test_file_upload("test/files/test.jpg", @user, tag_string: "aaa", rating: "e", source: "aaa")
|
||||
|
||||
assert_equal("jpg", upload.post.file_ext)
|
||||
assert_equal("aaa", upload.post.source)
|
||||
assert_equal(500, upload.post.image_width)
|
||||
assert_equal(335, upload.post.image_height)
|
||||
end
|
||||
|
||||
should "work for a webm file" do
|
||||
upload = test_file_upload("test/files/test-512x512.webm", @user, tag_string: "aaa", rating: "e", source: "aaa")
|
||||
|
||||
assert_equal("webm", upload.post.file_ext)
|
||||
assert_equal("aaa", upload.post.source)
|
||||
assert_equal(512, upload.post.image_width)
|
||||
assert_equal(512, upload.post.image_height)
|
||||
end
|
||||
|
||||
should "work for a flash file" do
|
||||
upload = test_file_upload("test/files/compressed.swf", @user, tag_string: "aaa", rating: "e", source: "aaa")
|
||||
|
||||
assert_equal("swf", upload.post.file_ext)
|
||||
assert_equal("aaa", upload.post.source)
|
||||
assert_equal(607, upload.post.image_width)
|
||||
assert_equal(756, upload.post.image_height)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -36,6 +36,24 @@ class MediaFileTest < ActiveSupport::TestCase
|
||||
should "determine the correct dimensions for a flash file" do
|
||||
assert_equal([607, 756], MediaFile.open("test/files/compressed.swf").dimensions)
|
||||
end
|
||||
|
||||
should "work if called twice" do
|
||||
mf = MediaFile.open("test/files/test.jpg")
|
||||
assert_equal([500, 335], mf.dimensions)
|
||||
assert_equal([500, 335], mf.dimensions)
|
||||
|
||||
mf = MediaFile.open("test/files/test-512x512.webm")
|
||||
assert_equal([512, 512], mf.dimensions)
|
||||
assert_equal([512, 512], mf.dimensions)
|
||||
|
||||
mf = MediaFile.open("test/files/valid_ugoira.zip")
|
||||
assert_equal([60, 60], mf.dimensions)
|
||||
assert_equal([60, 60], mf.dimensions)
|
||||
|
||||
mf = MediaFile.open("test/files/compressed.swf")
|
||||
assert_equal([607, 756], mf.dimensions)
|
||||
assert_equal([607, 756], mf.dimensions)
|
||||
end
|
||||
end
|
||||
|
||||
context "#file_ext" do
|
||||
|
||||
Reference in New Issue
Block a user