diff --git a/spec/policies/error_policy_spec.rb b/spec/policies/error_policy_spec.rb index 1c4964b2..185eeeae 100644 --- a/spec/policies/error_policy_spec.rb +++ b/spec/policies/error_policy_spec.rb @@ -5,32 +5,36 @@ describe ErrorPolicy do let(:error) { FactoryGirl.build(:error) } - permissions :index? do - it 'grants access to admins' do - expect(subject).to permit(FactoryGirl.build(:admin), error) - end + [:create?, :index?, :new?].each do |action| + permissions(action) do + it 'grants access to admins' do + expect(subject).to permit(FactoryGirl.build(:admin), error) + end - it 'grants access to teachers' do - expect(subject).to permit(FactoryGirl.build(:teacher), error) - end + it 'grants access to teachers' do + expect(subject).to permit(FactoryGirl.build(:teacher), error) + end - it 'does not grant access to external users' do - expect(subject).not_to permit(FactoryGirl.build(:external_user), error) + it 'does not grant access to external users' do + expect(subject).not_to permit(FactoryGirl.build(:external_user), error) + end end end - permissions :show? do - it 'grants access to admins' do - expect(subject).to permit(FactoryGirl.build(:admin), error) - end + [:destroy?, :edit?, :show?, :update?].each do |action| + permissions(action) do + it 'grants access to admins' do + expect(subject).to permit(FactoryGirl.build(:admin), error) + end - it 'grants access to authors' do - expect(subject).to permit(error.execution_environment.author, error) - end + it 'grants access to authors' do + expect(subject).to permit(error.execution_environment.author, error) + end - it 'does not grant access to all other users' do - [:external_user, :teacher].each do |factory_name| - expect(subject).not_to permit(FactoryGirl.build(factory_name), error) + it 'does not grant access to all other users' do + [:external_user, :teacher].each do |factory_name| + expect(subject).not_to permit(FactoryGirl.build(factory_name), error) + end end end end