Spec Settings::Exports (#3384)
* Spec output of Settings::Exports::BlockedAccountsController * Spec output of Settings::Exports::FollowingAccountsController * Spec output of Settings::Exports::MutedAccountsController * Spec Settings::Exports::BaseController This commit removes duplicate specs in classes inheriting Settings::Exports::BaseController as well.
This commit is contained in:
parent
fd328cf6e8
commit
c347327d54
29
spec/controllers/settings/exports/base_controller_spec.rb
Normal file
29
spec/controllers/settings/exports/base_controller_spec.rb
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe Settings::Exports::BaseController do
|
||||||
|
controller do
|
||||||
|
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="base.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
|
|
@ -3,17 +3,15 @@ require 'rails_helper'
|
||||||
describe Settings::Exports::BlockedAccountsController do
|
describe Settings::Exports::BlockedAccountsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in Fabricate(:user), scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #index' do
|
describe 'GET #index' do
|
||||||
it 'returns a csv of the blocking accounts' do
|
it 'returns a csv of the blocking accounts' do
|
||||||
|
user = Fabricate(:user)
|
||||||
|
user.account.block!(Fabricate(:account, username: 'username', domain: 'domain'))
|
||||||
|
|
||||||
|
sign_in user, scope: :user
|
||||||
get :index, format: :csv
|
get :index, format: :csv
|
||||||
|
|
||||||
expect(response).to have_http_status(:success)
|
expect(response.body).to eq "username@domain\n"
|
||||||
expect(response.content_type).to eq 'text/csv'
|
|
||||||
expect(response.headers['Content-Disposition']).to eq 'attachment; filename="blocked_accounts.csv"'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,17 +3,15 @@ require 'rails_helper'
|
||||||
describe Settings::Exports::FollowingAccountsController do
|
describe Settings::Exports::FollowingAccountsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in Fabricate(:user), scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #index' do
|
describe 'GET #index' do
|
||||||
it 'returns a csv of the following accounts' do
|
it 'returns a csv of the following accounts' do
|
||||||
|
user = Fabricate(:user)
|
||||||
|
user.account.follow!(Fabricate(:account, username: 'username', domain: 'domain'))
|
||||||
|
|
||||||
|
sign_in user, scope: :user
|
||||||
get :index, format: :csv
|
get :index, format: :csv
|
||||||
|
|
||||||
expect(response).to have_http_status(:success)
|
expect(response.body).to eq "username@domain\n"
|
||||||
expect(response.content_type).to eq 'text/csv'
|
|
||||||
expect(response.headers['Content-Disposition']).to eq 'attachment; filename="following_accounts.csv"'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,17 +3,15 @@ require 'rails_helper'
|
||||||
describe Settings::Exports::MutedAccountsController do
|
describe Settings::Exports::MutedAccountsController do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in Fabricate(:user), scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #index' do
|
describe 'GET #index' do
|
||||||
it 'returns a csv of the muting accounts' do
|
it 'returns a csv of the muting accounts' do
|
||||||
|
user = Fabricate(:user)
|
||||||
|
user.account.mute!(Fabricate(:account, username: 'username', domain: 'domain'))
|
||||||
|
|
||||||
|
sign_in user, scope: :user
|
||||||
get :index, format: :csv
|
get :index, format: :csv
|
||||||
|
|
||||||
expect(response).to have_http_status(:success)
|
expect(response.body).to eq "username@domain\n"
|
||||||
expect(response.content_type).to eq 'text/csv'
|
|
||||||
expect(response.headers['Content-Disposition']).to eq 'attachment; filename="muted_accounts.csv"'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Reference in a new issue