Sha256: 5402fcfe00618c390dda125b169746734efbe3df420ca53b35daca5557754c72

Contents?: true

Size: 1.01 KB

Versions: 6

Compression:

Stored size: 1.01 KB

Contents

# Use with Pundit Matches: https://github.com/chrisalley/pundit-matchers
require 'rails_helper'
describe <%= options[:name].camelize %>Policy do
  subject { <%= options[:name].camelize %>Policy.new(user, <%= options[:name].split("/").last %>) }

  let(:<%= options[:name].split("/").last %>) { create :<%= options[: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) { <%= options[: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

6 entries across 6 versions & 1 rubygems

Version Path
myrails-6.0.0 lib/myrails/templates/spec/pundit.rb
myrails-5.0.0 lib/myrails/templates/spec/pundit.rb
myrails-4.0.0 lib/myrails/templates/rspec/pundit.rb
myrails-3.2.1 lib/myrails/templates/rspec/pundit.rb
myrails-3.2.0 lib/myrails/templates/rspec/pundit.rb
myrails-3.1.0 lib/myrails/templates/rspec/pundit.rb