Skip to content

Commit 5c6dcdd

Browse files
committed
style: fix RuboCop offenses in specs
- Use do/end blocks instead of braces for multi-line blocks - Use change(Model, :count) instead of change { Model.count } - Use receive_messages for multiple stubs - Use safe navigation operator (&.) - Remove redundant spec type annotations - Fix extra spacing
1 parent b0fd6db commit 5c6dcdd

6 files changed

Lines changed: 86 additions & 90 deletions

File tree

spec/presenters/solid_queue_monitor/jobs_presenter_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
let(:job2) { create(:solid_queue_job, :completed, class_name: 'ReportJob') }
1111
let(:jobs) { [job1, job2] }
1212

13-
# Note: These tests require routes which cause duplicate route errors in test environment.
13+
# NOTE: These tests require routes which cause duplicate route errors in test environment.
1414
# Skip for now - the presenter functionality is tested through integration/feature tests.
1515

1616
it 'returns HTML string', skip: 'Route loading issues in test environment' do

spec/requests/solid_queue_monitor/failed_jobs_spec.rb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
require 'spec_helper'
44

5-
RSpec.describe 'Failed Jobs', type: :request do
5+
RSpec.describe 'Failed Jobs' do
66
describe 'GET /failed_jobs' do
77
let!(:failed_job1) { create(:solid_queue_failed_execution, created_at: 1.hour.ago) }
88
let!(:failed_job2) { create(:solid_queue_failed_execution, created_at: 2.hours.ago) }
@@ -49,9 +49,9 @@
4949
end
5050

5151
it 'removes the failed execution after retry' do
52-
expect {
52+
expect do
5353
post "/retry_failed_job/#{failed_job.id}"
54-
}.to change { SolidQueue::FailedExecution.count }.by(-1)
54+
end.to change(SolidQueue::FailedExecution, :count).by(-1)
5555
end
5656

5757
context 'with custom redirect path' do
@@ -73,9 +73,9 @@
7373
end
7474

7575
it 'removes the failed execution after discard' do
76-
expect {
76+
expect do
7777
post "/discard_failed_job/#{failed_job.id}"
78-
}.to change { SolidQueue::FailedExecution.count }.by(-1)
78+
end.to change(SolidQueue::FailedExecution, :count).by(-1)
7979
end
8080
end
8181

@@ -115,9 +115,7 @@
115115

116116
context 'with authentication enabled' do
117117
before do
118-
allow(SolidQueueMonitor).to receive(:authentication_enabled).and_return(true)
119-
allow(SolidQueueMonitor).to receive(:username).and_return('admin')
120-
allow(SolidQueueMonitor).to receive(:password).and_return('password123')
118+
allow(SolidQueueMonitor).to receive_messages(authentication_enabled: true, username: 'admin', password: 'password123')
121119
end
122120

123121
let(:valid_credentials) do

spec/requests/solid_queue_monitor/overview_spec.rb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
require 'spec_helper'
44

5-
RSpec.describe 'Overview', type: :request do
6-
# Note: Tests hit the engine directly at '/' instead of the mounted path '/solid_queue'
5+
RSpec.describe 'Overview' do
6+
# NOTE: Tests hit the engine directly at '/' instead of the mounted path '/solid_queue'
77
describe 'GET /' do
88
before do
99
create_list(:solid_queue_job, 3)
@@ -43,9 +43,7 @@
4343

4444
context 'with authentication enabled' do
4545
before do
46-
allow(SolidQueueMonitor).to receive(:authentication_enabled).and_return(true)
47-
allow(SolidQueueMonitor).to receive(:username).and_return('admin')
48-
allow(SolidQueueMonitor).to receive(:password).and_return('password123')
46+
allow(SolidQueueMonitor).to receive_messages(authentication_enabled: true, username: 'admin', password: 'password123')
4947
end
5048

5149
it 'requires authentication' do

spec/requests/solid_queue_monitor/queues_spec.rb

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
require 'spec_helper'
44

5-
RSpec.describe 'Queues', type: :request do
5+
RSpec.describe 'Queues' do
66
describe 'GET /queues' do
77
before do
88
create(:solid_queue_job, queue_name: 'default')
@@ -48,9 +48,9 @@
4848
end
4949

5050
it 'creates a pause record' do
51-
expect {
51+
expect do
5252
post '/pause_queue', params: { queue_name: queue_name }
53-
}.to change { SolidQueue::Pause.count }.by(1)
53+
end.to change(SolidQueue::Pause, :count).by(1)
5454
end
5555
end
5656

@@ -60,9 +60,9 @@
6060
end
6161

6262
it 'does not create another pause record' do
63-
expect {
63+
expect do
6464
post '/pause_queue', params: { queue_name: queue_name }
65-
}.not_to change { SolidQueue::Pause.count }
65+
end.not_to(change(SolidQueue::Pause, :count))
6666
end
6767

6868
it 'still redirects to queues' do
@@ -89,17 +89,17 @@
8989
end
9090

9191
it 'removes the pause record' do
92-
expect {
92+
expect do
9393
post '/resume_queue', params: { queue_name: queue_name }
94-
}.to change { SolidQueue::Pause.count }.by(-1)
94+
end.to change(SolidQueue::Pause, :count).by(-1)
9595
end
9696
end
9797

9898
context 'when queue is not paused' do
9999
it 'does not change pause count' do
100-
expect {
100+
expect do
101101
post '/resume_queue', params: { queue_name: queue_name }
102-
}.not_to change { SolidQueue::Pause.count }
102+
end.not_to(change(SolidQueue::Pause, :count))
103103
end
104104

105105
it 'still redirects to queues' do
@@ -112,9 +112,7 @@
112112

113113
context 'with authentication enabled' do
114114
before do
115-
allow(SolidQueueMonitor).to receive(:authentication_enabled).and_return(true)
116-
allow(SolidQueueMonitor).to receive(:username).and_return('admin')
117-
allow(SolidQueueMonitor).to receive(:password).and_return('password123')
115+
allow(SolidQueueMonitor).to receive_messages(authentication_enabled: true, username: 'admin', password: 'password123')
118116
end
119117

120118
it 'requires authentication for queues index' do

spec/spec_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def app
115115
@app ||= Rack::Builder.new do
116116
use ActionDispatch::Session::CookieStore,
117117
key: '_test_session',
118-
secret: 'a' * 64 # 64 byte secret for testing
118+
secret: 'a' * 64 # 64 byte secret for testing
119119
run SolidQueueMonitor::Engine
120120
end.to_app
121121
end

spec/support/solid_queue_stubs.rb

Lines changed: 65 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -4,86 +4,88 @@
44
# This file should be loaded after ActiveRecord is available but before
55
# any code tries to use SolidQueue models
66

7-
module SolidQueue
8-
class ApplicationRecord < ActiveRecord::Base
9-
self.abstract_class = true
10-
end
7+
unless defined?(SolidQueue)
8+
module SolidQueue
9+
class ApplicationRecord < ActiveRecord::Base
10+
self.abstract_class = true
11+
end
1112

12-
class Job < ApplicationRecord
13-
self.table_name = 'solid_queue_jobs'
13+
class Job < ApplicationRecord
14+
self.table_name = 'solid_queue_jobs'
1415

15-
has_one :ready_execution, dependent: :destroy
16-
has_one :scheduled_execution, dependent: :destroy
17-
has_one :failed_execution, dependent: :destroy
18-
has_one :claimed_execution, dependent: :destroy
16+
has_one :ready_execution, dependent: :destroy
17+
has_one :scheduled_execution, dependent: :destroy
18+
has_one :failed_execution, dependent: :destroy
19+
has_one :claimed_execution, dependent: :destroy
1920

20-
def failed?
21-
failed_execution.present?
21+
def failed?
22+
failed_execution.present?
23+
end
2224
end
23-
end
24-
25-
class ReadyExecution < ApplicationRecord
26-
self.table_name = 'solid_queue_ready_executions'
27-
belongs_to :job
28-
end
2925

30-
class ScheduledExecution < ApplicationRecord
31-
self.table_name = 'solid_queue_scheduled_executions'
32-
belongs_to :job
33-
end
34-
35-
class FailedExecution < ApplicationRecord
36-
self.table_name = 'solid_queue_failed_executions'
37-
belongs_to :job
26+
class ReadyExecution < ApplicationRecord
27+
self.table_name = 'solid_queue_ready_executions'
28+
belongs_to :job
29+
end
3830

39-
def retry
40-
# Stub implementation for testing
41-
job.update(finished_at: nil) if job
42-
destroy
43-
true
31+
class ScheduledExecution < ApplicationRecord
32+
self.table_name = 'solid_queue_scheduled_executions'
33+
belongs_to :job
4434
end
4535

46-
def discard
47-
job&.update(finished_at: Time.current)
48-
destroy
49-
true
36+
class FailedExecution < ApplicationRecord
37+
self.table_name = 'solid_queue_failed_executions'
38+
belongs_to :job
39+
40+
def retry
41+
# Stub implementation for testing
42+
job&.update(finished_at: nil)
43+
destroy
44+
true
45+
end
46+
47+
def discard
48+
job&.update(finished_at: Time.current)
49+
destroy
50+
true
51+
end
5052
end
51-
end
5253

53-
class ClaimedExecution < ApplicationRecord
54-
self.table_name = 'solid_queue_claimed_executions'
55-
belongs_to :job
56-
end
54+
class ClaimedExecution < ApplicationRecord
55+
self.table_name = 'solid_queue_claimed_executions'
56+
belongs_to :job
57+
end
5758

58-
class Pause < ApplicationRecord
59-
self.table_name = 'solid_queue_pauses'
60-
end
59+
class Pause < ApplicationRecord
60+
self.table_name = 'solid_queue_pauses'
61+
end
6162

62-
class RecurringTask < ApplicationRecord
63-
self.table_name = 'solid_queue_recurring_tasks'
64-
end
63+
class RecurringTask < ApplicationRecord
64+
self.table_name = 'solid_queue_recurring_tasks'
65+
end
6566

66-
class Process < ApplicationRecord
67-
self.table_name = 'solid_queue_processes'
68-
end
67+
class Process < ApplicationRecord
68+
self.table_name = 'solid_queue_processes'
69+
end
6970

70-
class Queue
71-
attr_reader :name
71+
class Queue
72+
attr_reader :name
7273

73-
def initialize(name)
74-
@name = name
75-
end
74+
def initialize(name)
75+
@name = name
76+
end
7677

77-
def paused?
78-
Pause.exists?(queue_name: @name)
79-
end
78+
def paused?
79+
Pause.exists?(queue_name: @name)
80+
end
8081

81-
def pause
82-
Pause.find_or_create_by(queue_name: @name)
83-
end
82+
def pause
83+
Pause.find_or_create_by(queue_name: @name)
84+
end
8485

85-
def resume
86-
Pause.where(queue_name: @name).destroy_all
86+
def resume
87+
Pause.where(queue_name: @name).destroy_all
88+
end
8789
end
8890
end
89-
end unless defined?(SolidQueue)
91+
end

0 commit comments

Comments
 (0)