# Configure Rails Envinronment ENV["RAILS_ENV"] = "test" require 'active_support' require "simplecov" SimpleCov.start do add_filter 'spec' add_group 'Library', 'lib' add_group 'App', 'app' at_exit do; end end require File.expand_path("../dummy/config/environment.rb", __FILE__) require "rails/test_help" require "rspec/rails" require 'rspec/autorun' require "pry" require "savon" require 'wash_out' Rails.backtrace_cleaner.remove_silencers! # Load support files Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } RSpec.configure do |config| require 'rspec/expectations' config.include RSpec::Matchers config.mock_with :rspec config.before(:all) do WashoutBuilder::Engine.config.wash_out = { snakecase_input: false, camelize_wsdl: false, namespace: false } end config.after(:suite) do if SimpleCov.running silence_stream(STDOUT) do SimpleCov::Formatter::HTMLFormatter.new.format(SimpleCov.result) end SimpleCov::Formatter::SummaryFormatter.new.format(SimpleCov.result) end end end HTTPI.logger = Logger.new(open("/dev/null", 'w')) HTTPI.adapter = :rack HTTPI::Adapter::Rack.mount 'app', Dummy::Application Dummy::Application.routes.draw do wash_out :api end def mock_controller(options = {}, &block) Object.send :remove_const, :ApiController if defined?(ApiController) Object.send :const_set, :ApiController, Class.new(ApplicationController) { soap_service options.reverse_merge({ snakecase_input: true, camelize_wsdl: true, namespace: false }) class_exec &block if block } ActiveSupport::Dependencies::Reference.instance_variable_get(:'@store').delete('ApiController') end