|
@@ -0,0 +1,30 @@
|
|
|
+# 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
|