Sha256: 1d31c13d18d1087db6e41921501ad0a77ee7ba19bef6c0d9ff05edbf9ffb20fb

Contents?: true

Size: 678 Bytes

Versions: 4

Compression:

Stored size: 678 Bytes

Contents

# frozen_string_literal: true

require "rails_helper"

module Archangel
  RSpec.describe SitePolicy, type: :policy do
    subject { described_class.new(user, record) }

    let(:user) { create(:user) }
    let(:record) { create(:site) }

    it { should permit(:show) }

    context "with `admin` role" do
      let(:user) { create(:user, :admin) }

      it { should permit(:update) }
      it { should permit(:edit) }
      it { should permit(:sample) }
    end

    context "with `editor` role" do
      let(:user) { create(:user, :editor) }

      it { should_not permit(:update) }
      it { should_not permit(:edit) }
      it { should permit(:sample) }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
archangel-0.0.5 spec/policies/archangel/site_policy_spec.rb
archangel-0.0.4 spec/policies/archangel/site_policy_spec.rb
archangel-0.0.3 spec/policies/archangel/site_policy_spec.rb
archangel-0.0.2 spec/policies/archangel/site_policy_spec.rb