spec/taskinator/queues/resque_spec.rb in taskinator-0.0.15 vs spec/taskinator/queues/resque_spec.rb in taskinator-0.0.16
- old
+ new
@@ -5,12 +5,37 @@
it_should_behave_like "a queue adapter", :resque, Taskinator::Queues::ResqueAdapter
let(:adapter) { Taskinator::Queues::ResqueAdapter }
let(:uuid) { SecureRandom.uuid }
- subject { adapter.new() }
+ subject { adapter.new }
+ describe "CreateProcessWorker" do
+ let(:args) { Taskinator::Persistence.serialize(:foo => :bar) }
+
+ it "enqueues" do
+ worker = adapter::CreateProcessWorker
+ definition = MockDefinition.create
+ subject.enqueue_create_process(definition, uuid, :foo => :bar)
+
+ expect(worker).to have_queued(definition.name, uuid, args)
+ end
+
+ it "enqueues to specified queue" do
+ worker = adapter::CreateProcessWorker
+ definition = MockDefinition.create(:other)
+ subject.enqueue_create_process(definition, uuid, :foo => :bar)
+
+ expect(worker).to have_queued(definition.name, uuid, args).in(:other)
+ end
+
+ it "calls worker" do
+ expect_any_instance_of(Taskinator::CreateProcessWorker).to receive(:perform)
+ adapter::CreateProcessWorker.perform(MockDefinition.create.name, uuid, args)
+ end
+ end
+
describe "ProcessWorker" do
it "enqueues processes" do
worker = adapter::ProcessWorker
subject.enqueue_process(double('process', :uuid => uuid, :queue => nil))
@@ -85,14 +110,10 @@
it "calls job worker" do
expect_any_instance_of(Taskinator::JobWorker).to receive(:perform)
adapter::JobWorker.perform(uuid)
end
- let(:definition) do
- Module.new() do
- extend Taskinator::Definition
- end
- end
+ let(:definition) { TestDefinition }
it "performs invocation on job" do
args = {:a => 1}
job_class = double('job_class', :methods => [:perform])
expect(job_class).to receive(:perform).with(*args)