Skip to content

Commit 42b941c

Browse files
committed
Changes cleanup
1 parent 7cfeae1 commit 42b941c

File tree

5 files changed

+27
-16
lines changed

5 files changed

+27
-16
lines changed

lib/cypress_on_rails/configuration.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class Configuration
99
attr_accessor :use_vcr_use_cassette_middleware
1010
attr_accessor :before_request
1111
attr_accessor :logger
12-
attr_accessor :vcr_use_cassette_mode
12+
attr_accessor :vcr_record_mode
1313

1414
# Attributes for backwards compatibility
1515
def cypress_folder
@@ -37,7 +37,7 @@ def reset
3737
self.use_vcr_use_cassette_middleware = false
3838
self.before_request = -> (request) {}
3939
self.logger = Logger.new(STDOUT)
40-
self.vcr_use_cassette_mode = :new_episodes
40+
self.vcr_record_mode = :new_episodes
4141
end
4242

4343
def tagged_logged

lib/cypress_on_rails/vcr/use_cassette_middleware.rb

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,38 @@ def initialize(app, vcr = nil)
1010
end
1111

1212
def call(env)
13-
vcr_initialized = vcr_defined? &&
14-
VCR.configuration.cassette_library_dir.present? &&
15-
VCR.configuration.cassette_library_dir != cassette_library_dir
16-
return @app.call(env) if vcr_initialized
13+
return @app.call(env) if should_not_use_vcr?
1714

15+
initialize_vcr
16+
handle_request_with_vcr(env)
17+
end
18+
19+
private
20+
21+
def vcr_defined?
22+
defined?(VCR) != nil
23+
end
24+
25+
def should_not_use_vcr?
26+
vcr_defined? &&
27+
VCR.configuration.cassette_library_dir.present? &&
28+
VCR.configuration.cassette_library_dir != cassette_library_dir
29+
end
30+
31+
def initialize_vcr
1832
WebMock.enable! if defined?(WebMock)
1933
vcr.turn_on!
34+
end
35+
36+
def handle_request_with_vcr(env)
2037
request = Rack::Request.new(env)
2138
cassette_name = fetch_request_cassette(request)
22-
vcr.use_cassette(cassette_name, { record: configuration.vcr_use_cassette_mode }) do
39+
vcr.use_cassette(cassette_name, { record: configuration.vcr_record_mode }) do
2340
logger.info "Handle request with cassette name: #{cassette_name}"
2441
@app.call(env)
2542
end
2643
end
2744

28-
private
29-
30-
def vcr_defined?
31-
defined?(VCR) != nil
32-
end
33-
3445
def fetch_request_cassette(request)
3546
if request.path.start_with?('/graphql') && request.params.key?('operation')
3647
"#{request.path}/#{request.params['operation']}"

lib/generators/cypress_on_rails/templates/config/initializers/cypress_on_rails.rb.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ if defined?(CypressOnRails)
88
<% unless options.experimental %># <% end %> c.use_vcr_middleware = !Rails.env.production?
99
# Use this if you want to use use_cassette wrapper instead of manual insert/eject
1010
# c.use_vcr_use_cassette_middleware = !Rails.env.production?
11-
# c.vcr_use_cassette_mode = :once # Use to choose VCR record mode (:new_episodes by default)
11+
# c.vcr_record_mode = :once # Use to choose VCR record mode
1212
c.logger = Rails.logger
1313

1414
# If you want to enable a before_request logic, such as authentication, logging, sending metrics, etc.

lib/generators/cypress_on_rails/templates/spec/cypress/support/on-rails.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Cypress.Commands.add('appFixtures', function (options) {
4747
// The next is optional
4848
// beforeEach(() => {
4949
// cy.app('clean') // have a look at cypress/app_commands/clean.rb
50-
// cy.mockGraphQL() // for GraphQL usage, see cypress/support/commands.rb
50+
// cy.mockGraphQL() // for GraphQL usage with use_cassette, see cypress/support/commands.rb
5151
// });
5252

5353
// comment this out if you do not want to attempt to log additional info on test fail

spec/cypress_on_rails/vcr/use_cassette_middleware_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def rack_input(json_value)
3131
end
3232

3333
it 'returns the application response using default request path cassette' do
34-
allow(CypressOnRails).to receive(:configuration).and_return(double(vcr_use_cassette_mode: :once,
34+
allow(CypressOnRails).to receive(:configuration).and_return(double(vcr_record_mode: :once,
3535
logger: Logger.new(nil)))
3636
env['PATH_INFO'] = '/test/path'
3737

0 commit comments

Comments
 (0)