failed rspec when upgrade ruby version from 1.9.3 to 2.0.0

88 Views Asked by At

I'm upgrading ruby version from 1.9.3 to 2.0.0, however, when version ruby 2.0.0, it's failed as below:

       undefined method `ancestors' for #<Delayed::Backend::ActiveRecord::Job:0x00557c667a4c10>

Here my test case:

it 'responds successfully when params is valid and allow_reply_all of bbs_message equal 1' do
   request.env['Access-Token'] = 'token_key'
   delayed_job = XMPPBbsChatroomSync.delay(queue: 'xmpp_request')
   xmpp_bbs_chatroom_sync = class_double(XMPPBbsChatroomSync).as_stubbed_const(delay: true)
   expect(delayed_job).to receive(:delete_users).with(params_queue).and_return(true)
   expect(xmpp_bbs_chatroom_sync).to receive(:delay)
      .with(queue: 'xmpp_request').and_return(delayed_job)
   expect do
     get :get, type: 'delete', access_token: 'token_key', bbs_message_id: '2'
     bbs_message_support.reload
   end.to change(bbs_message_support, :is_deleted).from(false).to(true)
   expect(response.status).to eq 200
   expect(response.content_type).to eq 'application/json'
   expect(response.body).to eq msg_success.to_json
end

it is failed in code line: expect(delayed_job).to receive(:delete_users).with(params_queue).and_return(true)

In ruby version 1.9.3, it's still pass, so anyone help me ?? thanks for your attention.

here my code in XMPPBbsChatroomSync

require "net/http"
require "uri"
require "octopus_http_helper"

class XMPPBbsChatroomSync
  @http_helper = OctopusHttpHelper.new(XMPP_ADDRESS)
  @port = XMPP_PORT
  @timeout = 10 # second
  @jid = XMPP_ADDRESS_FOR_JID
  @path = XMPP_BBS_CHATROOM_SYNC_PATH
  @servicename_path = XMPP_BBS_CHATROOM_SYNC_SERVICENAME_PATH
  @basic_authorize = XMPP_REST_API_BASIC_AUTH

  class << self
    def delete_users(params)
      response = @http_helper.until_success { |address|
        params[:room_ids].each { |room_id|
          params[:user_ids].each { |user_id|
            http = Net::HTTP.new(address, @port)
            request = Net::HTTP::Delete.new("#{@path}/#{room_id}/owners/#{user_id}@#{@jid}?servicename=muc", 'Authorization' => @basic_authorize)
            unless response.kind_of? Net::HTTPSuccess
              raise 'DeleteUserFromChatroomError'
            end
          }
        }
      }
    end
  end
end
0

There are 0 best solutions below