diff --git a/app/models/account.rb b/app/models/account.rb index b8927c51f2151558b1fb44bdfbec64b5b7f62a41..19f8ca365aa46101481977210a00ab5cd5186f0a 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -74,6 +74,14 @@ class Account < ApplicationRecord scope :alphabetic, -> { order(domain: :asc, username: :asc) } scope :by_domain_accounts, -> { group(:domain).select(:domain, 'COUNT(*) AS accounts_count').order('accounts_count desc') } + delegate :email, + :current_sign_in_ip, + :current_sign_in_at, + :confirmed?, + to: :user, + prefix: true, + allow_nil: true + def follow!(other_account) active_relationships.where(target_account: other_account).first_or_create!(target_account: other_account) end diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index 898f43c0bea8c5c401815be92077c75b3abd3ec3..0b3348960b60ed75aa64bee9143b84be43e36787 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -16,15 +16,15 @@ - if @account.local? %tr %th= t('admin.accounts.email') - %td= @account.user.email + %td= @account.user_email %tr %th= t('admin.accounts.most_recent_ip') - %td= @account.user.current_sign_in_ip + %td= @account.user_current_sign_in_ip %tr %th= t('admin.accounts.most_recent_activity') %td - - if @account.user.current_sign_in_at - = l @account.user.current_sign_in_at + - if @account.user_current_sign_in_at + = l @account.user_current_sign_in_at - else Never - else @@ -78,7 +78,7 @@ = link_to t('admin.accounts.silence'), admin_account_silence_path(@account.id), method: :post, class: 'button' - if @account.local? - - unless @account.user.confirmed? + - unless @account.user_confirmed? = link_to t('admin.accounts.confirm'), admin_account_confirmation_path(@account.id), method: :post, class: 'button' - if @account.suspended? diff --git a/spec/controllers/account_follow_controller_spec.rb b/spec/controllers/account_follow_controller_spec.rb index 479101c67dea61d447d04a08e5fc8a34cbe04298..b0e646c1fb1acf8db785c583c08e77b325bc0fd6 100644 --- a/spec/controllers/account_follow_controller_spec.rb +++ b/spec/controllers/account_follow_controller_spec.rb @@ -2,6 +2,7 @@ require 'rails_helper' describe AccountFollowController do render_views + let(:user) { Fabricate(:user) } let(:alice) { Fabricate(:account, username: 'alice') } diff --git a/spec/controllers/account_unfollow_controller_spec.rb b/spec/controllers/account_unfollow_controller_spec.rb index 1f28bf4ab86e937df7dcafd04b0d8aebd1034c32..a6c86d4b9b841eb4ac114f76e17a3c3b45e584af 100644 --- a/spec/controllers/account_unfollow_controller_spec.rb +++ b/spec/controllers/account_unfollow_controller_spec.rb @@ -2,6 +2,7 @@ require 'rails_helper' describe AccountUnfollowController do render_views + let(:user) { Fabricate(:user) } let(:alice) { Fabricate(:account, username: 'alice') } diff --git a/spec/controllers/admin/accounts_controller_spec.rb b/spec/controllers/admin/accounts_controller_spec.rb index 47b1267e8f37fcbdad8a439438888a68c49b809a..305260475ab6a078a29c890c268e3e765064f4c2 100644 --- a/spec/controllers/admin/accounts_controller_spec.rb +++ b/spec/controllers/admin/accounts_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' RSpec.describe Admin::AccountsController, type: :controller do + render_views + before do sign_in Fabricate(:user, admin: true), scope: :user end diff --git a/spec/controllers/admin/domain_blocks_controller_spec.rb b/spec/controllers/admin/domain_blocks_controller_spec.rb index 9d8735ef247c7d4e7dd4043451cd549680691a07..4578efb02da2ff677479d30a0a8a28c28e87918f 100644 --- a/spec/controllers/admin/domain_blocks_controller_spec.rb +++ b/spec/controllers/admin/domain_blocks_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' RSpec.describe Admin::DomainBlocksController, type: :controller do + render_views + before do sign_in Fabricate(:user, admin: true), scope: :user end diff --git a/spec/controllers/admin/instances_controller_spec.rb b/spec/controllers/admin/instances_controller_spec.rb index c50ea352f76817fb149e802d61337f8b848976cc..37fa8dd9a00a2e4cb2c79766a03707f7a2847a08 100644 --- a/spec/controllers/admin/instances_controller_spec.rb +++ b/spec/controllers/admin/instances_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' RSpec.describe Admin::InstancesController, type: :controller do + render_views + before do sign_in Fabricate(:user, admin: true), scope: :user end diff --git a/spec/controllers/admin/pubsubhubbub_controller_spec.rb b/spec/controllers/admin/pubsubhubbub_controller_spec.rb index 068bd09a660d36058f4b259ffc3058aa3b52f2ee..c2bab5daca45987181963273c9702724dc6ea024 100644 --- a/spec/controllers/admin/pubsubhubbub_controller_spec.rb +++ b/spec/controllers/admin/pubsubhubbub_controller_spec.rb @@ -2,6 +2,8 @@ require 'rails_helper' RSpec.describe Admin::PubsubhubbubController, type: :controller do + render_views + describe 'GET #index' do before do sign_in Fabricate(:user, admin: true), scope: :user diff --git a/spec/controllers/admin/reported_statuses_controller_spec.rb b/spec/controllers/admin/reported_statuses_controller_spec.rb index 4d6926e1afe78d03f3678a5a1a3c3ed49ba36574..dea5ea55d3a9b52b7450972d5e90bae42f0e3b13 100644 --- a/spec/controllers/admin/reported_statuses_controller_spec.rb +++ b/spec/controllers/admin/reported_statuses_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Admin::ReportedStatusesController do + render_views + let(:user) { Fabricate(:user, admin: true) } before do sign_in user, scope: :user diff --git a/spec/controllers/admin/resets_controller_spec.rb b/spec/controllers/admin/resets_controller_spec.rb index 283ab029f9cf3edc525546c39a10ffcf733938d1..a0a77478e03b0460b8819a94fb4b17d2aebe2e41 100644 --- a/spec/controllers/admin/resets_controller_spec.rb +++ b/spec/controllers/admin/resets_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Admin::ResetsController do + render_views + let(:account) { Fabricate(:account, user: Fabricate(:user)) } before do sign_in Fabricate(:user, admin: true), scope: :user diff --git a/spec/controllers/admin/silences_controller_spec.rb b/spec/controllers/admin/silences_controller_spec.rb index 7c541d7970acf9375a810f785826db5582bd3bdf..16b326542d37f89aaeced6690fddc0af0b0f87e7 100644 --- a/spec/controllers/admin/silences_controller_spec.rb +++ b/spec/controllers/admin/silences_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Admin::SilencesController do + render_views + let(:account) { Fabricate(:account) } before do sign_in Fabricate(:user, admin: true), scope: :user diff --git a/spec/controllers/admin/suspensions_controller_spec.rb b/spec/controllers/admin/suspensions_controller_spec.rb index 9096f067ef271d2b8249a11bfd5d26938e4db801..2d9adc23d6ef0c7aeec5040a5aeb603417f863eb 100644 --- a/spec/controllers/admin/suspensions_controller_spec.rb +++ b/spec/controllers/admin/suspensions_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Admin::SuspensionsController do + render_views + let(:account) { Fabricate(:account) } before do sign_in Fabricate(:user, admin: true), scope: :user diff --git a/spec/controllers/authorize_follows_controller_spec.rb b/spec/controllers/authorize_follows_controller_spec.rb index f65b620cc17d9e911f834b6df40c2b3bd6ad57eb..87a46cf8eea208078b7270216971437b2d57182d 100644 --- a/spec/controllers/authorize_follows_controller_spec.rb +++ b/spec/controllers/authorize_follows_controller_spec.rb @@ -3,6 +3,8 @@ require 'rails_helper' describe AuthorizeFollowsController do + render_views + describe 'GET #show' do describe 'when signed out' do it 'redirects to sign in page' do @@ -38,7 +40,7 @@ describe AuthorizeFollowsController do end it 'sets account from url' do - account = double + account = Account.new service = double allow(FetchRemoteAccountService).to receive(:new).and_return(service) allow(service).to receive(:call).with('http://example.com').and_return(account) @@ -50,7 +52,7 @@ describe AuthorizeFollowsController do end it 'sets account from acct uri' do - account = double + account = Account.new service = double allow(FollowRemoteAccountService).to receive(:new).and_return(service) allow(service).to receive(:call).with('found@hostname').and_return(account) diff --git a/spec/controllers/follower_accounts_controller_spec.rb b/spec/controllers/follower_accounts_controller_spec.rb index 82d2b2067c50654273e02e60281b5d0bbc1aa5b2..f2082f601f09589b87e9679401d7b6527ed64b92 100644 --- a/spec/controllers/follower_accounts_controller_spec.rb +++ b/spec/controllers/follower_accounts_controller_spec.rb @@ -2,6 +2,7 @@ require 'rails_helper' describe FollowerAccountsController do render_views + let(:alice) { Fabricate(:account, username: 'alice') } describe 'GET #index' do diff --git a/spec/controllers/following_accounts_controller_spec.rb b/spec/controllers/following_accounts_controller_spec.rb index 5b5a6fe5f2f2ca5840e20b0c1189c28e296b57f4..f4a7e88f9237c8a1617be6412aab0e5a74e8ee89 100644 --- a/spec/controllers/following_accounts_controller_spec.rb +++ b/spec/controllers/following_accounts_controller_spec.rb @@ -2,6 +2,7 @@ require 'rails_helper' describe FollowingAccountsController do render_views + let(:alice) { Fabricate(:account, username: 'alice') } describe 'GET #index' do diff --git a/spec/controllers/media_controller_spec.rb b/spec/controllers/media_controller_spec.rb index ebf6aa006e890f6ee4632f55222e5c021ae5d8d2..2541df7344a2cdb99f1462959e7098854d40fb8b 100644 --- a/spec/controllers/media_controller_spec.rb +++ b/spec/controllers/media_controller_spec.rb @@ -3,6 +3,8 @@ require 'rails_helper' describe MediaController do + render_views + describe '#show' do it 'redirects to the file url when attached to a status' do status = Fabricate(:status) diff --git a/spec/controllers/oauth/authorizations_controller_spec.rb b/spec/controllers/oauth/authorizations_controller_spec.rb index 0e3b34bf07fd392518fe32b675a88cb5a4ed4efe..a5997bba3344fe5a91fe4b0011e327093ebc775e 100644 --- a/spec/controllers/oauth/authorizations_controller_spec.rb +++ b/spec/controllers/oauth/authorizations_controller_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rails_helper' RSpec.describe Oauth::AuthorizationsController, type: :controller do diff --git a/spec/controllers/settings/exports/blocked_accounts_controller_spec.rb b/spec/controllers/settings/exports/blocked_accounts_controller_spec.rb index c815bdfec1dadf46aa8091644f73ee29910b94ce..e79a6729a6b6edff6f74ce4fb618ff8bf6f0dd67 100644 --- a/spec/controllers/settings/exports/blocked_accounts_controller_spec.rb +++ b/spec/controllers/settings/exports/blocked_accounts_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Settings::Exports::BlockedAccountsController do + render_views + before do sign_in Fabricate(:user), scope: :user end diff --git a/spec/controllers/settings/exports/following_accounts_controller_spec.rb b/spec/controllers/settings/exports/following_accounts_controller_spec.rb index a7029709cf59c31d8477f33b4548866a8316f69e..503455feaa4b9d504d6b371d5317be213c1ceb87 100644 --- a/spec/controllers/settings/exports/following_accounts_controller_spec.rb +++ b/spec/controllers/settings/exports/following_accounts_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Settings::Exports::FollowingAccountsController do + render_views + before do sign_in Fabricate(:user), scope: :user end diff --git a/spec/controllers/settings/exports/muted_accounts_controller_spec.rb b/spec/controllers/settings/exports/muted_accounts_controller_spec.rb index bb52b6fcfdea34fd23bbc9edc6c1370182f80b45..37c3a0fcfe828ff727e2e99f237d3f2df7324132 100644 --- a/spec/controllers/settings/exports/muted_accounts_controller_spec.rb +++ b/spec/controllers/settings/exports/muted_accounts_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Settings::Exports::MutedAccountsController do + render_views + before do sign_in Fabricate(:user), scope: :user end diff --git a/spec/controllers/settings/follower_domains_controller_spec.rb b/spec/controllers/settings/follower_domains_controller_spec.rb index 1afdb975769e66995a97d95d0c076715d596b48e..d48c3e68c5db70368e6936553c3893f13de22675 100644 --- a/spec/controllers/settings/follower_domains_controller_spec.rb +++ b/spec/controllers/settings/follower_domains_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Settings::FollowerDomainsController do + render_views + let(:user) { Fabricate(:user) } before do diff --git a/spec/controllers/settings/imports_controller_spec.rb b/spec/controllers/settings/imports_controller_spec.rb index d57350a14ed9cbc603c3d09b4d1fa8963ecdb27b..8bf6aec2b400977fbe241b1c491244d46614357d 100644 --- a/spec/controllers/settings/imports_controller_spec.rb +++ b/spec/controllers/settings/imports_controller_spec.rb @@ -1,6 +1,7 @@ require 'rails_helper' RSpec.describe Settings::ImportsController, type: :controller do + render_views before do sign_in Fabricate(:user), scope: :user diff --git a/spec/controllers/settings/preferences_controller_spec.rb b/spec/controllers/settings/preferences_controller_spec.rb index 0d3dc059ad7fa16e8b5d5cf8d54a9bf05a2658f4..92b626d2d581cc659d735f9c137d1c6f43c00760 100644 --- a/spec/controllers/settings/preferences_controller_spec.rb +++ b/spec/controllers/settings/preferences_controller_spec.rb @@ -1,6 +1,8 @@ require 'rails_helper' describe Settings::PreferencesController do + render_views + let(:user) { Fabricate(:user) } before do diff --git a/spec/controllers/settings/profiles_controller_spec.rb b/spec/controllers/settings/profiles_controller_spec.rb index 526bbc5bce093652f30cd332d7d534971b1b634b..b3d6bc47dccda512f15382ce788d04f9d4f7524e 100644 --- a/spec/controllers/settings/profiles_controller_spec.rb +++ b/spec/controllers/settings/profiles_controller_spec.rb @@ -1,6 +1,7 @@ require 'rails_helper' RSpec.describe Settings::ProfilesController, type: :controller do + render_views before do sign_in Fabricate(:user), scope: :user