Avoid db:dev_seed log print when run from its test
The db:dev_seed rake logs info as it progresses as information for the developer. But that's not needed when ran from its tests file, and it bloats the travis/rspec output with unnecessary information. Now the task will always log info unless the rake task receives an optional argument.
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
require 'database_cleaner'
|
||||
DatabaseCleaner.clean_with :truncation
|
||||
@logger = Logger.new(STDOUT)
|
||||
@logger.formatter = proc { |_severity, _datetime, _progname, msg| msg }
|
||||
@logger.formatter = proc do |_severity, _datetime, _progname, msg|
|
||||
msg unless @avoid_log
|
||||
end
|
||||
|
||||
def section(section_title)
|
||||
@logger.info section_title
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
namespace :db do
|
||||
desc "Resets the database and loads it from db/dev_seeds.rb"
|
||||
task dev_seed: :environment do
|
||||
task :dev_seed, [:print_log] => [:environment] do |t, args|
|
||||
@avoid_log = args[:print_log] == "avoid_log"
|
||||
load(Rails.root.join("db", "dev_seeds.rb"))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5,7 +5,7 @@ Rake.application.rake_require('tasks/db')
|
||||
|
||||
describe 'rake db:dev_seed' do
|
||||
let :run_rake_task do
|
||||
Rake.application.invoke_task('db:dev_seed')
|
||||
Rake.application.invoke_task('db:dev_seed[avoid_log]')
|
||||
end
|
||||
|
||||
it 'seeds the database without errors' do
|
||||
|
||||
Reference in New Issue
Block a user