Sha256: 7192a9313063edb5ba8ed230818e6116f653852cd5df46090beda7bdebe03bb2

Contents?: true

Size: 1.78 KB

Versions: 18

Compression:

Stored size: 1.78 KB

Contents

require File.join(File.dirname(__FILE__), %w[ .. spec_helper])

describe 'ticket callbacks' do

  describe 'create callbacks' do
    
    before do
      post_data = @payload = {:queue => 'My Queue', :subject => 'A New Ticket'}
      post_data.update(:id => 'ticket/new')
      post_data = to_content_format(post_data)
      mock_connection = mock('connection')
      mock_connection.should_receive(:post).with('uri/REST/1.0/ticket/new', {:content => post_data}).and_return("RT/3.6.6 200 Ok\n\n# Ticket 267783 created.")
      mock_connection.should_receive(:server).and_return('uri')
      Roart::Ticket.should_receive(:connection).twice.and_return(mock_connection)
    end
    
    it 'should call before_create callback' do
      
      ticket = Roart::Ticket.new(@payload)
      ticket.should_receive(:before_create)
      ticket.should_receive(:after_create)
      ticket.save
    end
    
  end
  
  describe 'update callbacks' do
    
    before do
      @post_data = @payload = {:subject => 'A New Ticket', :queue => 'My Queue'}.with_indifferent_access
      @post_data[:subject] = 'An Old Ticket'
      @post_data = to_content_format(@post_data)
      @mock_connection = mock('connection')
      @mock_connection.should_receive(:server).and_return('uri')
      Roart::Ticket.should_receive(:connection).twice.and_return(@mock_connection)
    end
    
    it 'should call before_update callbacks' do
      @mock_connection.should_receive(:post).with('uri/REST/1.0/ticket/1/edit', {:content => @post_data}).and_return("RT/3.6.6 200 Ok\n\n# Ticket 267783 updated.")
      ticket = Roart::Ticket.send(:instantiate, @payload.update(:id => 1))
      ticket.instance_variable_set("@saved", false)
      ticket.should_receive(:before_update)
      ticket.should_receive(:after_update)
      ticket.save
    end
    
  end

end

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
ludo-roart-0.1.19 spec/roart/callbacks_spec.rb
ludo-roart-0.1.18 spec/roart/callbacks_spec.rb
ludo-roart-0.1.17 spec/roart/callbacks_spec.rb
ludo-roart-0.1.16 spec/roart/callbacks_spec.rb
ludo-roart-0.1.15 spec/roart/callbacks_spec.rb
ludo-roart-0.1.14 spec/roart/callbacks_spec.rb
ludo-roart-0.1.13 spec/roart/callbacks_spec.rb
ludo-roart-0.1.12 spec/roart/callbacks_spec.rb
ludo-roart-0.1.11 spec/roart/callbacks_spec.rb
roart-0.1.10 spec/roart/callbacks_spec.rb
axtro-roart-0.1.9.2 spec/roart/callbacks_spec.rb
axtro-roart-0.1.9.1 spec/roart/callbacks_spec.rb
roart-0.1.9 spec/roart/callbacks_spec.rb
axtro-roart-0.1.9 spec/roart/callbacks_spec.rb
axtro-roart-0.1.8 spec/roart/callbacks_spec.rb
roart-0.1.8 spec/roart/callbacks_spec.rb
roart-0.1.7 spec/roart/callbacks_spec.rb
roart-0.1.6 spec/roart/callbacks_spec.rb