Я пытаюсь загрузить файл в rspe c и использовать этот файл в моем контроллере. Все работало нормально в Rails 4, но теперь в Rails 6, Rack :: Test :: UploadedFile ha sh при получении в контроллер, мой файл tempfile представляет собой строковый объект File ha sh, который делает невозможным его использование.
describe V1::ApplicationsApiController, type: :request do
let(:ic_front) { fixture_file_upload(file_fixture("ic_front.jpg")) }
let(:ic_back) { fixture_file_upload(file_fixture("ic_back.png")) }
context "Loan Eligibility Check Screening" do
it "runs background check v1.0.1" do
payload = {
"ic_front" => ic_front,
"ic_back_path" => ic_back,
"data" => {
"product_code" => product.code,
"include" => ["fico"],
"applicant" => {
"name" => "Florian Test 1",
"ic_or_passport_no" => "1234567890",
"consented_at" => Time.now.iso8601,
}
}
}
VCR.use_cassette('ic_check_and_ctos') do
post "/api/v1.0.1/applications/background_check", params: payload, as: :json
expect(response.status).to eq 200
end
end
end
end
Теперь в моем контроллере я получаю следующее params[:ic_front]
<ActionController::Parameters {"original_filename"=>"ic_front.jpg", "tempfile"=>"#<File:0x0000558457ecd5c0>", "content_type"=>nil} permitted: false>
В моем контроллере я хочу получить params[:ic_front].tempfile.path
, чего я не могу потому что tempfile - это строковый файл ha sh.
Я добавил
include ActionDispatch::TestProcess
include Rack::Test::Methods
в мой rails_helper.rb, но не сработал. Я пытался перейти на свои тесты, но также не работал.
Оцените любой новый вклад в этом