Sha256: f836ce37e6dc963844b1291ca2c311dcac5b71caf72c2a9e2a8c32b44632d183

Contents?: true

Size: 656 Bytes

Versions: 1

Compression:

Stored size: 656 Bytes

Contents

describe ArticlePolicy do
  subject { described_class.new(user, article) }

  let(:article) { FactoryBot.create(:article) }

  context "being a normal" do
    let(:user) { FactoryBot.create(:user) }

    it { is_expected.to(permit_actions(%i[index show])) }
    it { is_expected.to(forbid_actions(%i[create update delete])) }
  end

  context "being a user" do
    let(:user) { FactoryBot.create(:user, roles: :user) }

    it { is_expected.to(permit_actions(%i[create update])) }
  end

  context "being an admin" do
    let(:user) { FactoryBot.create(:user, roles: :admin) }

    it { is_expected.to(permit_actions(%i[create update delete])) }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
souls-0.24.2 apps/api/spec/policies/article_policy_spec.rb