NoMethodError: неопределенный метод `may_approve? ' для ноля: NilClass с мудростью и жемчужиной Aasm, rspec - PullRequest
0 голосов
/ 20 ноября 2018

Привет, я запускаю своего тестового эксперта с самоцветом состояния машины, но я получаю эту ошибку, @record является нулем, но в документации pundit с этой переменной я получаю объектную модель.

NoMethodError: неопределенный метод may_approve? для ноля: NilClass

это мой файл спецификаций syllabus_program_policy_spec.rb

требуется 'rails_helper'

RSpec.describe SyllabusProgramPolicy do
  subject { SyllabusProgramPolicy }
  include RolesUserConcern 

  permissions :approve? do
    it "approver role can"  do
     expect(subject).to permit(approver)
    end
    it "creator role, cannot approve a silabus" do 
     expect(subject).not_to permit(creator)
    end  
  end 

end

Это мой файл политики

class SyllabusProgramPolicy < ApplicationPolicy
  def approve?
   true if ( @user.is_approver? && @record.may_approve? ) 
  end

  def send_to_approve?
    true if ( @user.is_creator? && @record.may_send_to_approve? )
  end

  def refuse?
   true if ( @user.is_approver? && @record.may_observe? )
  end

  def show?
   true if ( @user.is_approver? || @user.is_creator? )
  end

  def update?
    @user.is_creator?
  end  
end

это мой файл ApplicationPolicy

class ApplicationPolicy
  attr_reader :user, :record

  def initialize(user, record)
    @user = user
    @record = record
  end
end

Может помочь мне

...