Sha256: fa8317f8dc4ef32fe0019bb7df418c8085c090d1d58ca1ad7d76abc2f1488d55

Contents?: true

Size: 653 Bytes

Versions: 1

Compression:

Stored size: 653 Bytes

Contents

describe UserPolicy 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/user_policy_spec.rb