mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
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:
parent
0104671e01
commit
7dbe2d19fe
5 changed files with 5 additions and 32 deletions
1
.github/workflows/spec.yml
vendored
1
.github/workflows/spec.yml
vendored
|
|
@ -41,6 +41,7 @@ jobs:
|
|||
rm -f osem_test osem_development
|
||||
bundle exec rake db:setup --trace
|
||||
bundle exec bin/rails webdrivers:chromedriver:update
|
||||
bundle exec rake factory_bot:lint RAILS_ENV=test
|
||||
- name: spec/${{ matrix.suite }}
|
||||
run: bundle exec rake spec:${{ matrix.suite }}
|
||||
- name: coverage upload ${{ matrix.suite }}
|
||||
|
|
|
|||
|
|
@ -115,10 +115,6 @@
|
|||
# SKYLIGHT_AUTHENTICATION=1234
|
||||
# SKYLIGHT_PUBLIC_DASHBOARD_URL='https://oss.skylight.io/app/applications/xxxxxxxxxxxx'
|
||||
|
||||
# Disable linting of factories in the test suite.
|
||||
# Speeds up turn around times of tests
|
||||
# OSEM_FACTORY_LINT=false
|
||||
|
||||
# How should browser tests be performed?
|
||||
# For headless Chrome (default):
|
||||
# OSEM_TEST_DRIVER=chrome_headless
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ namespace :data do
|
|||
dot_env.puts "OSEM_ICHAIN_ENABLED=\"#{CONFIG['authentication']['ichain']['enabled']}\"" if CONFIG.has_key?(:authentication)
|
||||
dot_env.puts "OSEM_TRANSIFEX_APIKEY=\"#{CONFIG['transifex_live_api_key']}\""
|
||||
dot_env.puts "OSEM_ERRBIT_HOST=\"#{CONFIG['errbit_host']}\""
|
||||
dot_env.puts "OSEM_FACTORY_LINT=\"#{CONFIG['factory_bot_lint']}\""
|
||||
dot_env.puts "OSEM_SMTP_ADDRESS=\"#{CONFIG['mail_address']}\""
|
||||
dot_env.puts "OSEM_SMTP_PORT=\"#{CONFIG['mail_port']}\""
|
||||
dot_env.puts "OSEM_SMTP_USERNAME=\"#{CONFIG['mail_username']}\""
|
||||
|
|
|
|||
|
|
@ -1,20 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require_relative 'external_request'
|
||||
|
||||
RSpec.configure do |config|
|
||||
|
||||
config.before(:suite) do
|
||||
if ENV['OSEM_FACTORY_LINT'] != 'false'
|
||||
DatabaseCleaner.strategy = :transaction
|
||||
DatabaseCleaner.clean_with(:truncation)
|
||||
begin
|
||||
DatabaseCleaner.start
|
||||
mock_commercial_request
|
||||
FactoryBot.lint
|
||||
ensure
|
||||
DatabaseCleaner.clean
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue