Class: Hoboken::AddOns::Vcr

Inherits:
Group
  • Object
show all
Defined in:
lib/hoboken/add_ons/vcr.rb

Overview

Record your test suiteā€™s HTTP interactions and replay them during future test runs.

Instance Method Summary collapse

Methods inherited from Group

#classic?, #modular?, #rspec?, #rubocop?, #sequel?, source_root

Methods included from Hoboken::Actions

#gem, #indent

Instance Method Details

#add_directoriesObject



14
15
16
# File 'lib/hoboken/add_ons/vcr.rb', line 14

def add_directories
  empty_directory(File.join(location, 'fixtures', 'vcr_cassettes'))
end

#add_gemsObject



9
10
11
12
# File 'lib/hoboken/add_ons/vcr.rb', line 9

def add_gems
  gem 'vcr', version: '6.0', group: :test
  gem 'webmock', version: '3.13', group: :test
end

#add_setup_fileObject



18
19
20
21
22
23
# File 'lib/hoboken/add_ons/vcr.rb', line 18

def add_setup_file
  template(
    'hoboken/templates/vcr_setup.rb.tt',
    File.join(location, 'support/vcr_setup.rb')
  )
end

#remindersObject



43
44
45
# File 'lib/hoboken/add_ons/vcr.rb', line 43

def reminders
  say "Gemfile updated... don't forget to 'bundle install'", :green
end

#require_vcr_in_spec_helperObject



34
35
36
37
38
39
40
41
# File 'lib/hoboken/add_ons/vcr.rb', line 34

def require_vcr_in_spec_helper
  return unless rspec?

  snippet_location = "require 'support/rack_helpers'"
  insert_into_file('spec/spec_helper.rb', after: snippet_location) do
    "\nrequire 'support/vcr_setup'"
  end
end

#require_vcr_in_test_helperObject



25
26
27
28
29
30
31
32
# File 'lib/hoboken/add_ons/vcr.rb', line 25

def require_vcr_in_test_helper
  return if rspec?

  snippet_location = "require_relative 'support/rack_helpers'"
  insert_into_file('test/test_helper.rb', after: snippet_location) do
    "\nrequire_relative 'support/vcr_setup'"
  end
end