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
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
  render_views
 | 
			
		||||
 | 
			
		||||
  before do
 | 
			
		||||
    sign_in Fabricate(:user), scope: :user
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe 'GET #index' 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
 | 
			
		||||
 | 
			
		||||
      expect(response).to have_http_status(:success)
 | 
			
		||||
      expect(response.content_type).to eq 'text/csv'
 | 
			
		||||
      expect(response.headers['Content-Disposition']).to eq 'attachment; filename="blocked_accounts.csv"'
 | 
			
		||||
      expect(response.body).to eq "username@domain\n"
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,17 +3,15 @@ require 'rails_helper'
 | 
			
		|||
describe Settings::Exports::FollowingAccountsController do
 | 
			
		||||
  render_views
 | 
			
		||||
 | 
			
		||||
  before do
 | 
			
		||||
    sign_in Fabricate(:user), scope: :user
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe 'GET #index' 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
 | 
			
		||||
 | 
			
		||||
      expect(response).to have_http_status(:success)
 | 
			
		||||
      expect(response.content_type).to eq 'text/csv'
 | 
			
		||||
      expect(response.headers['Content-Disposition']).to eq 'attachment; filename="following_accounts.csv"'
 | 
			
		||||
      expect(response.body).to eq "username@domain\n"
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,17 +3,15 @@ require 'rails_helper'
 | 
			
		|||
describe Settings::Exports::MutedAccountsController do
 | 
			
		||||
  render_views
 | 
			
		||||
 | 
			
		||||
  before do
 | 
			
		||||
    sign_in Fabricate(:user), scope: :user
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe 'GET #index' 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
 | 
			
		||||
 | 
			
		||||
      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"'
 | 
			
		||||
      expect(response.body).to eq "username@domain\n"
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue