Allow import/export of mutes list (#1541)
* Allow export of mutes list * Allow importing of mutes list * Refactor to use Settings::Exports::BaseController and DRY up exports codemaster
parent
08fce08217
commit
7f0a865b05
@ -0,0 +1,23 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
module Settings |
||||
module Exports |
||||
class BaseController < ApplicationController |
||||
before_action :authenticate_user! |
||||
|
||||
def index |
||||
export_data = Export.new(export_accounts).to_csv |
||||
|
||||
respond_to do |format| |
||||
format.csv { send_data export_data, filename: export_filename } |
||||
end |
||||
end |
||||
|
||||
private |
||||
|
||||
def export_filename |
||||
"#{controller_name}.csv" |
||||
end |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,13 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
module Settings |
||||
module Exports |
||||
class MutedAccountsController < BaseController |
||||
private |
||||
|
||||
def export_accounts |
||||
current_account.muting |
||||
end |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,17 @@ |
||||
require 'rails_helper' |
||||
|
||||
describe Settings::Exports::MutedAccountsController do |
||||
before do |
||||
sign_in Fabricate(:user), scope: :user |
||||
end |
||||
|
||||
describe 'GET #index' do |
||||
it 'returns a csv of the muting accounts' do |
||||
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="muted_accounts.csv"' |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue