2018-04-20 20:31:30 +03:00
|
|
|
require 'rspec/retry'
|
2016-02-25 01:17:01 +02:00
|
|
|
require 'simplecov'
|
|
|
|
|
2017-08-24 14:31:55 +03:00
|
|
|
GC.disable
|
|
|
|
|
2016-02-25 01:17:01 +02:00
|
|
|
SimpleCov.start 'rails' do
|
2017-04-13 17:00:31 +03:00
|
|
|
add_group 'Services', 'app/services'
|
|
|
|
add_group 'Presenters', 'app/presenters'
|
|
|
|
add_group 'Validators', 'app/validators'
|
2016-02-25 01:17:01 +02:00
|
|
|
end
|
|
|
|
|
2017-08-24 14:31:55 +03:00
|
|
|
gc_counter = -1
|
|
|
|
|
2016-02-25 01:17:01 +02:00
|
|
|
RSpec.configure do |config|
|
2018-04-20 20:31:30 +03:00
|
|
|
config.verbose_retry = true
|
|
|
|
config.display_try_failure_messages = true
|
|
|
|
|
2016-02-25 01:17:01 +02:00
|
|
|
config.expect_with :rspec do |expectations|
|
|
|
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
|
|
|
end
|
|
|
|
|
|
|
|
config.mock_with :rspec do |mocks|
|
|
|
|
mocks.verify_partial_doubles = true
|
2017-04-16 04:40:33 +03:00
|
|
|
|
|
|
|
config.around(:example, :without_verify_partial_doubles) do |example|
|
|
|
|
mocks.verify_partial_doubles = false
|
|
|
|
example.call
|
|
|
|
mocks.verify_partial_doubles = true
|
|
|
|
end
|
2016-02-25 01:17:01 +02:00
|
|
|
end
|
2016-09-05 18:46:36 +03:00
|
|
|
|
2018-04-20 20:31:30 +03:00
|
|
|
config.around :each do |ex|
|
|
|
|
ex.run_with_retry retry: 3
|
|
|
|
end
|
|
|
|
|
2018-02-10 00:04:47 +02:00
|
|
|
config.before :suite do
|
|
|
|
Chewy.strategy(:bypass)
|
|
|
|
end
|
|
|
|
|
2017-01-29 13:25:10 +02:00
|
|
|
config.after :suite do
|
2017-08-24 14:31:55 +03:00
|
|
|
gc_counter = 0
|
2016-09-05 18:46:36 +03:00
|
|
|
FileUtils.rm_rf(Dir["#{Rails.root}/spec/test_files/"])
|
|
|
|
end
|
2017-08-24 14:31:55 +03:00
|
|
|
|
|
|
|
config.after :each do
|
|
|
|
gc_counter += 1
|
|
|
|
|
|
|
|
if gc_counter > 19
|
|
|
|
GC.enable
|
|
|
|
GC.start
|
|
|
|
GC.disable
|
|
|
|
|
|
|
|
gc_counter = 0
|
|
|
|
end
|
|
|
|
end
|
2016-09-05 18:46:36 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
def body_as_json
|
|
|
|
json_str_to_hash(response.body)
|
|
|
|
end
|
|
|
|
|
|
|
|
def json_str_to_hash(str)
|
2016-09-21 23:07:18 +03:00
|
|
|
JSON.parse(str, symbolize_names: true)
|
2016-02-25 01:17:01 +02:00
|
|
|
end
|