Sha256: 01a76c9a4463b8fc0aef0c473130b0f183d4f52b9f8ad4ac3026653cfbf98e0e

Contents?: true

Size: 979 Bytes

Versions: 1

Compression:

Stored size: 979 Bytes

Contents

# Use with Pundit Matches: https://github.com/chrisalley/pundit-matchers
require 'rails_helper'

describe <%= @name.camelize %>Policy do
  subject { <%= @name.camelize %>Policy.new(user, <%= @name.split("/").last %>) }

  let(:<%= @name.split("/").last %>) { create :<%= @name.gsub("/", "_") %> }

  context 'for a visitor' do
    it {is_expected.to permit_action(:new)}
    it {is_expected.to permit_action(:create)}
    it {is_expected.to permit_action(:show)}
    it {is_expected.to forbid_action(:edit)}
    it {is_expected.to forbid_action(:update)}
    it {is_expected.to forbid_action(:destroy)}
  end

  context "for an admin" do

    let(:user) { <%= @name.split("/").last %>.user }

    it {is_expected.to permit_action(:new)}
    it {is_expected.to permit_action(:create)}
    it {is_expected.to permit_action(:show)}
    it {is_expected.to permit_action(:edit)}
    it {is_expected.to permit_action(:update)}
    it {is_expected.to permit_action(:destroy)}
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
myrails-7.0.0 lib/myrails/templates/spec/pundit.rb