Sha256: 723765dd4305de680624af9aeee14693e855f946ebb4167cebf8ffdf29ff8665

Contents?: true

Size: 1.8 KB

Versions: 15

Compression:

Stored size: 1.8 KB

Contents

require 'spec_helper'

describe CASino::SessionOverviewProcessor do
  describe '#process' do
    let(:listener) { Object.new }
    let(:processor) { described_class.new(listener) }
    let(:other_ticket_granting_ticket) { FactoryGirl.create :ticket_granting_ticket }
    let(:user) { other_ticket_granting_ticket.user }
    let(:user_agent) { other_ticket_granting_ticket.user_agent }
    let(:cookies) { { tgt: tgt } }

    before(:each) do
      listener.stub(:user_not_logged_in)
      listener.stub(:ticket_granting_tickets_found)
      other_ticket_granting_ticket
    end

    context 'with an existing ticket-granting ticket' do
      let(:ticket_granting_ticket) { FactoryGirl.create :ticket_granting_ticket, user: user }
      let(:tgt) { ticket_granting_ticket.ticket }
      it 'calls the #ticket_granting_tickets_found method on the listener' do
        listener.should_receive(:ticket_granting_tickets_found) do |tickets|
          tickets.length.should == 2
        end
        processor.process(cookies, user_agent)
      end
    end

    context 'with a ticket-granting ticket with same username but different authenticator' do
      let(:ticket_granting_ticket) { FactoryGirl.create :ticket_granting_ticket }
      let(:tgt) { ticket_granting_ticket.ticket }

      it 'calls the #ticket_granting_tickets_found method on the listener' do
        listener.should_receive(:ticket_granting_tickets_found) do |tickets|
          tickets.length.should == 1
        end
        processor.process(cookies, user_agent)
      end
    end

    context 'with an invalid ticket-granting ticket' do
      let(:tgt) { 'TGT-lalala' }
      it 'calls the #user_not_logged_in method on the listener' do
        listener.should_receive(:user_not_logged_in).with(no_args)
        processor.process(cookies, user_agent)
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
casino-3.0.4 spec/processor/session_overview_spec.rb
casino-2.0.7 spec/processor/session_overview_spec.rb
casino-3.0.3 spec/processor/session_overview_spec.rb
casino-3.0.2 spec/processor/session_overview_spec.rb
casino-3.0.1 spec/processor/session_overview_spec.rb
casino-3.0.0 spec/processor/session_overview_spec.rb
casino-3.0.0.pre.2 spec/processor/session_overview_spec.rb
casino-3.0.0.pre.1 spec/processor/session_overview_spec.rb
casino-2.0.6 spec/processor/session_overview_spec.rb
casino-2.0.5 spec/processor/session_overview_spec.rb
casino-2.0.4 spec/processor/session_overview_spec.rb
casino-2.0.3 spec/processor/session_overview_spec.rb
casino-2.0.2 spec/processor/session_overview_spec.rb
casino-2.0.1 spec/processor/session_overview_spec.rb
casino-2.0.0 spec/processor/session_overview_spec.rb