# frozen_string_literal: true
require "simplecov"
SimpleCov.start do
add_filter "/test/"
enable_coverage :branch
end
require "em_promise"
require "fiber"
require "minitest/autorun"
require "rantly/minitest_extensions"
require "webmock/minitest"
begin
require "pry-rescue/minitest"
require "pry-reload"
rescue LoadError
# Just helpers for dev, no big deal if missing
nil
end
CONFIG = {
sgx: "sgx",
component: {
jid: "component"
},
plans: [
{
name: "test_usd",
currency: :USD
},
{
name: "test_bad_currency",
currency: :BAD
}
],
braintree: {
merchant_accounts: {
USD: "merchant_usd"
}
}
}.freeze
BLATHER = Class.new {
def <<(*); end
}.new.freeze
module Minitest
class Test
def self.property(m, &block)
define_method("test_#{m}") do
property_of(&block).check { |args| send(m, *args) }
end
end
def self.em(m)
alias_method "raw_#{m}", m
define_method(m) do
EM.run do
Fiber.new {
begin
send("raw_#{m}")
ensure
EM.stop
end
}.resume
end
end
end
end
end