diff options
| author | Robert | 2017-05-24 11:13:37 +0200 | 
|---|---|---|
| committer | Robert | 2017-05-29 17:34:42 +0200 | 
| commit | d67ad14d0fe9fbfe08a450317d208afcee48d819 (patch) | |
| tree | 1a5fa3056e0866caa2c4a150a08f0775477b48fe /spec | |
| parent | 54bf18da9a74295c327e39c659ef3a28719a2631 (diff) | |
| download | chouette-core-d67ad14d0fe9fbfe08a450317d208afcee48d819.tar.bz2 | |
Refs: #3385; basic policy for boiv:*
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/features/lines_spec.rb | 5 | ||||
| -rw-r--r-- | spec/features/users/connection_spec.rb | 0 | ||||
| -rw-r--r-- | spec/policies/boiv_policy_spec.rb | 12 | ||||
| -rw-r--r-- | spec/support/pundit/policies.rb | 7 | 
4 files changed, 20 insertions, 4 deletions
| diff --git a/spec/features/lines_spec.rb b/spec/features/lines_spec.rb index e7e1e601c..a55f30ebc 100644 --- a/spec/features/lines_spec.rb +++ b/spec/features/lines_spec.rb @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- -require 'spec_helper' - -describe "Lines", :type => :feature do +describe "Lines", type: :feature do    login_user    let(:line_referential) { create :line_referential } diff --git a/spec/features/users/connection_spec.rb b/spec/features/users/connection_spec.rb new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/spec/features/users/connection_spec.rb diff --git a/spec/policies/boiv_policy_spec.rb b/spec/policies/boiv_policy_spec.rb index bf09cdcd9..14f88e416 100644 --- a/spec/policies/boiv_policy_spec.rb +++ b/spec/policies/boiv_policy_spec.rb @@ -12,4 +12,16 @@ RSpec.describe BoivPolicy, type: :policy do      it_behaves_like 'permitted policy and same organisation', 'boiv:read-offer'    end +  permissions :boiv? do +    it 'no permission starting with boiv:. →  denies' do +      expect_it.not_to permit(user_context, referential) +    end + +    with_user_permission 'boiv:anything' do +      it{ expect_it.to permit(user_context, referential) } +    end +    with_user_permission 'boiv:' do +      it{ expect_it.not_to permit(user_context, referential) } +    end +  end  end diff --git a/spec/support/pundit/policies.rb b/spec/support/pundit/policies.rb index 637a2a528..e18309226 100644 --- a/spec/support/pundit/policies.rb +++ b/spec/support/pundit/policies.rb @@ -16,6 +16,7 @@ module Support          for_user.permissions ||= []          for_user.permissions += permissions.flatten        end +      end      module PoliciesMacros @@ -27,6 +28,12 @@ module Support            let( :user )         { create :user }          end        end +      def with_user_permission(permission, &blk) +        it "with user permission #{permission.inspect}" do +          add_permissions(permission, for_user: user) +          blk.() +        end +      end      end    end  end | 
