Sha256: 57fe71398f3ed13243358307be47c0677e8fa4d9d3987f1250aacea49c918ae3

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

require 'assert/factory'
require 'qs/dispatch_job'
require 'qs/job'
require 'qs/event'

module Factory
  extend Assert::Factory

  def self.exception(klass = nil, message = nil)
    klass ||= StandardError
    message ||= Factory.text
    exception = nil
    begin; raise(klass, message); rescue StandardError => exception; end
    exception
  end

  def self.message(params = nil)
    self.send([:job, :event].choice, params)
  end

  def self.job(args = nil)
    args ||= {}
    name = args.delete(:name) || Factory.string
    args[:params]     ||= { Factory.string => Factory.string }
    args[:created_at] ||= Factory.time
    Qs::Job.new(name, args)
  end

  def self.dispatch_job(args = nil)
    args ||= {}
    event_channel = args.delete(:event_channel) || Factory.string
    event_name    = args.delete(:event_name)    || Factory.string
    args[:event_params] ||= { Factory.string => Factory.string }
    args[:created_at]   ||= Factory.time
    Qs::DispatchJob.new(event_channel, event_name, args)
  end

  def self.event(args = nil)
    args ||= {}
    channel = args.delete(:channel) || Factory.string
    name    = args.delete(:name)    || Factory.string
    args[:params]       ||= { Factory.string => Factory.string }
    args[:publisher]    ||= Factory.string
    args[:published_at] ||= Factory.time
    Qs::Event.new(channel, name, args)
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
qs-0.5.0 test/support/factory.rb
qs-0.4.0 test/support/factory.rb