You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
702 B
31 lines
702 B
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe ApplicationController, type: :controller do
|
|
controller do
|
|
include ObfuscateFilename
|
|
|
|
obfuscate_filename :file
|
|
|
|
def file
|
|
render plain: params[:file]&.original_filename
|
|
end
|
|
end
|
|
|
|
before do
|
|
routes.draw { get 'file' => 'anonymous#file' }
|
|
end
|
|
|
|
it 'obfusticates filename if the given parameter is specified' do
|
|
file = fixture_file_upload('files/imports.txt', 'text/plain')
|
|
post 'file', params: { file: file }
|
|
expect(response.body).to end_with '.txt'
|
|
expect(response.body).not_to include 'imports'
|
|
end
|
|
|
|
it 'does nothing if the given parameter is not specified' do
|
|
post 'file'
|
|
end
|
|
end
|