Skip to content

Instantly share code, notes, and snippets.

@r7kamura
Last active March 10, 2020 04:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save r7kamura/1a8010d5de083f7bcd8057691efbbc31 to your computer and use it in GitHub Desktop.
Save r7kamura/1a8010d5de083f7bcd8057691efbbc31 to your computer and use it in GitHub Desktop.
# frozen_string_literal: true
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'rails', '5.1.7'
end
require 'rack/test'
require 'action_controller/railtie'
class TestApp < Rails::Application
config.root = __dir__
config.session_store :cookie_store, key: 'cookie_store_key'
secrets.secret_key_base = 'secret_key_base'
config.logger = ::Logger.new($stdout)
::Rails.logger = config.logger
routes.draw do
post '/' => 'test#create'
end
end
class TestController < ActionController::Base
include ::Rails.application.routes.url_helpers
def create
respond_to do |format|
format.json do
render json: { messsage: 'success' }
end
format.html do
raise 'Unreachable'
end
end
end
end
require 'minitest/autorun'
class BugTest < Minitest::Test
include ::Rack::Test::Methods
def setup
FileUtils.touch('dummy.txt')
end
def teardown
FileUtils.remove('dummy.txt')
end
def test_returns_success
post(
'/',
{
file: Rack::Test::UploadedFile.new('dummy.txt')
},
'HTTP_ACCEPT' => 'application/json'
)
assert_equal('application/json', last_response.media_type)
end
private
def app
::Rails.application
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment