spec/spec_helper.rb (34 lines of code) (raw):
# frozen_string_literal: true
require 'webmock/rspec'
require 'rack/test'
require 'active_support/time_with_zone'
require 'active_support/values/time_zone'
require 'active_support/core_ext/time/zones'
require 'simplecov'
require 'simplecov-material'
# debug utils
require 'pry'
require 'pry-nav'
Dir['./spec/support/**/*.rb'].sort.each { |f| require f }
# Eneable coverage report
SimpleCov.add_filter('spec')
SimpleCov.formatter = SimpleCov::Formatter::MaterialFormatter
SimpleCov.start
$LOAD_PATH << '../lib'
def connectors_fixture_path(fixture_name)
File.join('spec/fixtures', fixture_name)
end
def connectors_fixture_raw(fixture_name)
File.read(connectors_fixture_path(fixture_name), :encoding => 'utf-8')
end
def connectors_fixture_binary(fixture_name)
File.read(connectors_fixture_path(fixture_name), :mode => 'rb')
end
def connectors_fixture_json(fixture_name)
JSON.parse(connectors_fixture_raw(fixture_name))
end
def get_class_specific_private_methods(klass)
(klass.private_methods - Object.private_methods).sort
end
def random_string
SecureRandom.hex
end
Time.zone = ActiveSupport::TimeZone.new('UTC')
ENV['APP_ENV'] = 'test'