2019-07-25 05:21:37 +00:00
# frozen_string_literal: true
2018-05-08 13:07:55 +00:00
require 'spec_helper'
2020-06-24 09:08:32 +00:00
RSpec . describe Gitlab :: Auth :: UserAccessDeniedReason do
2018-05-08 13:07:55 +00:00
include TermsHelper
let ( :user ) { build ( :user ) }
let ( :reason ) { described_class . new ( user ) }
describe '#rejection_message' do
subject { reason . rejection_message }
context 'when a user is blocked' do
before do
user . block!
end
it { is_expected . to match / blocked / }
end
context 'a user did not accept the enforced terms' do
before do
enforce_terms
end
2018-05-24 07:46:30 +00:00
it { is_expected . to match / must accept the Terms of Service / }
it { is_expected . to include ( user . username ) }
2018-05-08 13:07:55 +00:00
end
context 'when the user is internal' do
let ( :user ) { User . ghost }
it { is_expected . to match / This action cannot be performed by internal users / }
end
2019-10-10 00:06:44 +00:00
context 'when the user is deactivated' do
before do
user . deactivate!
end
it { is_expected . to eq " Your account has been deactivated by your administrator. Please log back in from a web browser to reactivate your account at #{ Gitlab . config . gitlab . url } " }
end
2020-07-27 21:09:16 +00:00
context 'when the user is unconfirmed' do
before do
user . update! ( confirmed_at : nil )
end
it { is_expected . to match / Your primary email address is not confirmed / }
end
2020-10-06 12:08:38 +00:00
context 'when the user is blocked pending approval' do
before do
user . block_pending_approval!
end
it { is_expected . to eq ( 'Your account is pending approval from your administrator and hence blocked.' ) }
end
2018-05-08 13:07:55 +00:00
end
end