Sha256: 668f0e4468555104e537b0c6e21ffddbd6bd07e71998f47300dca16c06b915ca

Contents?: true

Size: 1.21 KB

Versions: 7

Compression:

Stored size: 1.21 KB

Contents

require 'spec_helper'

::RSpec.describe ::Trax::Controller::Authorization::Pundit::BasePolicy do
  let(:widget_policy_class) { ::WidgetPolicy }

  let!(:widget) { ::Widget.create(:name => "Haterade", :is_read_only => true) }
  subject { WidgetPolicy.new(user, widget) }

  context "user with permissions" do
    let!(:user) {
      ::User.create(
        :can_read_widgets => true,
        :can_update_widgets => true,
        :can_create_widgets => true,
        :can_destroy_widgets => true,
        :is_admin => false
      )
    }

    it { expect(subject.show?).to be true }
    it { expect(subject.update?).to be true }
    it { expect(subject.create?).to be true }
    it { expect(subject.destroy?).to be false }
  end

  context "user without permissions" do
    let!(:user) {
      ::User.create(
        :can_read_widgets => false,
        :can_update_widgets => false,
        :can_create_widgets => false,
        :can_destroy_widgets => false,
        :is_admin => false
      )
    }
    subject { WidgetPolicy.new(user, widget) }

    it { expect(subject.show?).to be false }
    it { expect(subject.update?).to be false }
    it { expect(subject.create?).to be false }
    it { expect(subject.destroy?).to be false }
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
trax_controller-1.0.0 spec/trax/controller/authorization/pundit/base_policy_spec.rb
trax_controller-0.1.4 spec/trax/controller/authorization/pundit/base_policy_spec.rb
trax_controller-0.1.3 spec/trax/controller/authorization/pundit/base_policy_spec.rb
trax_controller-0.1.2 spec/trax/controller/authorization/pundit/base_policy_spec.rb
trax_controller-0.1.1 spec/trax/controller/authorization/pundit/base_policy_spec.rb
trax_controller-0.1.0 spec/trax/controller/authorization/pundit/base_policy_spec.rb
trax_controller-0.0.4 spec/trax/controller/authorization/pundit/base_policy_spec.rb