catstodon/spec/controllers/settings/imports_controller_spec.rb
Matt Jankowski 9566893cc9 More controller specs (#2561)
* Add render_views in more places

* Delegate methods from account to user with allow nil true, so that admin accounts show view renders when missing a user

* Use actual account instances in authorize follow controller spec
2017-04-28 15:12:37 +02:00

44 lines
1.1 KiB
Ruby

require 'rails_helper'
RSpec.describe Settings::ImportsController, type: :controller do
render_views
before do
sign_in Fabricate(:user), scope: :user
end
describe "GET #show" do
it "returns http success" do
get :show
expect(response).to have_http_status(:success)
end
end
describe 'POST #create' do
it 'redirects to settings path with successful following import' do
service = double(call: nil)
allow(FollowRemoteAccountService).to receive(:new).and_return(service)
post :create, params: {
import: {
type: 'following',
data: fixture_file_upload('files/imports.txt')
}
}
expect(response).to redirect_to(settings_import_path)
end
it 'redirects to settings path with successful blocking import' do
service = double(call: nil)
allow(FollowRemoteAccountService).to receive(:new).and_return(service)
post :create, params: {
import: {
type: 'blocking',
data: fixture_file_upload('files/imports.txt')
}
}
expect(response).to redirect_to(settings_import_path)
end
end
end