test_helper.rb: factor out upload test helpers.
This commit is contained in:
23
test/helpers/upload_test_helper.rb
Normal file
23
test/helpers/upload_test_helper.rb
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
module UploadTestHelper
|
||||||
|
def upload_file(path, content_type, filename)
|
||||||
|
tempfile = Tempfile.new(filename)
|
||||||
|
FileUtils.copy_file(path, tempfile.path)
|
||||||
|
|
||||||
|
(class << tempfile; self; end).class_eval do
|
||||||
|
alias local_path path
|
||||||
|
define_method(:tempfile) {self}
|
||||||
|
define_method(:original_filename) {filename}
|
||||||
|
define_method(:content_type) {content_type}
|
||||||
|
end
|
||||||
|
|
||||||
|
tempfile
|
||||||
|
end
|
||||||
|
|
||||||
|
def upload_jpeg(path)
|
||||||
|
upload_file(path, "image/jpeg", File.basename(path))
|
||||||
|
end
|
||||||
|
|
||||||
|
def upload_zip(path)
|
||||||
|
upload_file(path, "application/zip", File.basename(path))
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -16,33 +16,6 @@ require 'cache'
|
|||||||
|
|
||||||
Dir[File.expand_path(File.dirname(__FILE__) + "/factories/*.rb")].each {|file| require file}
|
Dir[File.expand_path(File.dirname(__FILE__) + "/factories/*.rb")].each {|file| require file}
|
||||||
|
|
||||||
module UploadTestMethods
|
|
||||||
def upload_file(path, content_type, filename)
|
|
||||||
tempfile = Tempfile.new(filename)
|
|
||||||
FileUtils.copy_file(path, tempfile.path)
|
|
||||||
(class << tempfile; self; end).class_eval do
|
|
||||||
alias local_path path
|
|
||||||
define_method(:tempfile) {self}
|
|
||||||
define_method(:original_filename) {filename}
|
|
||||||
define_method(:content_type) {content_type}
|
|
||||||
end
|
|
||||||
|
|
||||||
tempfile
|
|
||||||
end
|
|
||||||
|
|
||||||
def upload_jpeg(path)
|
|
||||||
upload_file(path, "image/jpeg", File.basename(path))
|
|
||||||
end
|
|
||||||
|
|
||||||
def upload_zip(path)
|
|
||||||
upload_file(path, "application/zip", File.basename(path))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
class ActiveSupport::TestCase
|
|
||||||
include UploadTestMethods
|
|
||||||
end
|
|
||||||
|
|
||||||
class MockMemcache
|
class MockMemcache
|
||||||
def initialize
|
def initialize
|
||||||
@memory = {}
|
@memory = {}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
|
require 'helpers/upload_test_helper'
|
||||||
|
|
||||||
class AdvertisementTest < ActiveSupport::TestCase
|
class AdvertisementTest < ActiveSupport::TestCase
|
||||||
|
include UploadTestHelper
|
||||||
|
|
||||||
context "An advertisement" do
|
context "An advertisement" do
|
||||||
setup do
|
setup do
|
||||||
Danbooru.config.stubs(:advertisement_path).returns("/tmp")
|
Danbooru.config.stubs(:advertisement_path).returns("/tmp")
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
require 'helpers/iqdb_test_helper'
|
require 'helpers/iqdb_test_helper'
|
||||||
|
require 'helpers/upload_test_helper'
|
||||||
|
|
||||||
class UploadTest < ActiveSupport::TestCase
|
class UploadTest < ActiveSupport::TestCase
|
||||||
include IqdbTestHelper
|
include IqdbTestHelper
|
||||||
|
include UploadTestHelper
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
super
|
super
|
||||||
|
|||||||
Reference in New Issue
Block a user