Sha256: c76188579e304a97ee0e788836f1a59c997aab4499ad6b8fda3729c988a60ec9
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
require 'rails_helper' # This is a controller mixin, but testing as a model spec! RSpec.describe Journaled::Actor do let(:user) { double("User") } let(:klass) do Class.new do cattr_accessor(:before_actions) { [] } def self.before_action(method_name, _opts) before_actions << method_name end include Journaled::Actor self.journaled_actor = :current_user def current_user nil end def trigger_before_actions before_actions.each { |method_name| send(method_name) } end end end subject { klass.new } it "Stores a thunk returning nil if current_user returns nil" do subject.trigger_before_actions allow(subject).to receive(:current_user).and_return(nil) expect(Journaled::Current.journaled_actor_proc.call).to be_nil expect(Journaled::Current.actor).to be_nil end it "Stores a thunk returning current_user if it is set when called" do subject.trigger_before_actions allow(subject).to receive(:current_user).and_return(user) expect(Journaled::Current.journaled_actor_proc.call).to eq user expect(Journaled::Current.actor).to eq user end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
journaled-4.3.0 | spec/models/concerns/journaled/actor_spec.rb |
journaled-4.2.0 | spec/models/concerns/journaled/actor_spec.rb |