Skip to content

Commit d0bec5a

Browse files
committed
Improve code coverage
1 parent c5899ef commit d0bec5a

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

spec/promenade/pitchfork/worker_pid_provider_spec.rb

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,11 @@
2727

2828
describe ".worker_id" do
2929
subject { described_class.send(:worker_id) }
30-
before do
31-
allow(described_class).to receive(:program_name).and_return(program_name)
30+
around(:example) do |ex|
31+
old_name = $PROGRAM_NAME
32+
$PROGRAM_NAME = program_name
33+
ex.run
34+
$PROGRAM_NAME = old_name
3235
end
3336

3437
context "when program_name matches pitchfork worker" do
@@ -42,6 +45,19 @@
4245

4346
it { is_expected.to eq("pitchfork_1") }
4447
end
48+
49+
context "when program_name doesn't match pitchfork worker" do
50+
let(:program_name) { "something else" }
51+
52+
let(:worker) { double("Pitchfork::Worker", nr: 2) }
53+
54+
before do
55+
stub_const("Pitchfork::Worker", Class.new)
56+
allow(ObjectSpace).to receive(:each_object).with(Pitchfork::Worker).and_return([worker])
57+
end
58+
59+
it { is_expected.to eq("pitchfork_2") }
60+
end
4561
end
4662
end
4763

0 commit comments

Comments
 (0)