Class: Suspenders::TestingGenerator

Inherits:
Generators::Base show all
Defined in:
lib/suspenders/generators/testing_generator.rb

Instance Method Summary collapse

Methods inherited from Generators::Base

default_source_root

Methods included from Actions

#action_mailer_asset_host, #action_mailer_host, #configure_environment, #expand_json, #replace_in_file

Instance Method Details

#add_helpers_for_rspecObject



47
48
49
# File 'lib/suspenders/generators/testing_generator.rb', line 47

def add_helpers_for_rspec
  copy_file 'queries_helper_rspec.rb', 'spec/support/queries_helper.rb'
end

#add_testing_gemsObject



5
6
7
8
9
10
# File 'lib/suspenders/generators/testing_generator.rb', line 5

def add_testing_gems
  gem "rspec-rails", "~> 3.8", group: %i(development test)
  gem "shoulda-matchers", group: :test

  Bundler.with_clean_env { run "bundle install" }
end

#configure_action_mailer_in_specsObject



39
40
41
# File 'lib/suspenders/generators/testing_generator.rb', line 39

def configure_action_mailer_in_specs
  copy_file "action_mailer.rb", "spec/support/action_mailer.rb"
end

#configure_i18n_for_test_environmentObject



35
36
37
# File 'lib/suspenders/generators/testing_generator.rb', line 35

def configure_i18n_for_test_environment
  copy_file "i18n.rb", "spec/support/i18n.rb"
end

#configure_rspecObject



16
17
18
19
20
21
# File 'lib/suspenders/generators/testing_generator.rb', line 16

def configure_rspec
  remove_file "spec/rails_helper.rb"
  remove_file "spec/spec_helper.rb"
  copy_file "rails_helper.rb", "spec/rails_helper.rb"
  copy_file "spec_helper.rb", "spec/spec_helper.rb"
end

#configure_system_testsObject



30
31
32
33
# File 'lib/suspenders/generators/testing_generator.rb', line 30

def configure_system_tests
  empty_directory_with_keep_file "spec/system"
  empty_directory_with_keep_file "spec/support/system"
end

#create_binstubsObject



43
44
45
# File 'lib/suspenders/generators/testing_generator.rb', line 43

def create_binstubs
  Bundler.with_clean_env { run "bundle binstubs rspec-core" }
end

#generate_rspecObject



12
13
14
# File 'lib/suspenders/generators/testing_generator.rb', line 12

def generate_rspec
  generate "rspec:install"
end

#provide_shoulda_matchers_configObject



23
24
25
26
27
28
# File 'lib/suspenders/generators/testing_generator.rb', line 23

def provide_shoulda_matchers_config
  copy_file(
    "shoulda_matchers_config_rspec.rb",
    "spec/support/shoulda_matchers.rb",
  )
end