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.
30 lines
702 B
30 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
|
|
|