Sha256: da2e54a5a9b76416f5e941f6bf1302ebce2e03778a83672545161bd6f8913816

Contents?: true

Size: 1.7 KB

Versions: 12

Compression:

Stored size: 1.7 KB

Contents

# encoding: utf-8
require 'test_helper'

# We mock delayed_job
module Delayed
  class Job
  end
end

class ActionSmser::DelayedJobTest < ActiveSupport::TestCase
  class MockSms<ActionSmser::Base
    def basic_sms(to, from, body)
      sms(:to => to, :from => from, :body => body)
    end
  end

  setup do
    @receivers = ["555123555", "123555123"]
    @sender = "555666"
    @body = "Body with ääkköset end"
    @sms = MockSms.basic_sms(@receivers, @sender, @body)

    @sms.delivery_options[:delivery_method] = :delayed_job
    @sms.delivery_options[:delayed_job] = {:delivery_method => :nexmo, :priority => 5}
    assert_equal ActionSmser::DeliveryMethods::DelayedJob, @sms.delivery_method, "cant run tests, wrong delivery method"
  end

  test "should be able to deliver and call enqueue for all receivers" do

    ::Delayed::Job.expects(:enqueue).twice().returns(1)
    @sms_delivery = @sms.deliver
    assert @sms_delivery
    assert_equal 2, @sms_delivery.count
  end

  test "test that serializing is ok" do
    smsdj = ActionSmser::DeliveryMethods::DelayedJob::SmsDeliverJob.new(@sms, @sms.to_numbers_array.first)

    [:body, :from, :sms_type, :re_delivery_of_delivery_report_id, :ttl, :delivery_info].each do |var|
      assert_equal smsdj.send(var), @sms.send(var)
    end

    assert smsdj.body.object_id != @sms.body.object_id, "It should make copy of all values, not use the same objects."

    assert_equal smsdj.delivery_options, @sms.delivery_options.merge(:delivery_method => @sms.delivery_options[:delayed_job][:delivery_method])
    
    assert_equal smsdj.to, @sms.to_numbers_array.first

    assert_equal :nexmo, smsdj.delivery_options[:delivery_method], "Should set the deliverymethod to nexmo"
    
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
action_smser-3.1.2 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-3.1.1 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-3.1.0 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-3.0.0 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-2.2.0 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-2.1.2 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-2.1.1 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-2.1.0 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-2.0.2 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-2.0.1 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-2.0.0 test/unit/action_smser/delivery_methods/delayed_job_test.rb
action_smser-1.2.1 test/unit/action_smser/delivery_methods/delayed_job_test.rb