Sha256: 5667a5fd6513a916fa7ef374a12cc9106aa86724d28682ca926b70c1723f181a

Contents?: true

Size: 790 Bytes

Versions: 2

Compression:

Stored size: 790 Bytes

Contents

# frozen_string_literal: true

shared_examples "permission is not set" do
  it "raises an error" do
    expect { subject }.to raise_error(Decidim::PermissionAction::PermissionNotSetError)
  end
end

shared_examples "delegates permissions to" do |delegated_class|
  it "delegates the check to the #{delegated_class.name} permissions class" do
    delegated_permissions = instance_double(delegated_class, permissions: :foo)
    delegated_permission_action = instance_double(Decidim::PermissionAction, allowed?: true)

    allow(delegated_class)
      .to receive(:new)
      .with(user, permission_action, context)
      .and_return delegated_permissions

    expect(delegated_permissions)
      .to receive(:permissions)
      .and_return(delegated_permission_action)

    subject
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
decidim-dev-0.12.0 lib/decidim/dev/test/rspec_support/permissions_shared_examples.rb
decidim-dev-0.12.0.pre lib/decidim/dev/test/rspec_support/permissions_shared_examples.rb