forked from berserker/microblog
Conflicts: - `app/helpers/accounts_helper.rb`: Conflict due to upstream changing how followers count is displayed while we have an option to hide followers count. Ported upstream change. - `app/views/accounts/_header.html.haml`: Conflict due to upstream changing how followers count is displayed while we have an option to hide followers count. Ported upstream change. - `app/views/directories/index.html.haml`: Conflict due to upstream changing how followers count is displayed while we have an option to hide followers count. Ported upstream change.local
commit
3160e050a9
43 changed files with 377 additions and 154 deletions
@ -0,0 +1,27 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
module Admin |
||||
class SignInTokenAuthenticationsController < BaseController |
||||
before_action :set_target_user |
||||
|
||||
def create |
||||
authorize @user, :enable_sign_in_token_auth? |
||||
@user.update(skip_sign_in_token: false) |
||||
log_action :enable_sign_in_token_auth, @user |
||||
redirect_to admin_account_path(@user.account_id) |
||||
end |
||||
|
||||
def destroy |
||||
authorize @user, :disable_sign_in_token_auth? |
||||
@user.update(skip_sign_in_token: true) |
||||
log_action :disable_sign_in_token_auth, @user |
||||
redirect_to admin_account_path(@user.account_id) |
||||
end |
||||
|
||||
private |
||||
|
||||
def set_target_user |
||||
@user = User.find(params[:user_id]) |
||||
end |
||||
end |
||||
end |
@ -0,0 +1,5 @@ |
||||
class AddSkipSignInTokenToUsers < ActiveRecord::Migration[6.1] |
||||
def change |
||||
add_column :users, :skip_sign_in_token, :boolean |
||||
end |
||||
end |
@ -1,4 +1,37 @@ |
||||
require 'rails_helper' |
||||
|
||||
RSpec.describe BootstrapTimelineService, type: :service do |
||||
subject { BootstrapTimelineService.new } |
||||
|
||||
context 'when the new user has registered from an invite' do |
||||
let(:service) { double } |
||||
let(:autofollow) { false } |
||||
let(:inviter) { Fabricate(:user, confirmed_at: 2.days.ago) } |
||||
let(:invite) { Fabricate(:invite, user: inviter, max_uses: nil, expires_at: 1.hour.from_now, autofollow: autofollow) } |
||||
let(:new_user) { Fabricate(:user, invite_code: invite.code) } |
||||
|
||||
before do |
||||
allow(FollowService).to receive(:new).and_return(service) |
||||
allow(service).to receive(:call) |
||||
end |
||||
|
||||
context 'when the invite has auto-follow enabled' do |
||||
let(:autofollow) { true } |
||||
|
||||
it 'calls FollowService to follow the inviter' do |
||||
subject.call(new_user.account) |
||||
expect(service).to have_received(:call).with(new_user.account, inviter.account) |
||||
end |
||||
end |
||||
|
||||
context 'when the invite does not have auto-follow enable' do |
||||
let(:autofollow) { false } |
||||
|
||||
it 'calls FollowService to follow the inviter' do |
||||
subject.call(new_user.account) |
||||
expect(service).to_not have_received(:call) |
||||
end |
||||
end |
||||
|
||||
end |
||||
end |
||||
|
Loading…
Reference in new issue