64 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'rspec/retry'
 | |
| require 'simplecov'
 | |
| 
 | |
| GC.disable
 | |
| 
 | |
| SimpleCov.start 'rails' do
 | |
|   add_group 'Services', 'app/services'
 | |
|   add_group 'Presenters', 'app/presenters'
 | |
|   add_group 'Validators', 'app/validators'
 | |
| end
 | |
| 
 | |
| gc_counter = -1
 | |
| 
 | |
| RSpec.configure do |config|
 | |
|   config.verbose_retry = true
 | |
|   config.display_try_failure_messages = true
 | |
| 
 | |
|   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
 | |
| 
 | |
|     config.around(:example, :without_verify_partial_doubles) do |example|
 | |
|       mocks.verify_partial_doubles = false
 | |
|       example.call
 | |
|       mocks.verify_partial_doubles = true
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   config.around :each do |ex|
 | |
|     ex.run_with_retry retry: 3
 | |
|   end
 | |
| 
 | |
|   config.before :suite do
 | |
|     Chewy.strategy(:bypass)
 | |
|   end
 | |
| 
 | |
|   config.after :suite do
 | |
|     gc_counter = 0
 | |
|     FileUtils.rm_rf(Dir["#{Rails.root}/spec/test_files/"])
 | |
|   end
 | |
| 
 | |
|   config.after :each do
 | |
|     gc_counter += 1
 | |
| 
 | |
|     if gc_counter > 19
 | |
|       GC.enable
 | |
|       GC.start
 | |
|       GC.disable
 | |
| 
 | |
|       gc_counter = 0
 | |
|     end
 | |
|   end
 | |
| end
 | |
| 
 | |
| def body_as_json
 | |
|   json_str_to_hash(response.body)
 | |
| end
 | |
| 
 | |
| def json_str_to_hash(str)
 | |
|   JSON.parse(str, symbolize_names: true)
 | |
| end
 |