about summary refs log tree commit diff
path: root/spec/policies/account_policy_spec.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2020-11-09 11:30:28 +0100
committerGitHub <noreply@github.com>2020-11-09 11:30:28 +0100
commit67125534bc0fd48a45d6cb17a5c78712d8e87150 (patch)
treeb718c8b54a0bd63eab69abaef2267c8f0aa9a9b9 /spec/policies/account_policy_spec.rb
parentcfb16b9b70a50ec5451c9aebb2c35d3a44701311 (diff)
parentecd83f495c18486bc7ea901423f6fccfd910b277 (diff)
Merge pull request #1454 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'spec/policies/account_policy_spec.rb')
-rw-r--r--spec/policies/account_policy_spec.rb35
1 files changed, 34 insertions, 1 deletions
diff --git a/spec/policies/account_policy_spec.rb b/spec/policies/account_policy_spec.rb
index d27e9d5b0..1347ca4a0 100644
--- a/spec/policies/account_policy_spec.rb
+++ b/spec/policies/account_policy_spec.rb
@@ -7,8 +7,9 @@ RSpec.describe AccountPolicy do
   let(:subject) { described_class }
   let(:admin)   { Fabricate(:user, admin: true).account }
   let(:john)    { Fabricate(:user).account }
+  let(:alice)   { Fabricate(:user).account }
 
-  permissions :index?, :show?, :unsuspend?, :unsensitive?, :unsilence?, :remove_avatar?, :remove_header? do
+  permissions :index? do
     context 'staff' do
       it 'permits' do
         expect(subject).to permit(admin)
@@ -22,6 +23,38 @@ RSpec.describe AccountPolicy do
     end
   end
 
+  permissions :show?, :unsilence?, :unsensitive?, :remove_avatar?, :remove_header? do
+    context 'staff' do
+      it 'permits' do
+        expect(subject).to permit(admin, alice)
+      end
+    end
+
+    context 'not staff' do
+      it 'denies' do
+        expect(subject).to_not permit(john, alice)
+      end
+    end
+  end
+
+  permissions :unsuspend? do
+    before do
+      alice.suspend!
+    end
+
+    context 'staff' do
+      it 'permits' do
+        expect(subject).to permit(admin, alice)
+      end
+    end
+
+    context 'not staff' do
+      it 'denies' do
+        expect(subject).to_not permit(john, alice)
+      end
+    end
+  end
+
   permissions :redownload?, :subscribe?, :unsubscribe? do
     context 'admin' do
       it 'permits' do