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