diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-04-09 11:40:14 +0200 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2023-04-09 11:45:08 +0200 |
commit | ce12934f5b1804cc144014d9d0a93fdd16d13bf1 (patch) | |
tree | e6cb0c166392c28b38d86abe8f27344ce1d7752f /spec/lib/admin/system_check/rules_check_spec.rb | |
parent | ff168ef2024626f37fa776fde5739dcd58ecb9f2 (diff) | |
parent | 99e3e152cd2180cfa9a5bcafae208d44f31078f8 (diff) |
Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `package.json`: Upstream removed a dependency that was textually close to a glitch-soc-only dependency. Removed the dependency as upstream did, while keeping the glitch-soc-only dependency.
Diffstat (limited to 'spec/lib/admin/system_check/rules_check_spec.rb')
-rw-r--r-- | spec/lib/admin/system_check/rules_check_spec.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/spec/lib/admin/system_check/rules_check_spec.rb b/spec/lib/admin/system_check/rules_check_spec.rb new file mode 100644 index 000000000..fb3293fb2 --- /dev/null +++ b/spec/lib/admin/system_check/rules_check_spec.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe Admin::SystemCheck::RulesCheck do + subject(:check) { described_class.new(user) } + + let(:user) { Fabricate(:user) } + + describe 'skip?' do + context 'when user can manage rules' do + before { allow(user).to receive(:can?).with(:manage_rules).and_return(true) } + + it 'returns false' do + expect(check.skip?).to be false + end + end + + context 'when user cannot manage rules' do + before { allow(user).to receive(:can?).with(:manage_rules).and_return(false) } + + it 'returns true' do + expect(check.skip?).to be true + end + end + end + + describe 'pass?' do + context 'when there is not a kept rule' do + it 'returns false' do + expect(check.pass?).to be false + end + end + + context 'when there is a kept rule' do + before { Fabricate(:rule) } + + it 'returns true' do + expect(check.pass?).to be true + end + end + end + + describe 'message' do + it 'sends class name symbol to message instance' do + allow(Admin::SystemCheck::Message).to receive(:new).with(:rules_check, nil, '/admin/rules') + + check.message + + expect(Admin::SystemCheck::Message).to have_received(:new).with(:rules_check, nil, '/admin/rules') + end + end +end |