From 7eee9746e399b3796e342d4bc1179abecf0d8667 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 15:23:49 +0000 Subject: [PATCH 1/7] 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](https://github.com/alphagov/rubocop-govuk/compare/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] --- Gemfile.lock | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3fcbfe3ca..4e33ec9d8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -372,7 +372,7 @@ GEM os (1.1.4) pagy (8.4.4) parallel (1.25.1) - parser (3.3.3.0) + parser (3.3.4.0) ast (~> 2.4.1) racc pg (1.5.6) @@ -505,31 +505,25 @@ 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-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) From 8e7f1770b876f862349acd5ec1d1b38166bb1492 Mon Sep 17 00:00:00 2001 From: Katherine Martin <78093815+martikat@users.noreply.github.com> Date: Tue, 16 Jul 2024 13:41:24 +0100 Subject: [PATCH 2/7] Update to address rubocop errors --- .rubocop.yml | 5 +++- .rubocop_todo.yml | 60 +++++++++++++++++++++++++++++++++++++---------- Gemfile | 2 ++ Gemfile.lock | 2 ++ 4 files changed, 56 insertions(+), 13 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 96e32f92a..4178e24ca 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -11,7 +11,10 @@ inherit_mode: merge: - Exclude -require: rubocop-performance +require: + - rubocop-performance + - rubocop-rspec + - rubocop-capybara AllCops: TargetRubyVersion: 3.2.2 diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 925f7d9d6..26dce248f 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -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,30 @@ Lint/SuppressedException: Exclude: - 'lib/tasks/cms.rake' -# Offense count: 9 +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +RSpec/BeEq: + Exclude: + - 'spec/models/user_spec.rb' + - 'spec/system/closing_account_spec.rb' + +# Offense count: 25 +# Configuration parameters: Max, AllowedIdentifiers, AllowedPatterns. +RSpec/IndexedLet: + Exclude: + - 'spec/jobs/continue_training_mail_job_spec.rb' + - 'spec/models/data_analysis/modules_per_month_spec.rb' + - 'spec/models/data_analysis/resits_per_user_spec.rb' + - 'spec/models/data_analysis/role_pass_rate_spec.rb' + - 'spec/models/data_analysis/setting_pass_rate_spec.rb' + - 'spec/models/data_analysis/summative_quiz_spec.rb' + - 'spec/models/data_analysis/user_feedback_scores_spec.rb' + - 'spec/models/data_analysis/user_overview_spec.rb' + - 'spec/models/data_analysis/users_not_passing_spec.rb' + - 'spec/services/calculate_module_state_spec.rb' + - 'spec/support/shared/with_events.rb' + +# Offense count: 8 RSpec/LetSetup: Exclude: - 'spec/jobs/complete_registration_mail_job_spec.rb' @@ -26,6 +49,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 +99,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 +125,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' diff --git a/Gemfile b/Gemfile index 5471c3e32..4423343bd 100644 --- a/Gemfile +++ b/Gemfile @@ -102,6 +102,8 @@ group :test do gem 'capybara' gem 'factory_bot_rails' gem 'rspec-rails' + gem 'rubocop-capybara' + gem 'rubocop-rspec' gem 'show_me_the_cookies' gem 'simplecov' end diff --git a/Gemfile.lock b/Gemfile.lock index 4e33ec9d8..edba0701f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -686,8 +686,10 @@ DEPENDENCIES rails-erd redcarpet rspec-rails + rubocop-capybara rubocop-govuk rubocop-performance + rubocop-rspec selenium-webdriver sentry-rails sentry-ruby From 94acf545054e4df3b100a8f5e1b0b13d78ce1dd5 Mon Sep 17 00:00:00 2001 From: Katherine Martin <78093815+martikat@users.noreply.github.com> Date: Wed, 17 Jul 2024 13:28:38 +0100 Subject: [PATCH 3/7] Update to address some rubocop errors --- .rubocop_todo.yml | 23 ------------------ spec/jobs/continue_training_mail_job_spec.rb | 14 +++++------ .../data_analysis/modules_per_month_spec.rb | 14 +++++------ .../data_analysis/resits_per_user_spec.rb | 22 ++++++++--------- .../data_analysis/role_pass_rate_spec.rb | 10 ++++---- .../data_analysis/setting_pass_rate_spec.rb | 10 ++++---- .../data_analysis/summative_quiz_spec.rb | 12 +++++----- .../user_feedback_scores_spec.rb | 24 +++++++++---------- .../data_analysis/user_overview_spec.rb | 8 +++---- .../data_analysis/users_not_passing_spec.rb | 10 ++++---- spec/models/user_spec.rb | 2 +- spec/services/calculate_module_state_spec.rb | 18 +++++++------- spec/support/shared/with_events.rb | 4 ++-- spec/system/closing_account_spec.rb | 2 +- 14 files changed, 75 insertions(+), 98 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 26dce248f..acddb50e8 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -17,29 +17,6 @@ Lint/SuppressedException: Exclude: - 'lib/tasks/cms.rake' -# Offense count: 2 -# This cop supports unsafe autocorrection (--autocorrect-all). -RSpec/BeEq: - Exclude: - - 'spec/models/user_spec.rb' - - 'spec/system/closing_account_spec.rb' - -# Offense count: 25 -# Configuration parameters: Max, AllowedIdentifiers, AllowedPatterns. -RSpec/IndexedLet: - Exclude: - - 'spec/jobs/continue_training_mail_job_spec.rb' - - 'spec/models/data_analysis/modules_per_month_spec.rb' - - 'spec/models/data_analysis/resits_per_user_spec.rb' - - 'spec/models/data_analysis/role_pass_rate_spec.rb' - - 'spec/models/data_analysis/setting_pass_rate_spec.rb' - - 'spec/models/data_analysis/summative_quiz_spec.rb' - - 'spec/models/data_analysis/user_feedback_scores_spec.rb' - - 'spec/models/data_analysis/user_overview_spec.rb' - - 'spec/models/data_analysis/users_not_passing_spec.rb' - - 'spec/services/calculate_module_state_spec.rb' - - 'spec/support/shared/with_events.rb' - # Offense count: 8 RSpec/LetSetup: Exclude: diff --git a/spec/jobs/continue_training_mail_job_spec.rb b/spec/jobs/continue_training_mail_job_spec.rb index 8203054a2..e9ad3772e 100644 --- a/spec/jobs/continue_training_mail_job_spec.rb +++ b/spec/jobs/continue_training_mail_job_spec.rb @@ -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 diff --git a/spec/models/data_analysis/modules_per_month_spec.rb b/spec/models/data_analysis/modules_per_month_spec.rb index a24d5dfc7..64cdfae0d 100644 --- a/spec/models/data_analysis/modules_per_month_spec.rb +++ b/spec/models/data_analysis/modules_per_month_spec.rb @@ -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' diff --git a/spec/models/data_analysis/resits_per_user_spec.rb b/spec/models/data_analysis/resits_per_user_spec.rb index 3323ff5cb..a4491600c 100644 --- a/spec/models/data_analysis/resits_per_user_spec.rb +++ b/spec/models/data_analysis/resits_per_user_spec.rb @@ -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' diff --git a/spec/models/data_analysis/role_pass_rate_spec.rb b/spec/models/data_analysis/role_pass_rate_spec.rb index bf5d308d4..0dae3e7ee 100644 --- a/spec/models/data_analysis/role_pass_rate_spec.rb +++ b/spec/models/data_analysis/role_pass_rate_spec.rb @@ -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' diff --git a/spec/models/data_analysis/setting_pass_rate_spec.rb b/spec/models/data_analysis/setting_pass_rate_spec.rb index 117f6f199..5088347d1 100644 --- a/spec/models/data_analysis/setting_pass_rate_spec.rb +++ b/spec/models/data_analysis/setting_pass_rate_spec.rb @@ -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' diff --git a/spec/models/data_analysis/summative_quiz_spec.rb b/spec/models/data_analysis/summative_quiz_spec.rb index f3552918d..bb6a95fd6 100644 --- a/spec/models/data_analysis/summative_quiz_spec.rb +++ b/spec/models/data_analysis/summative_quiz_spec.rb @@ -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 diff --git a/spec/models/data_analysis/user_feedback_scores_spec.rb b/spec/models/data_analysis/user_feedback_scores_spec.rb index de5476e30..226e883e2 100644 --- a/spec/models/data_analysis/user_feedback_scores_spec.rb +++ b/spec/models/data_analysis/user_feedback_scores_spec.rb @@ -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,7 +106,7 @@ # course create(:response, - user: user_1, + user: user_one, question_type: 'feedback', training_module: 'course', question_name: 'feedback-checkbox-only', @@ -114,7 +114,7 @@ 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,7 +125,7 @@ # module create(:response, - user: user_2, + user: user_two, question_type: 'feedback', training_module: 'alpha', question_name: 'feedback-radio-only', @@ -133,7 +133,7 @@ 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', @@ -141,7 +141,7 @@ 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', diff --git a/spec/models/data_analysis/user_overview_spec.rb b/spec/models/data_analysis/user_overview_spec.rb index 9d4ae4352..382a3d7ba 100644 --- a/spec/models/data_analysis/user_overview_spec.rb +++ b/spec/models/data_analysis/user_overview_spec.rb @@ -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 diff --git a/spec/models/data_analysis/users_not_passing_spec.rb b/spec/models/data_analysis/users_not_passing_spec.rb index 618effde3..90f551cbd 100644 --- a/spec/models/data_analysis/users_not_passing_spec.rb +++ b/spec/models/data_analysis/users_not_passing_spec.rb @@ -17,13 +17,13 @@ ] 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 - create :assessment, :failed, user: user_2 - create :assessment, :passed, user: user_2 + create :assessment, :failed, user: user_one + create :assessment, :failed, user: user_two + create :assessment, :passed, user: user_two end it_behaves_like 'a data export model' diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 4d4edbec5..db69bef7b 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -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 diff --git a/spec/services/calculate_module_state_spec.rb b/spec/services/calculate_module_state_spec.rb index 9861b576c..56facd8c5 100644 --- a/spec/services/calculate_module_state_spec.rb +++ b/spec/services/calculate_module_state_spec.rb @@ -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 diff --git a/spec/support/shared/with_events.rb b/spec/support/shared/with_events.rb index 82b4f1830..8207855e0 100644 --- a/spec/support/shared/with_events.rb +++ b/spec/support/shared/with_events.rb @@ -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) diff --git a/spec/system/closing_account_spec.rb b/spec/system/closing_account_spec.rb index bc6146a67..659d69263 100644 --- a/spec/system/closing_account_spec.rb +++ b/spec/system/closing_account_spec.rb @@ -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 From c99600a21dde5c8ef154fe992aa0c6df42c41114 Mon Sep 17 00:00:00 2001 From: Katherine Martin <78093815+martikat@users.noreply.github.com> Date: Mon, 22 Jul 2024 08:45:37 +0100 Subject: [PATCH 4/7] Update spec --- .../data_analysis/users_not_passing_spec.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spec/models/data_analysis/users_not_passing_spec.rb b/spec/models/data_analysis/users_not_passing_spec.rb index bd3d8c41a..051497410 100644 --- a/spec/models/data_analysis/users_not_passing_spec.rb +++ b/spec/models/data_analysis/users_not_passing_spec.rb @@ -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' From 750dec4ebea14bd206deae6bc964f56f1cf59814 Mon Sep 17 00:00:00 2001 From: Katherine Martin <78093815+martikat@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:22:12 +0100 Subject: [PATCH 5/7] Rubocop yml update --- .rubocop.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.rubocop.yml b/.rubocop.yml index 518eb4cc6..f3c390f09 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -12,6 +12,7 @@ inherit_mode: - Exclude require: + - rubocop-factory_bot - rubocop-performance - rubocop-rspec - rubocop-capybara From 79b6e914698306caeb372f2020a9e746e39f86bc Mon Sep 17 00:00:00 2001 From: Katherine Martin <78093815+martikat@users.noreply.github.com> Date: Wed, 24 Jul 2024 10:31:58 +0100 Subject: [PATCH 6/7] Gemfile update --- Gemfile | 1 + Gemfile.lock | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Gemfile b/Gemfile index df23fe39b..34f9559e7 100644 --- a/Gemfile +++ b/Gemfile @@ -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 diff --git a/Gemfile.lock b/Gemfile.lock index 5715d469c..14a7c8cec 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -506,6 +506,8 @@ GEM parser (>= 3.3.1.0) rubocop-capybara (2.21.0) rubocop (~> 1.41) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) rubocop-govuk (5.0.2) rubocop (= 1.64.1) rubocop-ast (= 1.31.3) @@ -676,6 +678,7 @@ DEPENDENCIES redcarpet rspec-rails rubocop-capybara + rubocop-factory_bot rubocop-govuk rubocop-performance rubocop-rspec From 61c504b896a986574547c7a66937874c40301c63 Mon Sep 17 00:00:00 2001 From: Katherine Martin <78093815+martikat@users.noreply.github.com> Date: Fri, 26 Jul 2024 09:52:58 +0100 Subject: [PATCH 7/7] Gemfile update --- Gemfile | 2 -- Gemfile.lock | 2 -- 2 files changed, 4 deletions(-) diff --git a/Gemfile b/Gemfile index 34f9559e7..16515beb1 100644 --- a/Gemfile +++ b/Gemfile @@ -104,8 +104,6 @@ group :test do gem 'capybara' gem 'factory_bot_rails' gem 'rspec-rails' - gem 'rubocop-capybara' - gem 'rubocop-rspec' gem 'show_me_the_cookies' gem 'simplecov' end diff --git a/Gemfile.lock b/Gemfile.lock index 14a7c8cec..e8473f7a5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -677,11 +677,9 @@ DEPENDENCIES rails-erd redcarpet rspec-rails - rubocop-capybara rubocop-factory_bot rubocop-govuk rubocop-performance - rubocop-rspec sentry-rails sentry-ruby show_me_the_cookies