Skip to content

Commit

Permalink
Bump rubocop-govuk from 4.18.0 to 5.0.2 (#1252)
Browse files Browse the repository at this point in the history
* Bump rubocop-govuk from 4.18.0 to 5.0.2

Bumps [rubocop-govuk](https://github.com/alphagov/rubocop-govuk) from 4.18.0 to 5.0.2.
- [Changelog](https://github.com/alphagov/rubocop-govuk/blob/main/CHANGELOG.md)
- [Commits](alphagov/rubocop-govuk@v4.18.0...v5.0.2)

---
updated-dependencies:
- dependency-name: rubocop-govuk
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update to address rubocop errors
* Update to address some rubocop errors
* Update spec
* Rubocop yml update
* Gemfile update
* Gemfile update

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Katherine Martin <78093815+martikat@users.noreply.github.com>
dependabot[bot] and martikat authored Jul 26, 2024
1 parent f265902 commit 3b3be30
Showing 17 changed files with 121 additions and 106 deletions.
6 changes: 5 additions & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
@@ -11,7 +11,11 @@ inherit_mode:
merge:
- Exclude

require: rubocop-performance
require:
- rubocop-factory_bot
- rubocop-performance
- rubocop-rspec
- rubocop-capybara

AllCops:
TargetRubyVersion: 3.3.4
37 changes: 25 additions & 12 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config --no-auto-gen-timestamp`
# using RuboCop version 1.63.5.
# using RuboCop version 1.64.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
@@ -17,7 +17,7 @@ Lint/SuppressedException:
Exclude:
- 'lib/tasks/cms.rake'

# Offense count: 9
# Offense count: 8
RSpec/LetSetup:
Exclude:
- 'spec/jobs/complete_registration_mail_job_spec.rb'
@@ -26,6 +26,28 @@ RSpec/LetSetup:
- 'spec/jobs/start_training_mail_job_spec.rb'
- 'spec/jobs/test_bulk_mail_job_spec.rb'

# Offense count: 1
# Configuration parameters: AllowedPatterns.
# AllowedPatterns: ^expect_, ^assert_
RSpec/NoExpectationExample:
Exclude:
- 'spec/support/shared/email_prompt.rb'

# Offense count: 12
# This cop supports unsafe autocorrection (--autocorrect-all).
RSpec/ReceiveMessages:
Exclude:
- 'spec/controllers/users/omniauth_callbacks_controller_spec.rb'
- 'spec/helpers/link_helper_spec.rb'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: constant, string
RSpec/VerifiedDoubleReference:
Exclude:
- 'spec/services/gov_one_auth_service_spec.rb'

# Offense count: 2
# Configuration parameters: Database, Include.
# SupportedDatabases: mysql, postgresql
@@ -54,18 +76,15 @@ Rails/Output:
- 'app/services/content_integrity.rb'
- 'app/services/dashboard.rb'

# Offense count: 16
# Offense count: 8
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: AllowImplicitReturn, AllowedReceivers.
Rails/SaveBang:
Exclude:
- 'app/controllers/training/responses_controller.rb'
- 'app/forms/registration/setting_type_form.rb'
- 'app/models/user.rb'
- 'app/services/assessment_progress.rb'
- 'config/sitemap.rb'
- 'lib/content_seed.rb'
- 'lib/migrate_training.rb'
- 'lib/seed_images.rb'
- 'spec/forms/registration/setting_type_form_spec.rb'

@@ -83,9 +102,3 @@ Rails/Validation:
Style/EmptyCaseCondition:
Exclude:
- 'app/decorators/next_page_decorator.rb'

# Offense count: 2
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/IdenticalConditionalBranches:
Exclude:
- 'app/services/module_progress.rb'
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -83,6 +83,7 @@ group :development, :test do
gem 'foreman'
gem 'pry-byebug'
gem 'pry-rails'
gem 'rubocop-factory_bot', require: false
gem 'rubocop-govuk', require: false
gem 'rubocop-performance', require: false
end
25 changes: 11 additions & 14 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -373,7 +373,7 @@ GEM
os (1.1.4)
pagy (8.6.3)
parallel (1.25.1)
parser (3.3.3.0)
parser (3.3.4.0)
ast (~> 2.4.1)
racc
pg (1.5.6)
@@ -506,31 +506,27 @@ GEM
parser (>= 3.3.1.0)
rubocop-capybara (2.21.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.26.0)
rubocop (~> 1.41)
rubocop-govuk (4.18.0)
rubocop-factory_bot (2.26.1)
rubocop (~> 1.61)
rubocop-govuk (5.0.2)
rubocop (= 1.64.1)
rubocop-ast (= 1.31.3)
rubocop-rails (= 2.25.0)
rubocop-capybara (= 2.21.0)
rubocop-rails (= 2.25.1)
rubocop-rake (= 0.6.0)
rubocop-rspec (= 2.30.0)
rubocop-rspec (= 3.0.1)
rubocop-performance (1.21.1)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rails (2.25.0)
rubocop-rails (2.25.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rake (0.6.0)
rubocop (~> 1.0)
rubocop-rspec (2.30.0)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
rubocop-rspec_rails (~> 2.28)
rubocop-rspec_rails (2.29.0)
rubocop (~> 1.40)
rubocop-rspec (3.0.1)
rubocop (~> 1.61)
ruby-graphviz (1.2.5)
rexml
ruby-progressbar (1.13.0)
@@ -681,6 +677,7 @@ DEPENDENCIES
rails-erd
redcarpet
rspec-rails
rubocop-factory_bot
rubocop-govuk
rubocop-performance
sentry-rails
14 changes: 7 additions & 7 deletions spec/jobs/continue_training_mail_job_spec.rb
Original file line number Diff line number Diff line change
@@ -5,24 +5,24 @@

let(:user) { create(:user, :registered, confirmed_at: 4.weeks.ago) }

let(:user_2) do
let(:user_two) do
create :user, :registered,
confirmed_at: 4.weeks.ago,
module_time_to_completion: { alpha: 0 }
end

let(:user_3) do
let(:user_three) do
create :user, :registered,
confirmed_at: 4.weeks.ago,
module_time_to_completion: { alpha: 0 }
end

let!(:included) { [user] }
let!(:excluded) { [user_2, user_3] }
let!(:excluded) { [user_two, user_three] }

# Must have started, but not completed training.
# Must be 4 weeks since their last visit
# `user_2` won't be included because they have a visit from 2 weeks ago
# `user_two` won't be included because they have a visit from 2 weeks ago
before do
create :visit,
id: 9,
@@ -33,19 +33,19 @@
create :visit,
id: 7,
visitor_token: '123',
user_id: user_2.id,
user_id: user_two.id,
started_at: 4.weeks.ago

create :visit,
id: 8,
visitor_token: '234',
user_id: user_2.id,
user_id: user_two.id,
started_at: 2.weeks.ago

create :visit,
id: 10,
visitor_token: '456',
user_id: user_3.id,
user_id: user_three.id,
started_at: 5.weeks.ago

# Travel to 4 weeks ago so that the module start event won't count as a recent visit
14 changes: 7 additions & 7 deletions spec/models/data_analysis/modules_per_month_spec.rb
Original file line number Diff line number Diff line change
@@ -41,15 +41,15 @@
]
end

let(:user_1) { create :user, :registered }
let(:user_2) { create :user, :registered }
let(:user_one) { create :user, :registered }
let(:user_two) { create :user, :registered }

before do
create :assessment, :failed, user: user_1, completed_at: Time.zone.local(2023, 1, 1)
create :assessment, :passed, user: user_1, completed_at: Time.zone.local(2023, 1, 1)
create :assessment, :failed, user: user_1, completed_at: Time.zone.local(2023, 2, 1)
create :assessment, :passed, user: user_2, completed_at: Time.zone.local(2023, 3, 1)
create :assessment, user: user_2, training_module: 'bravo'
create :assessment, :failed, user: user_one, completed_at: Time.zone.local(2023, 1, 1)
create :assessment, :passed, user: user_one, completed_at: Time.zone.local(2023, 1, 1)
create :assessment, :failed, user: user_one, completed_at: Time.zone.local(2023, 2, 1)
create :assessment, :passed, user: user_two, completed_at: Time.zone.local(2023, 3, 1)
create :assessment, user: user_two, training_module: 'bravo'
end

it_behaves_like 'a data export model'
22 changes: 11 additions & 11 deletions spec/models/data_analysis/resits_per_user_spec.rb
Original file line number Diff line number Diff line change
@@ -14,32 +14,32 @@
[
{
module_name: 'alpha',
user_id: user_1.id,
user_id: user_one.id,
role_type: 'resit',
resit_attempts: 1,
},
{
module_name: 'alpha',
user_id: user_3.id,
user_id: user_three.id,
role_type: 'failing',
resit_attempts: 2,
},
]
end

let(:user_1) { create :user, :registered, role_type: 'resit' }
let(:user_2) { create :user, :registered, role_type: 'hole-in-one' }
let(:user_3) { create :user, :registered, role_type: 'failing' }
let(:user_one) { create :user, :registered, role_type: 'resit' }
let(:user_two) { create :user, :registered, role_type: 'hole-in-one' }
let(:user_three) { create :user, :registered, role_type: 'failing' }

before do
create :assessment, :failed, user: user_1
create :assessment, :passed, user: user_1
create :assessment, :failed, user: user_one
create :assessment, :passed, user: user_one

create :assessment, :passed, user: user_2
create :assessment, :passed, user: user_two

create :assessment, :failed, user: user_3
create :assessment, :failed, user: user_3
create :assessment, :failed, user: user_3
create :assessment, :failed, user: user_three
create :assessment, :failed, user: user_three
create :assessment, :failed, user: user_three
end

it_behaves_like 'a data export model'
10 changes: 5 additions & 5 deletions spec/models/data_analysis/role_pass_rate_spec.rb
Original file line number Diff line number Diff line change
@@ -23,13 +23,13 @@
]
end

let(:user_1) { create :user, :registered, role_type: 'childminder' }
let(:user_2) { create :user, :registered, role_type: 'childminder' }
let(:user_one) { create :user, :registered, role_type: 'childminder' }
let(:user_two) { create :user, :registered, role_type: 'childminder' }

before do
create :assessment, :failed, user: user_1
create :assessment, :passed, user: user_1
create :assessment, :passed, user: user_2
create :assessment, :failed, user: user_one
create :assessment, :passed, user: user_one
create :assessment, :passed, user: user_two
end

it_behaves_like 'a data export model'
10 changes: 5 additions & 5 deletions spec/models/data_analysis/setting_pass_rate_spec.rb
Original file line number Diff line number Diff line change
@@ -23,13 +23,13 @@
]
end

let(:user_1) { create :user, :agency_childminder }
let(:user_2) { create :user, :agency_childminder }
let(:user_one) { create :user, :agency_childminder }
let(:user_two) { create :user, :agency_childminder }

before do
create :assessment, :failed, user: user_1
create :assessment, :passed, user: user_1
create :assessment, :passed, user: user_2
create :assessment, :failed, user: user_one
create :assessment, :passed, user: user_one
create :assessment, :passed, user: user_two
end

it_behaves_like 'a data export model'
12 changes: 6 additions & 6 deletions spec/models/data_analysis/summative_quiz_spec.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
require 'rails_helper'

RSpec.describe DataAnalysis::SummativeQuiz do
let(:user_1) { create :user, :agency_childminder }
let(:user_2) { create :user, :agency_childminder }
let(:user_one) { create :user, :agency_childminder }
let(:user_two) { create :user, :agency_childminder }

before do
create :assessment, :failed, user: user_1
create :assessment, :passed, user: user_1
create :assessment, :failed, user: user_2
create :assessment, :passed, user: user_2
create :assessment, :failed, user: user_one
create :assessment, :passed, user: user_one
create :assessment, :failed, user: user_two
create :assessment, :passed, user: user_two
end

describe '.pass_rate' do
24 changes: 12 additions & 12 deletions spec/models/data_analysis/user_feedback_scores_spec.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
require 'rails_helper'

RSpec.describe DataAnalysis::UserFeedbackScores do
let(:user_1) { create :user, :agency_childminder }
let(:user_2) { create :user, :independent_childminder }
let(:user_one) { create :user, :agency_childminder }
let(:user_two) { create :user, :independent_childminder }
let(:headers) do
%w[
user_id
@@ -22,7 +22,7 @@
let(:rows) do
[
{
user_id: user_1.id,
user_id: user_one.id,
role_type: 'Childminder',
role_type_other: nil,
setting_type: 'Childminder as part of an agency',
@@ -36,7 +36,7 @@
updated_at: '2023-01-01 00:00:00',
},
{
user_id: user_1.id,
user_id: user_one.id,
role_type: 'Childminder',
role_type_other: nil,
setting_type: 'Childminder as part of an agency',
@@ -50,7 +50,7 @@
updated_at: '2023-01-01 00:00:00',
},
{
user_id: user_2.id,
user_id: user_two.id,
role_type: 'Childminder',
role_type_other: nil,
setting_type: 'Independent childminder',
@@ -64,7 +64,7 @@
updated_at: '2023-01-01 00:00:00',
},
{
user_id: user_2.id,
user_id: user_two.id,
role_type: 'Childminder',
role_type_other: nil,
setting_type: 'Independent childminder',
@@ -78,7 +78,7 @@
updated_at: '2023-01-01 00:00:00',
},
{
user_id: user_2.id,
user_id: user_two.id,
role_type: 'Childminder',
role_type_other: nil,
setting_type: 'Independent childminder',
@@ -106,15 +106,15 @@

# course
create(:response,
user: user_1,
user: user_one,
question_type: 'feedback',
training_module: 'course',
question_name: 'feedback-checkbox-only',
answers: [1, 2],
created_at: Time.zone.local(2023, 1, 1),
updated_at: Time.zone.local(2023, 1, 1))
create(:response,
user: user_1,
user: user_one,
question_type: 'feedback',
training_module: 'course',
question_name: 'feedback-textarea-only',
@@ -125,23 +125,23 @@

# module
create(:response,
user: user_2,
user: user_two,
question_type: 'feedback',
training_module: 'alpha',
question_name: 'feedback-radio-only',
answers: [1],
created_at: Time.zone.local(2023, 1, 1),
updated_at: Time.zone.local(2023, 1, 1))
create(:response,
user: user_2,
user: user_two,
question_type: 'feedback',
training_module: 'alpha',
question_name: 'feedback-checkbox-only',
answers: [1, 2, 3, 4],
created_at: Time.zone.local(2023, 1, 1),
updated_at: Time.zone.local(2023, 1, 1))
create(:response,
user: user_2,
user: user_two,
question_type: 'feedback',
training_module: 'alpha',
question_name: 'feedback-textarea-only',
8 changes: 4 additions & 4 deletions spec/models/data_analysis/user_overview_spec.rb
Original file line number Diff line number Diff line change
@@ -88,12 +88,12 @@
}
end

let(:user_2) do
let(:user_two) do
create :user, :registered,
module_time_to_completion: { alpha: 1, bravo: 1, charlie: 0 }
end

let(:user_3) do
let(:user_three) do
create :user, :registered,
module_time_to_completion: { alpha: 2, bravo: 0, charlie: 1 }
end
@@ -111,8 +111,8 @@
complete_module charlie, 1.minute

# user#2 user#3 with notes
create :note, user: user_2
create :note, user: user_3
create :note, user: user_two
create :note, user: user_three

# user#4 complete registration notification
create :user, :confirmed, confirmed_at: 4.weeks.ago
18 changes: 9 additions & 9 deletions spec/models/data_analysis/users_not_passing_spec.rb
Original file line number Diff line number Diff line change
@@ -25,19 +25,19 @@
]
end

let(:user_1) { create :user, :registered }
let(:user_2) { create :user, :registered }
let(:user_3) { create :user, :registered }
let(:user_one) { create :user, :registered }
let(:user_two) { create :user, :registered }
let(:user_three) { create :user, :registered }

before do
create :assessment, :failed, user: user_1
create :assessment, :failed, user: user_1
create :assessment, :failed, user: user_1
create :assessment, :failed, user: user_one
create :assessment, :failed, user: user_one
create :assessment, :failed, user: user_one

create :assessment, :failed, user: user_2
create :assessment, :passed, user: user_2
create :assessment, :failed, user: user_two
create :assessment, :passed, user: user_two

create :assessment, :failed, user: user_3
create :assessment, :failed, user: user_three
end

it_behaves_like 'a data export model'
2 changes: 1 addition & 1 deletion spec/models/user_spec.rb
Original file line number Diff line number Diff line change
@@ -207,7 +207,7 @@
expect(user.last_name).to eq 'User'
expect(user.notify_callback).to be_nil
expect(user.email).to eq "redacted_user#{user.id}@example.com"
expect(user.valid_password?('RedactedUser12!@')).to eq true
expect(user.valid_password?('RedactedUser12!@')).to be true
expect(user.closed_at).to be_within(30).of(Time.zone.now)
end
end
18 changes: 9 additions & 9 deletions spec/services/calculate_module_state_spec.rb
Original file line number Diff line number Diff line change
@@ -3,10 +3,10 @@
RSpec.describe CalculateModuleState do
subject(:service) { described_class.new(user: user) }

let(:day_1) { Time.zone.local(2000, 0o1, 0o1) } # start alpha
let(:day_2) { Time.zone.local(2000, 0o1, 0o2) } # start bravo
let(:day_3) { Time.zone.local(2000, 0o1, 0o3) } # complete alpha
let(:day_5) { Time.zone.local(2000, 0o1, 0o5) } # complete bravo
let(:day_one) { Time.zone.local(2000, 0o1, 0o1) } # start alpha
let(:day_two) { Time.zone.local(2000, 0o1, 0o2) } # start bravo
let(:day_three) { Time.zone.local(2000, 0o1, 0o3) } # complete alpha
let(:day_five) { Time.zone.local(2000, 0o1, 0o5) } # complete bravo

include_context 'with events'

@@ -40,7 +40,7 @@

context 'when a module is started' do
before do
create_event(user, 'module_start', day_1, 'alpha')
create_event(user, 'module_start', day_one, 'alpha')
end

it 'records a value of zero' do
@@ -50,8 +50,8 @@

context 'when a module is completed' do
before do
create_event(user, 'module_start', day_1, 'alpha')
create_event(user, 'module_complete', day_3, 'alpha')
create_event(user, 'module_start', day_one, 'alpha')
create_event(user, 'module_complete', day_three, 'alpha')
end

it 'records a value greater than zero' do
@@ -60,7 +60,7 @@

context 'and the next module is started' do
before do
create_event(user, 'module_start', day_2, 'bravo')
create_event(user, 'module_start', day_two, 'bravo')
end

it 'appends the module to the state object' do
@@ -69,7 +69,7 @@

context 'and then completed' do
before do
create_event(user, 'module_complete', day_5, 'bravo')
create_event(user, 'module_complete', day_five, 'bravo')
end

it 'calculates the delta between named events in seconds' do
4 changes: 2 additions & 2 deletions spec/support/shared/with_events.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
RSpec.shared_context 'with events' do
let(:user) { create(:user, :registered) }
let(:user1) { create(:user, :registered) }
let(:user2) { create(:user, :registered) }
let(:user_one) { create(:user, :registered) }
let(:user_two) { create(:user, :registered) }

let(:events) do
Event.where(user_id: user.id).where_properties(training_module_id: mod.name)
2 changes: 1 addition & 1 deletion spec/system/closing_account_spec.rb
Original file line number Diff line number Diff line change
@@ -102,7 +102,7 @@
expect(user.notes.count).to eq 0
expect(user.responses.feedback.count).to eq 1
expect(user.responses.feedback.first.text_input).to be_nil
expect(user.valid_password?('RedactedUser12!@')).to eq true
expect(user.valid_password?('RedactedUser12!@')).to be true
end
end
end

0 comments on commit 3b3be30

Please sign in to comment.