Merge branch 'master' into glitch-soc/merge-upstream

Conflicts:
- app/views/admin/settings/edit.html.haml:
  Conflict due to how the theming settings change.
This commit is contained in:
Thibaut Girka
2019-03-14 17:14:05 +01:00
103 changed files with 523 additions and 434 deletions

View File

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe AccountsController, type: :controller do
render_views
let(:alice) { Fabricate(:account, username: 'alice') }
let(:alice) { Fabricate(:account, username: 'alice', user: Fabricate(:user)) }
let(:eve) { Fabricate(:user) }
describe 'GET #show' do

View File

@ -62,22 +62,6 @@ RSpec.describe Admin::SettingsController, type: :controller do
expect(Setting.site_title).to eq 'New title'
end
end
context do
around do |example|
open_registrations = Setting.open_registrations
example.run
Setting.open_registrations = open_registrations
end
it 'typecasts open_registrations to boolean' do
Setting.open_registrations = false
patch :update, params: { form_admin_settings: { open_registrations: '1' } }
expect(response).to redirect_to(edit_admin_settings_path)
expect(Setting.open_registrations).to eq true
end
end
end
end
end

View File

@ -5,14 +5,14 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
shared_examples 'checks for enabled registrations' do |path|
around do |example|
open_registrations = Setting.open_registrations
registrations_mode = Setting.registrations_mode
example.run
Setting.open_registrations = open_registrations
Setting.registrations_mode = registrations_mode
end
it 'redirects if it is in single user mode while it is open for registration' do
Fabricate(:account)
Setting.open_registrations = true
Setting.registrations_mode = 'open'
expect(Rails.configuration.x).to receive(:single_user_mode).and_return(true)
get path
@ -21,7 +21,7 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
end
it 'redirects if it is not open for registration while it is not in single user mode' do
Setting.open_registrations = false
Setting.registrations_mode = 'none'
expect(Rails.configuration.x).to receive(:single_user_mode).and_return(false)
get path
@ -55,13 +55,13 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
context do
around do |example|
open_registrations = Setting.open_registrations
registrations_mode = Setting.registrations_mode
example.run
Setting.open_registrations = open_registrations
Setting.registrations_mode = registrations_mode
end
it 'returns http success' do
Setting.open_registrations = true
Setting.registrations_mode = 'open'
get :new
expect(response).to have_http_status(200)
end
@ -83,13 +83,13 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
context do
around do |example|
open_registrations = Setting.open_registrations
registrations_mode = Setting.registrations_mode
example.run
Setting.open_registrations = open_registrations
Setting.registrations_mode = registrations_mode
end
subject do
Setting.open_registrations = true
Setting.registrations_mode = 'open'
request.headers["Accept-Language"] = accept_language
post :create, params: { user: { account_attributes: { username: 'test' }, email: 'test@example.com', password: '12345678', password_confirmation: '12345678' } }
end

View File

@ -17,7 +17,15 @@ describe ApplicationController, type: :controller do
context 'when account is suspended' do
it 'returns http gone' do
account = Fabricate(:account, suspended: true)
account = Fabricate(:account, suspended: true, user: Fabricate(:user))
get 'success', params: { account_username: account.username }
expect(response).to have_http_status(410)
end
end
context 'when account is deleted by owner' do
it 'returns http gone' do
account = Fabricate(:account, suspended: true, user: nil)
get 'success', params: { account_username: account.username }
expect(response).to have_http_status(410)
end
@ -25,19 +33,19 @@ describe ApplicationController, type: :controller do
context 'when account is not suspended' do
it 'assigns @account' do
account = Fabricate(:account)
account = Fabricate(:account, user: Fabricate(:user))
get 'success', params: { account_username: account.username }
expect(assigns(:account)).to eq account
end
it 'sets link headers' do
account = Fabricate(:account, username: 'username')
account = Fabricate(:account, username: 'username', user: Fabricate(:user))
get 'success', params: { account_username: 'username' }
expect(response.headers['Link'].to_s).to eq '<http://test.host/.well-known/webfinger?resource=acct%3Ausername%40cb6e6126.ngrok.io>; rel="lrdd"; type="application/xrd+xml", <http://test.host/users/username.atom>; rel="alternate"; type="application/atom+xml", <https://cb6e6126.ngrok.io/users/username>; rel="alternate"; type="application/activity+json"'
end
it 'returns http success' do
account = Fabricate(:account)
account = Fabricate(:account, user: Fabricate(:user))
get 'success', params: { account_username: account.username }
expect(response).to have_http_status(200)
end

View File

@ -69,7 +69,7 @@ describe ApplicationHelper do
describe 'open_registrations?' do
it 'returns true when open for registrations' do
without_partial_double_verification do
expect(Setting).to receive(:open_registrations).and_return(true)
expect(Setting).to receive(:registrations_mode).and_return('open')
end
expect(helper.open_registrations?).to eq true
@ -77,7 +77,7 @@ describe ApplicationHelper do
it 'returns false when closed for registrations' do
without_partial_double_verification do
expect(Setting).to receive(:open_registrations).and_return(false)
expect(Setting).to receive(:registrations_mode).and_return('none')
end
expect(helper.open_registrations?).to eq false

View File

@ -31,34 +31,6 @@ describe InstancePresenter do
end
end
context do
around do |example|
open_registrations = Setting.open_registrations
example.run
Setting.open_registrations = open_registrations
end
it "delegates open_registrations to Setting" do
Setting.open_registrations = false
expect(instance_presenter.open_registrations).to eq false
end
end
context do
around do |example|
closed_registrations_message = Setting.closed_registrations_message
example.run
Setting.closed_registrations_message = closed_registrations_message
end
it "delegates closed_registrations_message to Setting" do
Setting.closed_registrations_message = "Closed message"
expect(instance_presenter.closed_registrations_message).to eq "Closed message"
end
end
context do
around do |example|
site_contact_email = Setting.site_contact_email

View File

@ -8,8 +8,10 @@ RSpec.describe AppSignUpService, type: :service do
describe '#call' do
it 'returns nil when registrations are closed' do
Setting.open_registrations = false
tmp = Setting.registrations_mode
Setting.registrations_mode = 'none'
expect(subject.call(app, good_params)).to be_nil
Setting.registrations_mode = tmp
end
it 'raises an error when params are missing' do