Sha256: f091608f63d103b1f88a0f553fe3a193528112dacf81aa9d1aff3b90f2934e31

Contents?: true

Size: 1.66 KB

Versions: 10

Compression:

Stored size: 1.66 KB

Contents

require 'spec_helper'

describe CASino::API::LoginCredentialAcceptorProcessor do
  describe '#process' do
    let(:listener) { Object.new }
    let(:processor) { described_class.new(listener) }
    let(:user_agent) { 'ThisIsATestBrwoser 1.0' }

    context 'with invalid credentials' do
      let(:login_data) { { username: 'testuser', password: 'wrong' } }

      before(:each) do
        listener.stub(:invalid_login_credentials_via_api)
      end

      it 'calls the #invalid_login_credentials_via_api method on the listener' do
        listener.should_receive(:invalid_login_credentials_via_api)
        processor.process(login_data, user_agent).should be_false
      end

      it 'does not generate a ticket-granting ticket' do
        expect {
          processor.process(login_data, user_agent)
        }.to_not change(CASino::TicketGrantingTicket, :count)
      end
    end

    context 'with valid credentials' do
      let(:login_data) { { username: 'testuser', password: 'foobar123' } }

      before(:each) do
        listener.stub(:user_logged_in_via_api)
      end

      it 'calls the #user_logged_in_via_api method on the listener' do
        listener.should_receive(:user_logged_in_via_api).with(/^TGC\-/)
        processor.process(login_data, user_agent)
      end

      it 'generates a ticket-granting ticket' do
        expect {
          processor.process(login_data, user_agent)
        }.to change(CASino::TicketGrantingTicket, :count).by(1)
      end

      it 'sets the user-agent in the ticket-granting ticket' do
        processor.process(login_data, user_agent)
        CASino::TicketGrantingTicket.last.user_agent.should == user_agent
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
casino-2.0.7 spec/processor/api/login_credential_acceptor_spec.rb
casino-3.0.0.pre.2 spec/processor/api/login_credential_acceptor_spec.rb
casino-3.0.0.pre.1 spec/processor/api/login_credential_acceptor_spec.rb
casino-2.0.6 spec/processor/api/login_credential_acceptor_spec.rb
casino-2.0.5 spec/processor/api/login_credential_acceptor_spec.rb
casino-2.0.4 spec/processor/api/login_credential_acceptor_spec.rb
casino-2.0.3 spec/processor/api/login_credential_acceptor_spec.rb
casino-2.0.2 spec/processor/api/login_credential_acceptor_spec.rb
casino-2.0.1 spec/processor/api/login_credential_acceptor_spec.rb
casino-2.0.0 spec/processor/api/login_credential_acceptor_spec.rb