1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/test/test_worker_generator.rb
Luiz Felipe G. Pereira bb8871e3d1 Follow generator configuration to determine the resulting test file (#4371)
Verifying that `RSpec` is defined assumes that the library is loaded on
the same environment that the generator is running.

It is often common to not have the rspec gem required on development,
which is the default environment to run the generator from.

Following the configured generator removes the assumption and works as
expected without breaking expectations.
2019-11-11 10:37:39 -08:00

56 lines
1.6 KiB
Ruby

# frozen_string_literal: true
require_relative 'helper'
require_relative 'dummy/config/environment'
require 'rails/generators/test_case'
require 'generators/sidekiq/worker_generator'
class WorkerGeneratorTest < Rails::Generators::TestCase
tests Sidekiq::Generators::WorkerGenerator
destination File.expand_path('../../tmp', __FILE__)
setup :prepare_destination
test 'all files are properly created' do
run_generator ['foo']
assert_file 'app/workers/foo_worker.rb'
assert_file 'test/workers/foo_worker_test.rb'
end
test 'gracefully handles extra worker suffix' do
run_generator ['foo_worker']
assert_no_file 'app/workers/foo_worker_worker.rb'
assert_no_file 'test/workers/foo_worker_worker_test.rb'
assert_file 'app/workers/foo_worker.rb'
assert_file 'test/workers/foo_worker_test.rb'
end
test 'respects rails config test_framework option' do
Rails.application.config.generators do |g|
g.test_framework false
end
run_generator ['foo']
assert_file 'app/workers/foo_worker.rb'
assert_no_file 'test/workers/foo_worker_test.rb'
ensure
Rails.application.config.generators do |g|
g.test_framework :test_case
end
end
test 'respects rails config test_framework option for rspec' do
Rails.application.config.generators do |g|
g.test_framework :rspec
end
run_generator ['foo']
assert_file 'app/workers/foo_worker.rb'
assert_file 'spec/workers/foo_worker_spec.rb'
ensure
Rails.application.config.generators do |g|
g.test_framework :test_case
end
end
end