Sha256: 2ea6ccbb7ca880d55f5a3979aa8d50743ff97b1194d854f6102320e0c89d1ea4

Contents?: true

Size: 878 Bytes

Versions: 20

Compression:

Stored size: 878 Bytes

Contents

module Spree
  class TestArgumentsJob < Spree::BaseJob
    def perform(serializer); end
  end
end

shared_examples 'an ActiveJob serializable hash' do
  context 'Rails < 6', if: Rails::VERSION::MAJOR < 6 do
    it 'can not be serialized by ActiveJob' do
      expect { Spree::TestArgumentsJob.perform_later(subject) }.to(
        raise_error(ActiveJob::SerializationError, 'Unsupported argument type: Symbol')
      )
    end
  end

  context 'Rails >= 6', if: Rails::VERSION::MAJOR >= 6 do
    it 'can be serialized by ActiveJob' do
      # It should fail if subject contains any custom instance (e.g Spree::Money)
      expect { Spree::TestArgumentsJob.perform_later(subject) }.not_to raise_error
      expect { Spree::TestArgumentsJob.perform_later(subject.merge(price: Spree::Money.new(0))) }.to(
        raise_error(ActiveJob::SerializationError)
      )
    end
  end
end

Version data entries

20 entries across 20 versions & 3 rubygems

Version Path
spree_api-4.6.6 lib/spree/api/testing_support/serializers.rb
spree_api-4.5.5 lib/spree/api/testing_support/serializers.rb
spree_api-4.4.1 lib/spree/api/testing_support/serializers.rb
spree_api-4.5.4 lib/spree/api/testing_support/serializers.rb
spree_api-4.6.5 lib/spree/api/testing_support/serializers.rb
spree_api-4.6.4 lib/spree/api/testing_support/serializers.rb
spree_api-4.6.3 lib/spree/api/testing_support/serializers.rb
spree_api-4.6.2 lib/spree/api/testing_support/serializers.rb
spree_api-4.6.1 lib/spree/api/testing_support/serializers.rb
spree_api-4.6.0 lib/spree/api/testing_support/serializers.rb
spree_api-4.5.3 lib/spree/api/testing_support/serializers.rb
atkhayar-dev-spree-api-0.0.1 lib/spree/api/testing_support/serializers.rb
atkhayar-dev-spree-api-0.0.0 lib/spree/api/testing_support/serializers.rb
atkhayar-spree-dev-api-0.0.0 lib/spree/api/testing_support/serializers.rb
spree_api-4.5.2 lib/spree/api/testing_support/serializers.rb
spree_api-4.5.1 lib/spree/api/testing_support/serializers.rb
spree_api-4.5.0 lib/spree/api/testing_support/serializers.rb
spree_api-4.4.0 lib/spree/api/testing_support/serializers.rb
spree_api-4.4.0.rc2 lib/spree/api/testing_support/serializers.rb
spree_api-4.4.0.rc1 lib/spree/api/testing_support/serializers.rb