| 
									
										
										
										
											2018-12-21 01:52:07 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require 'rails_helper' | 
					
						
							|  |  |  | require 'pundit/rspec' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RSpec.describe ReportPolicy do | 
					
						
							|  |  |  |   let(:subject) { described_class } | 
					
						
							|  |  |  |   let(:admin)   { Fabricate(:user, admin: true).account } | 
					
						
							| 
									
										
										
										
											2022-01-28 00:46:42 +01:00
										 |  |  |   let(:john)    { Fabricate(:account) } | 
					
						
							| 
									
										
										
										
											2018-12-21 01:52:07 +09:00
										 |  |  | 
 | 
					
						
							|  |  |  |   permissions :update?, :index?, :show? do | 
					
						
							|  |  |  |     context 'staff?' do | 
					
						
							|  |  |  |       it 'permits' do | 
					
						
							|  |  |  |         expect(subject).to permit(admin, Report) | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     context '!staff?' do | 
					
						
							|  |  |  |       it 'denies' do | 
					
						
							|  |  |  |         expect(subject).to_not permit(john, Report) | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |