From 6d284023fe73001e748416004a9c09f9a7ecb748 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 29 Aug 2025 16:47:27 +1000 Subject: [PATCH] Configure rake specs in one place So we don't have to add it to every rake spec file. --- spec/base_spec_helper.rb | 6 ++++++ spec/lib/tasks/data/truncate_data_rake_spec.rb | 2 -- spec/lib/tasks/enterprises_rake_spec.rb | 2 -- spec/lib/tasks/import_product_images_rake_spec.rb | 2 -- spec/lib/tasks/reset_spec.rb | 2 -- spec/lib/tasks/sample_data_rake_spec.rb | 2 -- spec/lib/tasks/simplecov_spec.rb | 2 -- spec/lib/tasks/users_rake_spec.rb | 2 -- spec/support/shared_contexts/rake.rb | 9 +-------- 9 files changed, 7 insertions(+), 22 deletions(-) diff --git a/spec/base_spec_helper.rb b/spec/base_spec_helper.rb index 830ea0c21d..bf4e619597 100644 --- a/spec/base_spec_helper.rb +++ b/spec/base_spec_helper.rb @@ -145,6 +145,10 @@ RSpec.configure do |config| config.default_formatter = "doc" end + config.define_derived_metadata(file_path: %r{/spec/lib/tasks/}) do |metadata| + metadata[:type] = :rake + end + # Reset locale for all specs. config.around(:each) do |example| locale = ENV.fetch('LOCALE', 'en_TST') @@ -245,6 +249,8 @@ RSpec.configure do |config| # You can use `rspec -n` to run only failed specs. config.example_status_persistence_file_path = "tmp/rspec-status.txt" + config.include_context "rake", type: :rake + # Helpers config.include FactoryBot::Syntax::Methods config.include JsonSpec::Helpers diff --git a/spec/lib/tasks/data/truncate_data_rake_spec.rb b/spec/lib/tasks/data/truncate_data_rake_spec.rb index 87a13616e5..0df9bc3ca8 100644 --- a/spec/lib/tasks/data/truncate_data_rake_spec.rb +++ b/spec/lib/tasks/data/truncate_data_rake_spec.rb @@ -3,8 +3,6 @@ require 'spec_helper' RSpec.describe 'truncate_data.rake' do - include_context "rake" - describe ':truncate' do context 'when months_to_keep is specified' do it 'truncates order cycles closed earlier than months_to_keep months ago' do diff --git a/spec/lib/tasks/enterprises_rake_spec.rb b/spec/lib/tasks/enterprises_rake_spec.rb index 89330dd47f..5c60e7efb6 100644 --- a/spec/lib/tasks/enterprises_rake_spec.rb +++ b/spec/lib/tasks/enterprises_rake_spec.rb @@ -3,8 +3,6 @@ require 'spec_helper' RSpec.describe 'enterprises.rake' do - include_context "rake" - describe ':remove_enterprise' do context 'when the enterprises exists' do it 'removes the enterprise' do diff --git a/spec/lib/tasks/import_product_images_rake_spec.rb b/spec/lib/tasks/import_product_images_rake_spec.rb index 0e3ad6646f..244910f110 100644 --- a/spec/lib/tasks/import_product_images_rake_spec.rb +++ b/spec/lib/tasks/import_product_images_rake_spec.rb @@ -3,8 +3,6 @@ require 'spec_helper' RSpec.describe 'ofn:import:product_images' do - include_context "rake" - describe 'task' do context "filename is blank" do it 'raises an error' do diff --git a/spec/lib/tasks/reset_spec.rb b/spec/lib/tasks/reset_spec.rb index 43243e03ed..8212722613 100644 --- a/spec/lib/tasks/reset_spec.rb +++ b/spec/lib/tasks/reset_spec.rb @@ -3,8 +3,6 @@ require 'spec_helper' RSpec.describe "reset.rake" do - include_context "rake" - it "clears job queues" do job_class = Class.new do include Sidekiq::Job diff --git a/spec/lib/tasks/sample_data_rake_spec.rb b/spec/lib/tasks/sample_data_rake_spec.rb index 6cb9d509f4..1da5ee4ccd 100644 --- a/spec/lib/tasks/sample_data_rake_spec.rb +++ b/spec/lib/tasks/sample_data_rake_spec.rb @@ -3,8 +3,6 @@ require 'spec_helper' RSpec.describe 'sample_data.rake' do - include_context "rake" - before do # Create seed data required by the sample data. create(:user) diff --git a/spec/lib/tasks/simplecov_spec.rb b/spec/lib/tasks/simplecov_spec.rb index e93b6324b7..6cac5d58d4 100644 --- a/spec/lib/tasks/simplecov_spec.rb +++ b/spec/lib/tasks/simplecov_spec.rb @@ -3,8 +3,6 @@ require 'spec_helper' RSpec.describe "simplecov.rake" do - include_context "rake" - describe "simplecov:collate_results" do context "when there are reports to merge" do let(:input_dir) { Rails.root.join("spec/fixtures/simplecov") } diff --git a/spec/lib/tasks/users_rake_spec.rb b/spec/lib/tasks/users_rake_spec.rb index b5b2b623e5..0de7f80daf 100644 --- a/spec/lib/tasks/users_rake_spec.rb +++ b/spec/lib/tasks/users_rake_spec.rb @@ -4,8 +4,6 @@ require 'spec_helper' require 'rake' RSpec.describe 'users.rake' do - include_context "rake" - describe ':remove_enterprise_limit' do context 'when the user exists' do let(:user) { create(:user) } diff --git a/spec/support/shared_contexts/rake.rb b/spec/support/shared_contexts/rake.rb index cf77333baa..0a0cc9789c 100644 --- a/spec/support/shared_contexts/rake.rb +++ b/spec/support/shared_contexts/rake.rb @@ -1,13 +1,6 @@ # frozen_string_literal: true -# Let this context take care of Rake testing gotchas. -# -# ```rb -# RSpec.describe "my_task.rake" do -# include_context "rake" -# # .. -# ``` -# +# A shared context for all rake specs shared_context "rake" do before(:all) do # Make sure that Rake tasks are only loaded once.