diff options
author | ThibG <thib@sitedethib.com> | 2018-12-23 15:23:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-23 15:23:12 +0100 |
commit | 8a3e4a48838405a7a78f2b46cc2b2a7c8fa412fa (patch) | |
tree | b5d7908956cab9d18dceda381e18cdb4a6e0e4ba /spec/policies/report_note_policy_spec.rb | |
parent | 1a3088364fe602bb48647d78dda440b174424e17 (diff) | |
parent | cb98e7dbd35c730a58f65112c3fa32ee180a2518 (diff) |
Merge pull request #871 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'spec/policies/report_note_policy_spec.rb')
-rw-r--r-- | spec/policies/report_note_policy_spec.rb | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/policies/report_note_policy_spec.rb b/spec/policies/report_note_policy_spec.rb new file mode 100644 index 000000000..596d7d7a9 --- /dev/null +++ b/spec/policies/report_note_policy_spec.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +require 'rails_helper' +require 'pundit/rspec' + +RSpec.describe ReportNotePolicy do + let(:subject) { described_class } + let(:admin) { Fabricate(:user, admin: true).account } + let(:john) { Fabricate(:user).account } + + permissions :create? do + context 'staff?' do + it 'permits' do + expect(subject).to permit(admin, ReportNote) + end + end + + context '!staff?' do + it 'denies' do + expect(subject).to_not permit(john, ReportNote) + end + end + end + + permissions :destroy? do + context 'admin?' do + it 'permit' do + expect(subject).to permit(admin, ReportNote) + end + end + + context 'admin?' do + context 'owner?' do + it 'permit' do + report_note = Fabricate(:report_note, account: john) + expect(subject).to permit(john, report_note) + end + end + + context '!owner?' do + it 'denies' do + report_note = Fabricate(:report_note) + expect(subject).to_not permit(john, report_note) + end + end + end + end +end |