Sha256: 3407550edabc3149d931e3dd959001129e176eae54f4f9f85407c01c0ccd4e04

Contents?: true

Size: 969 Bytes

Versions: 11

Compression:

Stored size: 969 Bytes

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] %>) }

  let(:<%= options[:name] %>) { create :<%= options[:name] %> }

  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] %>.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

11 entries across 11 versions & 1 rubygems

Version Path
myrails-3.0.0 lib/myrails/templates/rspec/pundit.rb
myrails-2.2.2 lib/myrails/templates/rspec/pundit.rb
myrails-2.2.1 lib/myrails/templates/rspec/pundit.rb
myrails-2.2.0 lib/myrails/templates/rspec/pundit.rb
myrails-2.1.0 lib/myrails/templates/rspec/pundit.rb
myrails-2.0.0 lib/myrails/templates/rspec/pundit.rb
myrails-1.1.1 lib/myrails/templates/rspec/pundit.rb
myrails-1.1.0 lib/myrails/templates/rspec/pundit.rb
myrails-1.0.2 lib/myrails/templates/rspec/pundit.rb
myrails-1.0.1 lib/myrails/templates/rspec/pundit.rb
myrails-1.0.0 lib/myrails/templates/rspec/pundit.rb