Skip to content

Commit 1783d0d

Browse files
committed
specs - start to spec
1 parent 0d16272 commit 1783d0d

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
## [0.16.0] - 2024-10-11
5+
### Added
6+
- **Receiving**
7+
- Support for custom receiving job config which is placed in receiving event handler;
8+
49
## [0.15.0] - 2024-06-05
510
### Added
611
- Support for custom reciving handler via `Rabbit.config.handler_resolver_callable` config;

spec/units/dummy/some_group.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ class SomeSuccessfulEvent < Rabbit::EventHandler
1414
def call; end
1515
end
1616

17+
class SomeConfigurableEventHandler < Rabbit::EventHandler
18+
queue_as { |message, arguments| "#{message.data[:hello]}_#{arguments[:type]}" }
19+
20+
attribute :hello
21+
22+
def call; end
23+
end
24+
1725
class SomeUnsuccessfulEvent < Rabbit::EventHandler
1826
queue_as :custom
1927

spec/units/rabbit/receiving_spec.rb

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@
99
let(:arguments) { { type: event, app_id: "some_group.some_app", message_id: "uuid" } }
1010
let(:event) { "some_successful_event" }
1111
let(:job_class) { Rabbit::Receiving::Job }
12+
let(:job_configs) { {} }
1213
let(:conversion) { false }
1314
let(:handler) { Rabbit::Handler::SomeGroup::SomeSuccessfulEvent }
1415
let(:before_hook) { double("before hook") }
1516
let(:after_hook) { double("after hook") }
1617
let(:message_info) { arguments.merge(delivery_info.slice(:exchange, :routing_key)) }
1718

1819
def expect_job_queue_to_be_set
19-
expect(job_class).to receive(:set).with(queue: queue)
20+
expect(job_class).to receive(:set).with(queue: queue, **job_configs)
2021
end
2122

2223
def expect_some_handler_to_be_called
@@ -237,6 +238,19 @@ def call; end
237238
end
238239
end
239240

241+
context "custom job configuration" do
242+
let(:queue) { "custom_queue" }
243+
let(:job_configs) { Hash[some: :kek, pek: 123] }
244+
let(:handler) { Rabbit::Handler::SomeGroup::SomeConfigurableEventHandler }
245+
246+
before { handler.job_configs(job_configs) }
247+
after { handler.job_configs({}) }
248+
249+
it "invokes job with custom config" do
250+
run_receive
251+
end
252+
end
253+
240254
context "custom receiving job" do
241255
let(:custom_job_class) { class_double("CustomJobClass") }
242256
let(:custom_job) { double("CustomJob") }

0 commit comments

Comments
 (0)