Sha256: f32730893785108b945916cd5e7236e574b4750b12f4a39b491e7971a6e7934e

Contents?: true

Size: 858 Bytes

Versions: 5

Compression:

Stored size: 858 Bytes

Contents

require 'spec_helper'

describe Foyer::Controller::Helpers do
  class IncludesFoyerControllerHelpers
    def self.helper_method(*)
      nil
    end

    def session
      @session ||= {}
    end

    include Foyer::Controller::Helpers
  end

  subject { IncludesFoyerControllerHelpers.new }

  describe '.set_user_finder' do
    it 'sets the :user_finder configuration to the provided block' do
      expect do
        subject.class_eval do
          set_user_finder do |user_id|
            user_id
          end
        end
      end.to change(Foyer, :user_finder)
    end
  end

  describe '#current_user' do
    it 'calls the user_finder method' do
      @called = false
      subject.send(:user_session)[:id] = '_'
      Foyer.user_finder = ->(_) { @called = true }

      subject.send :current_user

      expect(@called).to eq true
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
foyer-0.5.0 spec/foyer/controller/helpers_spec.rb
foyer-0.4.0 spec/foyer/controller/helpers_spec.rb
foyer-0.3.1 spec/foyer/controller/helpers_spec.rb
foyer-0.2.2 spec/foyer/controller/helpers_spec.rb
foyer-0.2.1 spec/foyer/controller/helpers_spec.rb