accounts_controller_spec.rb (1905B)
- require 'rails_helper'
 - RSpec.describe Admin::AccountsController, type: :controller do
 - render_views
 - let(:user) { Fabricate(:user, admin: true) }
 - before do
 - sign_in user, scope: :user
 - end
 - describe 'GET #index' do
 - around do |example|
 - default_per_page = Account.default_per_page
 - Account.paginates_per 1
 - example.run
 - Account.paginates_per default_per_page
 - end
 - it 'filters with parameters' do
 - new = AccountFilter.method(:new)
 - expect(AccountFilter).to receive(:new) do |params|
 - h = params.to_h
 - expect(h[:local]).to eq '1'
 - expect(h[:remote]).to eq '1'
 - expect(h[:by_domain]).to eq 'domain'
 - expect(h[:silenced]).to eq '1'
 - expect(h[:recent]).to eq '1'
 - expect(h[:suspended]).to eq '1'
 - expect(h[:username]).to eq 'username'
 - expect(h[:display_name]).to eq 'display name'
 - expect(h[:email]).to eq 'local-part@domain'
 - expect(h[:ip]).to eq '0.0.0.42'
 - new.call({})
 - end
 - get :index, params: {
 - local: '1',
 - remote: '1',
 - by_domain: 'domain',
 - silenced: '1',
 - recent: '1',
 - suspended: '1',
 - username: 'username',
 - display_name: 'display name',
 - email: 'local-part@domain',
 - ip: '0.0.0.42'
 - }
 - end
 - it 'paginates accounts' do
 - Fabricate(:account)
 - get :index, params: { page: 2 }
 - accounts = assigns(:accounts)
 - expect(accounts.count).to eq 1
 - expect(accounts.klass).to be Account
 - end
 - it 'returns http success' do
 - get :index
 - expect(response).to have_http_status(:success)
 - end
 - end
 - describe 'GET #show' do
 - let(:account) { Fabricate(:account, username: 'bob') }
 - it 'returns http success' do
 - get :show, params: { id: account.id }
 - expect(response).to have_http_status(:success)
 - end
 - end
 - end