Remove exports/base controller in favor of shared concern (#3444)
This commit is contained in:
parent
23081bb299
commit
0ebe7d6d23
6 changed files with 57 additions and 28 deletions
33
spec/controllers/concerns/export_controller_concern_spec.rb
Normal file
33
spec/controllers/concerns/export_controller_concern_spec.rb
Normal file
|
@ -0,0 +1,33 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
describe ApplicationController, type: :controller do
|
||||
controller do
|
||||
include ExportControllerConcern
|
||||
def index
|
||||
send_export_file
|
||||
end
|
||||
def export_data
|
||||
@export.account.username
|
||||
end
|
||||
end
|
||||
|
||||
describe 'GET #index' do
|
||||
it 'returns a csv of the exported data when signed in' do
|
||||
user = Fabricate(:user)
|
||||
sign_in user
|
||||
get :index, format: :csv
|
||||
|
||||
expect(response).to have_http_status(:success)
|
||||
expect(response.content_type).to eq 'text/csv'
|
||||
expect(response.headers['Content-Disposition']).to eq 'attachment; filename="anonymous.csv"'
|
||||
expect(response.body).to eq user.account.username
|
||||
end
|
||||
|
||||
it 'returns unauthorized when not signed in' do
|
||||
get :index, format: :csv
|
||||
expect(response).to have_http_status(:unauthorized)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue