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
							
								
									7300379c81
								
							
						
					
					
						commit
						f868fcb154
					
				
					 4 changed files with 44 additions and 21 deletions
				
			
		
							
								
								
									
										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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue