Move factory linting to CI cycle

No need to do this before each and every spec or example. Speeds
up suite and make things less fragile.
This commit is contained in:
Henne Vogelsang 2021-08-18 14:05:19 +02:00
parent 0104671e01
commit 7dbe2d19fe
No known key found for this signature in database
GPG key ID: 97DDB66BDAF8D4D6
5 changed files with 5 additions and 32 deletions

View file

@ -1,17 +1,14 @@
# frozen_string_literal: true
namespace :factory_bot do
desc "Verify that all FactoryBot factories are valid"
task lint: :environment do
if Rails.env.test?
begin
DatabaseCleaner.start
conn = ActiveRecord::Base.connection
conn.transaction do
FactoryBot.lint
ensure
DatabaseCleaner.clean
raise ActiveRecord::Rollback
end
else
system("bundle exec rake factory_bot:lint RAILS_ENV='test'")
raise "\nERROR: You should not run this outside the test environment...\n\n"
end
end
end