mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
bb8871e3d1
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.
56 lines
1.6 KiB
Ruby
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
|