@ -0,0 +1,19 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe ActivityPub::ClaimsController do | |||||
let(:account) { Fabricate(:account) } | |||||
describe 'POST #create' do | |||||
context 'without signature' do | |||||
before do | |||||
post :create, params: { account_username: account.username }, body: '{}' | |||||
end | |||||
it 'returns http not authorized' do | |||||
expect(response).to have_http_status(401) | |||||
end | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,22 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe Api::V2::InstancesController do | |||||
render_views | |||||
let(:user) { Fabricate(:user) } | |||||
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id) } | |||||
before do | |||||
allow(controller).to receive(:doorkeeper_token) { token } | |||||
end | |||||
describe 'GET #show' do | |||||
it 'returns http success' do | |||||
get :show | |||||
expect(response).to have_http_status(200) | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,22 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe Api::V2::SuggestionsController do | |||||
render_views | |||||
let(:user) { Fabricate(:user) } | |||||
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read') } | |||||
before do | |||||
allow(controller).to receive(:doorkeeper_token) { token } | |||||
end | |||||
describe 'GET #index' do | |||||
it 'returns http success' do | |||||
get :index | |||||
expect(response).to have_http_status(200) | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,25 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe Auth::SetupController do | |||||
render_views | |||||
describe 'GET #show' do | |||||
context 'with a signed out request' do | |||||
it 'returns http redirect' do | |||||
get :show | |||||
expect(response).to be_redirect | |||||
end | |||||
end | |||||
context 'with an unconfirmed signed in user' do | |||||
before { sign_in Fabricate(:user, confirmed_at: nil) } | |||||
it 'returns http success' do | |||||
get :show | |||||
expect(response).to have_http_status(200) | |||||
end | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,14 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe CustomCssController do | |||||
render_views | |||||
describe 'GET #show' do | |||||
it 'returns http success' do | |||||
get :show | |||||
expect(response).to have_http_status(200) | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,41 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe Filters::StatusesController do | |||||
render_views | |||||
describe 'GET #index' do | |||||
let(:filter) { Fabricate(:custom_filter) } | |||||
context 'with signed out user' do | |||||
it 'redirects' do | |||||
get :index, params: { filter_id: filter } | |||||
expect(response).to be_redirect | |||||
end | |||||
end | |||||
context 'with a signed in user' do | |||||
context 'with the filter user signed in' do | |||||
before { sign_in(filter.account.user) } | |||||
it 'returns http success' do | |||||
get :index, params: { filter_id: filter } | |||||
expect(response).to have_http_status(200) | |||||
end | |||||
end | |||||
context 'with another user signed in' do | |||||
before { sign_in(Fabricate(:user)) } | |||||
it 'returns http not found' do | |||||
get :index, params: { filter_id: filter } | |||||
expect(response).to have_http_status(404) | |||||
end | |||||
end | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,27 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe FiltersController do | |||||
render_views | |||||
describe 'GET #index' do | |||||
context 'with signed out user' do | |||||
it 'redirects' do | |||||
get :index | |||||
expect(response).to be_redirect | |||||
end | |||||
end | |||||
context 'with a signed in user' do | |||||
before { sign_in(Fabricate(:user)) } | |||||
it 'returns http success' do | |||||
get :index | |||||
expect(response).to have_http_status(200) | |||||
end | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,14 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe HealthController do | |||||
render_views | |||||
describe 'GET #show' do | |||||
it 'returns http success' do | |||||
get :show | |||||
expect(response).to have_http_status(200) | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,14 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe PrivacyController do | |||||
render_views | |||||
describe 'GET #show' do | |||||
it 'returns http success' do | |||||
get :show | |||||
expect(response).to have_http_status(200) | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,14 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe Importer::BaseImporter do | |||||
describe 'import!' do | |||||
let(:pool) { Concurrent::FixedThreadPool.new(5) } | |||||
let(:importer) { described_class.new(batch_size: 123, executor: pool) } | |||||
it 'raises an error' do | |||||
expect { importer.import! }.to raise_error(NotImplementedError) | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,18 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe SearchQueryTransformer do | |||||
describe 'initialization' do | |||||
let(:parser) { SearchQueryParser.new.parse('query') } | |||||
it 'sets attributes' do | |||||
transformer = described_class.new.apply(parser) | |||||
expect(transformer.should_clauses.first).to be_a(SearchQueryTransformer::TermClause) | |||||
expect(transformer.must_clauses.first).to be_nil | |||||
expect(transformer.must_not_clauses.first).to be_nil | |||||
expect(transformer.filter_clauses.first).to be_nil | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,16 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe Admin::AppealFilter do | |||||
describe '#results' do | |||||
let(:approved_appeal) { Fabricate(:appeal, approved_at: 10.days.ago) } | |||||
let(:not_approved_appeal) { Fabricate(:appeal, approved_at: nil) } | |||||
it 'returns filtered appeals' do | |||||
filter = described_class.new(status: 'approved') | |||||
expect(filter.results).to eq([approved_appeal]) | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,36 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe Form::AdminSettings do | |||||
describe 'validations' do | |||||
describe 'site_contact_username' do | |||||
context 'with no accounts' do | |||||
it 'is not valid' do | |||||
setting = described_class.new(site_contact_username: 'Test') | |||||
setting.valid? | |||||
expect(setting).to model_have_error_on_field(:site_contact_username) | |||||
end | |||||
end | |||||
context 'with an account' do | |||||
before { Fabricate(:account, username: 'Glorp') } | |||||
it 'is not valid when account doesnt match' do | |||||
setting = described_class.new(site_contact_username: 'Test') | |||||
setting.valid? | |||||
expect(setting).to model_have_error_on_field(:site_contact_username) | |||||
end | |||||
it 'is valid when account matches' do | |||||
setting = described_class.new(site_contact_username: 'Glorp') | |||||
setting.valid? | |||||
expect(setting).to_not model_have_error_on_field(:site_contact_username) | |||||
end | |||||
end | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,13 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe Form::StatusFilterBatchAction do | |||||
describe '#save!' do | |||||
it 'does nothing if status_filter_ids is empty' do | |||||
batch_action = described_class.new(status_filter_ids: []) | |||||
expect(batch_action.save!).to be_nil | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,13 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe VerifyAccountLinksWorker do | |||||
let(:worker) { described_class.new } | |||||
describe 'perform' do | |||||
it 'runs without error for missing record' do | |||||
expect { worker.perform(nil) }.to_not raise_error | |||||
end | |||||
end | |||||
end |