# frozen_string_literal: true namespace :active_mocker do

desc("Rebuild mocks.")
task build: :environment do
  ActiveMocker.configure do |c|
    c.single_model_path             = ENV["MODEL"] if ENV["MODEL"]
    c.model_dir                     = ENV["MODEL_DIR"] if ENV["MODEL_DIR"]
    c.mock_dir                      = ENV["MOCK_DIR"] if ENV["MOCK_DIR"]
    c.progress_bar                  = false if ENV["MUTE_PROGRESS_BAR"]
    c.error_verbosity               = ENV["ERROR_VERBOSITY"].to_i if ENV["ERROR_VERBOSITY"]
    c.disable_modules_and_constants = false
  end.create_mocks
end

desc("Run all tests tagged   active_mocker")
task :test do
  sh "rspec --tag active_mocker"
end

desc("Run all tests tagged active_mocker and rails_compatible and will disable model stubbing")
task :rails_compatible do
  sh "RUN_WITH_RAILS=1 rspec --tag rails_compatible"
end

end

[“db:migrate”, “db:rollback”].each do |task|

Rake::Task[task].enhance do
  Rake::Task["active_mocker:build"].invoke
end

end