Sha256: 2a0337804f3abbf1dd94271e98ee986bbe1e5a3ecdd82675c5f10982bb30e739

Contents?: true

Size: 1.95 KB

Versions: 27

Compression:

Stored size: 1.95 KB

Contents

# frozen_string_literal: true

require 'rails_helper'

class FakesController < ApplicationController
  include Spree::Core::ControllerHelpers::Auth
  def index; render plain: 'index'; end
end

RSpec.describe Spree::Core::ControllerHelpers::Auth, type: :controller do
  controller(FakesController) {}

  describe '#current_ability' do
    it 'returns Spree::Ability instance' do
      expect(controller.current_ability.class).to eq Spree::Ability
    end
  end

  describe '#redirect_back_or_default' do
    controller(FakesController) do
      def index; redirect_back_or_default('/'); end
    end
    it 'redirects to session url' do
      session[:spree_user_return_to] = '/redirect'
      get :index
      expect(response).to redirect_to('/redirect')
    end
    it 'redirects to default page' do
      get :index
      expect(response).to redirect_to('/')
    end
  end

  describe '#set_guest_token' do
    controller(FakesController) do
      def index
        set_guest_token
        render plain: 'index'
      end
    end
    it 'sends cookie header' do
      get :index
      expect(response.headers["Set-Cookie"]).to match(/guest_token.*HttpOnly/)
      expect(response.cookies['guest_token']).not_to be_nil
    end
  end

  describe '#store_location' do
    it 'sets session return url' do
      allow(controller).to receive_messages(request: double(fullpath: '/redirect'))
      controller.store_location
      expect(session[:spree_user_return_to]).to eq '/redirect'
    end
  end

  describe '#try_spree_current_user' do
    it 'calls spree_current_user when define spree_current_user method' do
      expect(controller).to receive(:spree_current_user)
      controller.try_spree_current_user
    end
    it 'calls current_spree_user when define current_spree_user method' do
      expect(controller).to receive(:current_spree_user)
      controller.try_spree_current_user
    end
    it 'returns nil' do
      expect(controller.try_spree_current_user).to eq nil
    end
  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
solidus_core-2.6.6 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core-2.7.4 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core-2.7.3 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core-2.6.5 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core-2.7.2 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core-2.6.4 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core-2.6.3 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core-2.7.1 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core-2.6.2 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.14 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.13 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.12 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.11 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.10 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.9 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.8 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.7 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.6 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.5 spec/lib/spree/core/controller_helpers/auth_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.4 spec/lib/spree/core/controller_helpers/auth_spec.rb